清醒疯子 2018-04-08
从意识上认识Anaconda(音标:[ˌænəˈkɑ:ndə])/(拼读:安娜康达)。
Anaconda:水蟒的意思,如图logo像不像水蟒。其最后五个字母是conda(包管理器),而Anaconda正是在conda(一个包管理器和环境管理器)上发展出来的。
Anaconda的用处:能帮你建立不同的运行环境。比如有两个项目A和B,一个是GitHub上拉取的python2版本的,一个是你项目组的python3,如果想要在你的电脑上运行,同时安装两个版本的Python会出现环境混乱或错误。再比如你需要不同版本的Keras,明确的是不能同时安装两个版本,那么Anaconda就为你解决了这个问题。
Anaconda的定义:anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。Anaconda 的下载文件比较大(约 515 MB)。
下面我们将正式开始安装Anaconda:
1.下载Anaconda安装包,通过各种方法以最下载速度方式获取安装包,这里我使用的Anaconda官网:https://www.anaconda.com/download/
2.双击安装包,出现授权窗口时,选择是。过程中注意两个点:
一是注意安装位置,尽量别安装在C盘占用系统空间(因为待会我们的新建的环境就会在Anaconda的安装下的envs文件夹里);
二是注意当出现如图,以下安装选项时都打对勾。(第一个对勾是添加Anaconda到系统环境,第二个Anaconda中里面自动包含Python的包,允许其他Python工具访问。)
3.等待五至十分钟安装完成
安装完成后,我们需要构建一个conda管理,我在很多博客上看到的都是用Anaconda Prompt(Anaconda命令框)安装,但是本身来说Anaconda就是有图形界面管理的,所以我认为对Anaconda应该有个本质上的意识,这就是为什么一开头我并没有急着了解怎么安装,而是去认知Anaconda安装后我知道它是什么并且它该怎么用。
接下来我们就构建一个conda环境并用JetBrains Pycharm创建一个可用的项目案例:
1.打开快速启动栏的Anaconda Navigator(Anaconda导航),等待一下进入界面。
2.左边导航条选择Environments,这里的base(root)就是我们环境的一个根环境。
3.左下角选择Create,给环境取一个名字(以后激活环境使用的就是该环境名),然后选择Python版本。
4.等待片刻后,默认出现已安装的包。
5.点击右侧导航栏,切换到All,文本框输入tensorflow,出现三个版本的,我们选择tensorflow(默认CPU版本),根据需要选择tensorflow-gpu(GPU版本)。
6.根据需要添加各种包,这里我们测试的Keras,所以还要添加keras包。
到这里,这样一个Python3.5版本带有tensorflow包的helloenvs环境就配好了。如果在过程中发现有些包不存在,就可以按照这样的方式添加,并且创建新环境也同样如此。
接下来我们就用JetBrains Pycharm构建一个例子,并配用刚才配好的helloenvs环境:
1.首先安装JetBrains Pycharm,通过各种方法以最快网速的方式获得安装包,然后自行安装,注意安装位置和工作空间的位置。
2.新建一个项目File->New Project->输入项目名HelloEnvs,点击Create
3.File->Settings->Project:HelloEnvs->Project Interpreter,点击添加设置Add。
4.弹出Add Python Interpreter窗口,选择Conda Environment,选择Existing environment,点击右侧按钮,添加到刚才新建环境的Anaconda安装目录/envs文件夹/helloenvs环境/python.exe
5.新建helloenvs.py文件,复制代码,等待下面Update完成后再运行。
from keras.preprocessing.image import ImageDataGenerator from keras.layers import Dense,MaxPool2D,Activation,Flatten,Conv2D,Input,Dropout from keras.models import Model,Sequential from keras.optimizers import rmsprop,SGD import keras.backend as K from keras.callbacks import TensorBoard imagetrainpath='train' imagepath3='./data/birds' #符号.点标识当前资源(BirdsClasserSimplyDemo.py的)路径(图片资源路径) modelsavepath='XX' #model保存路径 log_path='./tmp/logX' #日志生成路径 st_w=128 #预处理图片大小 st_h=128 #报错可改为299*299/244*244 nb_class=6 #分类个数 batch_size=32 epoch=4 #训练次数 step_each_batch=32 train_dataagen=ImageDataGenerator(rescale=1. /255,shear_range=0.2,zoom_range=0.2,horizontal_flip=True) train_generator=train_dataagen.flow_from_directory( imagepath3, target_size=(st_w,st_h), batch_size=batch_size, class_mode='categorical' ) if K.image_data_format()=='channels_first': input_tensor = Input(shape=(3,st_w,st_h)) else: input_tensor = Input(shape=(st_w,st_h,3)) model = Sequential() model.add((Conv2D(32,5,5,input_shape=(st_w,st_h,3)))) model.add(Activation('relu')) model.add(MaxPool2D(pool_size=(2,2))) model.add(Conv2D(32,3,3)) model.add(Activation('relu')) model.add(MaxPool2D(pool_size=(2,2))) model.add((Conv2D(64,3,3))) model.add(Activation('relu')) model.add(MaxPool2D(pool_size=(2,2))) model.add(Flatten()) model.add(Dense(64)) model.add(Activation('relu')) model.add(Dropout(0.5)) model.add((Dense(nb_class))) model.add(Activation('softmax')) model.compile(optimizer='sgd',loss='categorical_crossentropy', metrics=['accuracy']) model.fit_generator(train_generator,steps_per_epoch=step_each_batch,epochs=epoch, callbacks=[TensorBoard(log_dir=log_path)]) model.save_weights(modelsavepath+'weights.h5') model.save(modelsavepath)测试Keras用例代码
6.运行结果如下,完成配置。
以上就是用win10下用Anaconda Navigator安装TensorFlow,并用JetBrains测试Keras的用例。如果有什么疑问,请提出,多多交流。