个人技术博客(α)

个人技术和团队任务

本人在此次团队任务中担任图像识别模型的训练,因此配置深度学习的环境和进行神经网络的设计是理所当然的事。

Anaconda

Anaconda是开源的python 发行版本,包含大量包极其依赖项,可以便捷地进行包的管理

anaconda 常用操作:

查看已有包
conda/pip list 

安装包

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

安装本地包:

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:AnacondaScripts; 不要漏掉分号,此处因为我的Anaconda的安装目录是C:Anaconda,此处需要根据自己的安装目录填写。
在用户变量中新建变量pythonpath,变量值为C:AnacondaLibsite-packages heano; ,此处就是指明安装的theano的目录是哪,但是现在咱们还没有安装,所以不着急,先写完再说。
2.打开cmd,会看到窗口里边有个路径,我的是C:UsersLocked>,根据自己的路径,找到对应的目录,在该目录下新建一个文本文档.theanorc.txt (注意有两个“.”),编辑它,写入以下内容:
[global]
openmp=False
[blas]
ldflags=
[gcc]
cxxflags=-IC:AnacondaMinGW
其中红体字部分是你安装的Anaconda的路径,一定不要弄错。否则找不到MinGw。
3.最好重启一下电脑。

安装theano

使用之前学过的命令
pip install theano

进度条结束之后进入python环境,输入


import theano
theano.test()

如果没有报错的话,表示安装成功。
****theano可安装GPU加速版本,由于本次没有使用,有需要者自行搜索。

安装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.导入包

import keras
...

2.导入数据

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()

原文地址:https://www.cnblogs.com/qiwenzhou/p/7811919.html