zoukankan      html  css  js  c++  java
  • win10下用Anaconda安装TensorFlow | 后附JetBrains测试

    从意识上认识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的用例。如果有什么疑问,请提出,多多交流。

  • 相关阅读:
    Programming Collecive Intelligence 笔记 Making Recommendations
    Managing Gigabytes文本压缩
    Hadoop The Definitive Guide 笔记二
    POS Tagging with NLTK
    MG查询
    MG索引构造
    对SharePoint 2010的job failover的一些比较深入的说明
    SharePoint 2010中Search功能的数据库连接字符串在哪里?
    记解决一个数据库删不掉的问题
    SharePoint升级失败?
  • 原文地址:https://www.cnblogs.com/jdemarryme/p/8745451.html
Copyright © 2011-2022 走看看