tensorflowや, kerasを使用するには,色々とバージョン関係が難しいことがわかりました(eg. 昨日の投稿でPythonのver. 3.8を入れたら,Kerasは動かないと警告が出てしまった).
調べてみたところ,以下のバージョンであれば動くとのことなので,改めてインストールを行ってみました.
- Python 3.6
- Tensorflow(gpu版)2.0.0
- MSVC 2017
- CuDNN 7.4
- CUDA 10.0
- TensorFlow, CUDA
tensorflowや, kerasを使用するには,色々とバージョン関係が難しいことがわかりました(eg. 昨日の投稿でPythonのver. 3.8を入れたら,Kerasは動かないと警告が出てしまった).
調べてみたところ,以下のバージョンであれば動くとのことなので,改めてインストールを行ってみました.
注:以下の手順でminicondaをインストールすることは可能ですが,TensorflowやKerasを利用する場合にはバージョンの問題が生じる可能性があります.現段階(2020.12.01)ではPython3.8ではKerasをインストールしようとすると,ver3.8では動かないという警告が出ました.
Windows10にminicondaをインストールした際のメモです.
MinicondaはAnacondaに比べてライブラリーの少なく,最小限の状態と言える環境設定です.以前はAnacondaをインストールしていたのですが,若干問題が発生したので,Anacondaをアンインストールして,Minicondaをインストールすることにしました.
1. Windowsのminicondaインストーラの入手
Minicondaのサイトから,Python3.8, 64bitOSのインストーラーを選択しました(当然,自分のシステムに合うものを選択します).
2. インストールの開始
ダウンロードしたminicondaインストーラをダブルクリックして起動させます.
Next >をクリックします.
I Agreeをクリックします.
Just Me(recommended)を選択してNext >をクリックします.
minicondaのインストール先を指定して,Next >をクリックします(特に必要がなければデフォルトのままで).以下の画像のモザイク部分はインストール先が記載されている場所です.
Register Miniconda3 as my default Python 3.8を選択(デフォルト)して,Next >をクリック
Next >をクリックして,インストール完了.
3. Minicondaがインストールされていることを確認
スタートメニューには,以下のように"Anaconda3 (64-bit)というフォルダとAnaconda Powershell Prompt (miniconda3),Anaconda Prompt (miniconda3)の二つのショートカットが表示されるはずです.
囲碁ディープラーニングプログラミング(原書:Deep Learning and the Game of Go)を読んでみた際のメモです.囲碁ディープラーニングプログラミングの 第I部 第3章では,Pythonによる囲碁ゲームの実装( dlgo と呼ばれるモジュールを段階的に構築して,Python上で囲碁ゲームを表現する)が始まります.
Python(3.x)でWebデータの送受信を行う際には requests モジュールを使用します.Requests モジュールはデフォルトでは入っていないので,必要に応じてインストールする必要があります.
インストール方法は以下のようになります.
% pip3 install requests
Collecting requests
Downloading requests-2.24.0-py2.py3-none-any.whl (61 kB)
|████████████████████████████████| 61 kB 495 kB/s
Collecting certifi>=2017.4.17
Downloading certifi-2020.6.20-py2.py3-none-any.whl (156 kB)
|████████████████████████████████| 156 kB 2.6 MB/s
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
Downloading urllib3-1.25.10-py2.py3-none-any.whl (127 kB)
|████████████████████████████████| 127 kB 2.3 MB/s
Collecting idna<3,>=2.5
Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
|████████████████████████████████| 58 kB 2.4 MB/s
Collecting chardet<4,>=3.0.2
Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
|████████████████████████████████| 133 kB 3.4 MB/s
Installing collected packages: certifi, urllib3, idna, chardet, requests
Successfully installed certifi-2020.6.20 chardet-3.0.4 idna-2.10 requests-2.24.0 urllib3-1.25.10
勾配降下法によるパラメータ最適化の計算に関するメモです.
$f(x) = w_{0} + w_{1}x + w_{2}x^{2} + \cdots + w_{M}x^{M} = \sum_{m=0}^{M} w_{m}x^{m} \ \ \ (1)$
e.g. $x_{1} \sim x_{10}$の10箇所の観測点について式(1)で計算される$t$の値と,実際に観測された$t_{n}$を比較する.それぞれの差の2乗を合計したものをこの推定の誤差と定義する.
$\{ f(x_{1}) - t_{1} \}^{2} + \{ f(x_{2}) - t_{2} \}^{2} + \cdots + \{ f(x_{10}) - t_{10} \}^{2} \ \ \ (2)$
誤差の値が大きいということは...式(1)から推定される$t$の値は,実際の観測値とはあまり一致していないということ.よって,誤差がなるべく小さくなるような$f(x)$が得られるようにパラメータ$\{ w_{m} \}_{m = 0}^{M}$を決定すれば最適化がなされることになる.
ここで,計算の都合上,式(2)の値を$1 / 2$倍したものを誤差関数$E_{D}$として定義する.
$E_{D} = \cfrac{1}{2} \sum_{n = 1}^{N} \{ f(x_{n}) - t_{n} \}^{2} \ \ \ (3)$
式(3)に式(1)を代入すると
$E_{D} = \cfrac{1}{2} \sum_{n = 1}^{N} ( \sum_{m = 0}^{M} w_{m} x_{n}^{m} - t_{n} )^{2} \ \ \ (4)$
なお,式(3)は二乗誤差と呼ばれる.また,式(4)はトレーニングセットとして与えられた具体的な観測値$\{ ( x_{n}, t_{n} ) \}_{n=1}^{N}$を用いて計算される(問題の前提として与えられる定数値)である.
式(4)を係数$\{ w_{m} \}_{m=0}^{N}$の関数とみなして,これを最小にする係数を求める.式(3)の二乗誤差を最小にする手法を最小二乗法という.
式(4)の誤差関数を最小にする最小化問題に帰着する.すなわち,式(4)を$\{ w_{m} \}_{m = 0}^{M}$の関数とみなした際の偏微分係数が0になるという条件として
$\cfrac{\partial E_{D}}{\partial w_{m}} = 0 \ \ \ (m = 0, 1, \cdots , M) \ \ \ (5)$
を解く.係数をまとめてベクトル${\bf{w}} = (w_{0}, w_{1}, \cdots, w_{M})^{T}$とみなせば,勾配ベクトルが0になると言っても良い.
$\nabla E_{D} ( {\bf{w}} ) = 0 \ \ \ (6)$
ここでは