Win7 64位 Keras深度學習框架安裝
阿新 • • 發佈:2019-01-23
最近想用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是預計剩餘時間。