当前位置:   article > 正文

keras、tensorflow安装详解-神经网络第一个脚本

keras、tensorflow安装详解-神经网络第一个脚本

目录

一、基本概念

二、操作步骤详解

2.1实现规划:(建议版本是自己运行的版本)

2.2详细操作步骤:

1、安装pycharmIDE编辑软件。

2、安装Anaconda

3、安装配置工具、安装依赖包,增加源的地址,加快下载速率。

三、代码运行


 

 人工智能神经网络学习离不开keras、tensorflow这几个包的支持。所以如何运用好keras、tensorflow是实现计算机深度学习的关键了。

一、基本概念

 Keras是由纯python编写的基于theano/tensorflow的深度学习框架。

         Keras是一个高层神经网络API,支持快速实验,能够把你的idea迅速转换为结果,如果有如下需求,可以优先选择Keras:

                a)简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)

                b)支持CNN和RNN,或二者的结合

                c)无缝CPU和GPU切换

TensorFlow是一个深度学习库,由 Google 开源,可以对定义在 Tensor(张量)上的函数自动求导。

Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow即为张量从图的一端流动到另一端。

它的一大亮点是支持异构设备分布式计算,它能够在各个平台上自动运行模型,从电话、单个CPU / GPU到成百上千GPU卡组成的分布式系统。

支持CNN、RNN和LSTM算法,是目前在 Image,NLP 最流行的深度神经网络模型。

(by百度和其他网友,具体概念大家深入了解)

二、操作步骤详解

2.1实现规划:(建议版本是自己运行的版本)

1、安装pycharm、网上有教程(建议安装2020版)

2、安装Anaconda、网上有教程,基本上都是默认,注意勾选增加python3.6的环境变量到系统里面。(建议安装Anaconda3,因为3的话使用的python3.6以上的版本,tensorflow是在pyhon3.0以上的版本跑的模块。如果有python2版本跑成功的操作,私信我。我也研究很久,没有跑成功过。)

3、安装依赖包,增加源的地址,加快下载速率。

4、python环境导入keras和tensorflow模块,进行测试。

5、目前测试成功环境包的版本:pycharm2020.1,Anaconda3-2019.10-Windows-x86_64,tensorflow-gpu=1.13.2、keras2.1.5、scipy1.2.1、numpy1.16.0、
matplotlib3.1.2、opencv_python4.1.2.30、tqdm4.60.0、Pillow8.2.0、h5py2.10.0
cuda10.0、cudnn7.4.1.5(这里有tensorflow版本对应cuda的参数表,网上看看对应参数表,而且要看自己显卡的gpu的算力,如果算不够,有可能编译出错了。)

镜像源的环境:

channels:
  - https://mirrors.aliyun.com/pypi/simple/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults

2.2详细操作步骤:

1、安装pycharmIDE编辑软件。

可以不用安装python的环境,因为要使用Anaconda中的python环境,推荐网友安装过程。PyCharm2021安装教程_学习H的博客-CSDN博客_pycharm2021安装教程

2、安装Anaconda

Anaconda3安装教程(详细)_honor-CSDN博客_安装anaconda3

基本上都是默认安装,注意就是这里选择添加Anaconda的3.6版本。打钩后,Anaconda会自己安装好python3.6版本在系统里面。建议安装在C盘,配置环境或者找生成文件时候可以找寻的文件

3、安装配置工具、安装依赖包,增加源的地址,加快下载速率。

3.1、安装Visual Studio的开发工具

Visual Studio 2017不仅支持C#、C++、Python、Visual Basic、Node.js、HTML、JavaScript等各大编程语言,还能开发 iOS、Android 的移动平台应用,Visual Studio 2017 甚至还自带了iOS模拟器(之前为MAC独享的开发环境)

我这里直接用的是Visual Studio 2022最新版,然后将选配项里面pyhon开发配置勾选都打上,避免计算不行。(后面发现基本不是这个问题)

Visual Studio 2017下载地址和安装教程(图解版)_《好好先生》专栏-CSDN博客

3.2、Cudnn和CUDA的下载和安装(需要先安装Visual Studio)

Cuda其是由NVIDIA发明的并行计算平台以及编程模型,它可以显著的提高GPU的计算性能。

Cudann是NVIDIA的cuDNN是针对深度神经网络计算的一个GPU加速库,为标准例程提供了高度优化的实现,比如向前、向后卷积,池化,规范化和激活层。其是NVIDIA Deep Learning SDK的一部分。

推荐安装地址:深度学习环境配置1——windows下的tensorflow-gpu=1.13.2环境配置_Bubbliiiing的学习小课堂-CSDN博客_tensorflow-gpu1.13.2

 注意一点:操作复制这一步时,如果有同名的文件夹,就将文件夹里面的配置文件复制过去覆盖,没有同名文件夹就直接复制过去了。

正常安装完Anaconda程序后,选择Anaconda Prompt进行命令行运行,Anaconda的操作命令行。直接网友搜索链接可以找寻到相关指令,师傅领进门修行在自身了。

