我的技術博客(α)

我的技術和團隊任務

本人在這次團隊任務中擔任圖像識別模型的訓練,所以配置深度學習的環境和進行神經網絡的設計是理所固然的事。

Anaconda

Anaconda是開源的python 發行版本,包含大量包極其依賴項,能夠便捷地進行包的管理

anaconda 經常使用操做:

查看已有包
conda/pip list

安裝包python

pip/conda install 《包名》
可指定安裝的版本 :pip install 包名=版本號

安裝本地包:json

pip install <目錄>/<文件名>

更新包:網絡

conda upgrade <包名>
pip install -U <包名>

卸載包:工具

conda remove <包名>
pip uninstall <包名>

spyder

anaconda 自帶的編譯器spyder

安裝theano

環境是win10,64位

安裝minGW

MinGW全稱Minimalist GNU For Windows,是個精簡的Windows平臺C/C++、ADA及Fortran編譯器,相比Cygwin而言,體積要小不少,使用較爲方便。MinGW提供了一套完整的開源編譯工具集,以適合Windows平臺應用開發,且不依賴任何第三方C運行時庫。
MinGW包括:
1.一套集成編譯器,包括C、C++、ADA語言和Fortran語言編譯器
2.用於生成Windows二進制文件的GNU工具的(編譯器、連接器和檔案管理器)
3.用於Windows平臺安裝和部署MinGW和MSYS的命令行安裝器(mingw-get)
4.用於命令行安裝器的GUI打包器(mingw-get-inst)
使用命令安裝學習

conda install mingw libpython

配置環境變量:
1.編輯用戶變量中的path變量(若是沒有就新建一個,通常會有的),在後邊追加C:\Anaconda;C:\Anaconda\Scripts; 不要漏掉分號,此處由於個人Anaconda的安裝目錄是C:\Anaconda,此處須要根據本身的安裝目錄填寫。
在用戶變量中新建變量pythonpath,變量值爲C:\Anaconda\Lib\site-packages\theano; ,此處就是指明安裝的theano的目錄是哪,可是如今我們尚未安裝,因此不着急,先寫完再說。
2.打開cmd,會看到窗口裏邊有個路徑,個人是C:\Users\Locked>,根據本身的路徑,找到對應的目錄,在該目錄下新建一個文本文檔.theanorc.txt (注意有兩個「.」),編輯它,寫入如下內容:
[global]
openmp=False
[blas]
ldflags=
[gcc]
cxxflags=-IC:\Anaconda\MinGW
其中紅體字部分是你安裝的Anaconda的路徑,必定不要弄錯。不然找不到MinGw。
3.最好重啓一下電腦。命令行

安裝theano

使用以前學過的命令
pip install theano

進度條結束以後進入python環境,輸入設計

import theano
theano.test()

若是沒有報錯的話,表示安裝成功。
****theano可安裝GPU加速版本,因爲本次沒有使用,有須要者自行搜索。code

安裝keras

keras可基於tensorflow或者theano,本次使用的是基於theano,使用和安裝theano相同的方法安裝keras,這裏就不對述。
修改backend。安裝keras以後在命令行的主界面.keras文件(注意有一「.」),修改keras.json文件,將文件內容修改成:
{
    "epsilon": 1e-07, 
    "floatx": "float32", 
    "image_data_format": "channels_last", 
    "backend": "theano"
}

使用keras設計一個簡單的模型

1.導入包orm

import keras
...

2.導入數據ip

label,data = readData(data_dir)

3.生成一個模型

生成一個model

model = Sequential()

layer1-conv1

model.add(Convolution2D(16, 3, 3, border_mode='valid',input_shape=data.shape[-3:]))
model.add(Activation('tanh'))#tanh

layer2-conv2

model.add(Convolution2D(32, 3, 3, border_mode='valid'))
model.add(Activation('tanh'))#tanh

layer3-conv3

model.add(Convolution2D(32, 3, 3, border_mode='valid'))
model.add(Activation('tanh'))#tanh

layer4

model.add(Flatten())
model.add(Dense(128, init='normal'))
model.add(Activation('tanh'))#tanh

layer5-fully connect

model.add(Dense(numClass, init='normal')) model.add(Activation('softmax')) sgd = SGD(l2=0.1,lr=0.001, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='categorical_crossentropy', optimizer=sgd,class_mode="categorical") 4.訓練模型 利用model.train_on_batch()或者model.fit()

相關文章
相關標籤/搜索