1. 程式人生 > >Win7 64位 Keras深度學習框架安裝

Win7 64位 Keras深度學習框架安裝

最近想用Python搞搞神經網路,就用Keras了。
Caffe和Keras相比優缺點:

框架 優點 缺點
Keras 使用簡單,快速開發,參考資料多 執行慢
Caffe 使用較難,參考資料少 執行快

為了快速上手,選擇Keras。

1.Keras安裝

感謝博主,寫的非常詳細。

提醒!

如果你之前單獨安裝過Python和MinGW,記得先把他們刪掉!!!然後再按照博主的部落格安裝
我就是因為電腦裡多個Python和MinGW導致系統環境變數混亂,死活不成功不知道怎麼解決。
最後在cmd裡發現Python路徑和Anaconda2裡Python路徑不一樣,MinGw也是。然後刪掉原來的Python和MinGw後,改了Python和MinGW系統環境變數,就可以了。

但是上面那篇部落格有些內容經過我實驗發現並不對,下面會具體講。

2.部落格內容修改

修改1:博主給的手寫數字識別例子mnist裡面有一個函式要更改,不然執行不了。直接執行就會如下錯誤:

Exception: Unexpected keyword argument passed to optimizer: l2

錯誤截圖如下:
錯誤截圖

具體原因:我認為是因為keras版本更新,相應函式有所變動導致的,博主用的是keras 0.3.3,我用的是最新的keras 1.0.7

更改方法
將cnn.py中第88行程式碼

       sgd = SGD(l2=0.0, lr=0.05
, decay=1e-6, momentum=0.9, nesterov=True)

更改為:

       sgd = SGD(lr=0.05, momentum=0.9, decay=1e-6, nesterov=True)

是因為在keras中SGD的建構函式並沒有引數l2(Python剛看了一天,不知道有沒有建構函式這種說法)。
SGD的建構函式如下,可以看到下面並沒有l2引數,所以刪掉就行了

        class SGD(Optimizer):
             def __init__(self, lr=0.01, momentum=0., decay=0.,
                         nesterov=False, **kwargs)
:
super(SGD, self).__init__(**kwargs)

修改2:部落格裡下面這一步是沒有必要的,安裝完Anaconda後自帶的theano資料夾沒有問題,我沒有更改執行mnist例子成功了。
這裡寫圖片描述

執行成功截圖:
這裡寫圖片描述
其中Epoch是迭代次數,ETA是預計剩餘時間。