【python】win10下anaconda环境切换命令_lovetobelove的博客-CSDN博客_anaconda切换环境Anacond下载下载地址:https://www.anaconda.com/download/管理虚拟环境 接下来我们就可以用anaconda来创建我们一个个独立的python环境了.接下来的例子都是在命令行操作的,请打开你的命令行吧. activate activate 能将我们引入anaconda设定的虚拟环境中, 如果你后面什么参数都不加那么会进入anaco...https://blog.csdn.net/lovetobelove/article/details/86605194?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164681881816780271978357%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164681881816780271978357&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-86605194.pc_search_result_control_group&utm_term=Anaconda%E5%88%87%E6%8D%A2%E7%8E%AF%E5%A2%83&spm=1018.2226.3001.4187

Anaconda Prompt命令的截图:

 

安装依赖包和环境变量,推荐这个教程,老师讲的非常详细了。

深度学习环境配置1——windows下的tensorflow-gpu=1.13.2环境配置_Bubbliiiing的学习小课堂-CSDN博客_tensorflow-gpu1.13.2神经网络学习小记录42——windows下的tensorflow-gpu=1.13.2环境配置学习前言环境内容Anaconda安装下载Cudnn和CUDA配置tensorflow环境安装VSCODE学习前言好多人问环境怎么配置,还是出个教程吧。环境内容tensorflow-gpu:1.13.2keras:2.1.5numpy:1.17.4Anaconda安装取网上搜索Anacon...https://blog.csdn.net/weixin_44791964/article/details/104702142注意一点:如果报错错误FutureWarning: Passing (type, 1) or ‘1type‘ as a synonym of type is deprecated;

这里需要降级numpy的版本,下列截图是我删除版本后的操作,可以正常导入tensorflow和keras模块了。那么在pycharm里面就可以调用Anaconda的数据包

解决numpy版本过高产生的警告FutureWarning: Passing (type, 1) or ‘1type‘ as a synonym of type is deprecated;_沉醉于风中的博客-CSDN博客/home/linux/.conda/envs/tf_py3/lib/python3.5/site-packages/tensorflow/python/framework/dtypes.py:527: FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,https://blog.csdn.net/weixin_51697369/article/details/119460212?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164687447016780255245415%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164687447016780255245415&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-119460212.pc_search_result_control_group&utm_term=+FutureWarning%3A+Passing+%28type%2C+1%29+or+1type+as+a+synonym+of+type+is+deprecated%3B+in+a+future+version+of+numpy%2C+it+will+be+understood+as+%28type%2C+%281%2C%29%29+%2F+%281%2C%29type.&spm=1018.2226.3001.4187

三、代码运行

在pycharm里面增加Anaconda的环境变量。

敲入代码,能够正常运行神经网络模块能够正常运行,计算每个模型的时间。

 我这里报了两个警告是提示我tensorflow的版本结构需要升级了,语法有一些出入。(可以忽略)

 代码部分:

注意一点:我安装的keras的版本有点高,所以有些模块已经被弃用了。

from sklearn.cross_validation import train_test_split更换为:
from sklearn.model_selection import train_test_split
model.fit(train_data,labels_train,np_epoch=200,batch_size=40)更换为:model.fit(train_data,labels_train,epochs=200,batch_size=40)

挖坑环节:刚开始我想安装低版本sklearn,但是源里面没有版本,后面找到新版本指令进行调试。

运行代码:

  1. #encoding=utf-8
  2. import numpy as np
  3. import pandas as pd
  4. import tensorflow as tf
  5. from keras.models import Sequential
  6. from keras.layers import Dense,Activation
  7. from keras.optimizers import SGD
  8. ###导入模型数据
  9. def main():
  10. from sklearn.datasets import load_iris
  11. iris=load_iris()
  12. print(iris["target"])
  13. print("经过机器学习得到的数值:")
  14. from sklearn.preprocessing import LabelBinarizer
  15. print(LabelBinarizer().fit_transform(iris["target"]))
  16. ####数据进行神经网络学习测试
  17. from sklearn.model_selection import GridSearchCV
  18. from sklearn.model_selection import train_test_split
  19. train_data,test_data,train_target,test_target=train_test_split(iris.data,iris.target,test_size=0.2,random_state=1)
  20. labels_train=LabelBinarizer().fit_transform(train_target)
  21. labels_test=LabelBinarizer().fit_transform(train_target)
  22. model=Sequential(
  23. [Dense(5,input_dim=4),
  24. Activation("relu"),
  25. Dense(3),
  26. Activation("sigmoid"),
  27. ]
  28. )
  29. #model=Sequential()
  30. #model.add(Dense(5,input=4))
  31. sgd=SGD(lr=0.01,decay=1e-6,momentum=0.9,nesterov=True)
  32. model.compile(optimizer=sgd,loss="categorical_crossentropy")
  33. model.fit(train_data,labels_train,epochs=200,batch_size=40)
  34. print(model.predict_classes(test_data))
  35. if __name__=="__main__":
  36. main()

  IT学海无涯苦作舟,特别鸣谢CSDN-Bubbliiiing导师提供的架构支持,以及其他网友的帮助和提供支持。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/181560
推荐阅读
相关标签
  

闽ICP备14008679号