详解TensorFlow在windows上安装与简单示例


Posted in Python onMarch 05, 2018

本文介绍了详解TensorFlow在windows上安装与简单示例,分享给大家,具体如下:

安装说明

平台:目前可在Ubuntu、Mac OS、Windows上安装

版本:提供gpu版本、cpu版本

安装方式:pip方式、Anaconda方式

Tips:

  1. 在Windows上目前支持python3.5.x
  2. gpu版本需要cuda8,cudnn5.1

安装进度

2017/3/4进度:
Anaconda 4.3(对应python3.6)正在安装,又删除了,一无所有了
2017/3/5进度:
Anaconda 4.3(对应python3.6)get
Anaconda中python3.5.2get
tensorflow1.0.0get

行文思路

在看别人教程时候总遇到些没见过的名词,让人望而生畏。
所以索性从名词解释开始。
然后讲述TensorFlow的安装和简单示例。
作为自己的笔记,
也希望像我一样的小白看到这篇教程能觉得做起来很顺畅!

CUDA

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。
计算行业正在从只使用CPU的“中央处理”向CPU与GPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA™(英伟达™)发明了CUDA(Compute Unified Device Architecture,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPU和GPU各自的优点。现在,该架构已应用于GeForce™(精视™)、ION™(翼扬™)、Quadro以及Tesla GPU(图形处理器)上。
来自百度百科。

(所以我的A卡是用不成它的)

Anaconda

Anaconda是由Python提供支持的领先的开放数据科学平台。 Anaconda的开源版本是Python和R的高性能分发版本,包括超过100个用于数据科学的最流行的Python,R和Scala软件包。
来自Anaconda官方下载页面

具体使用见Anaconda官方教程,简单易懂!

Anaconda初步学习

0.下载Anaconda安装包:Anaconda官方下载地址

我下载的是Anaconda4.3.0For Windows 64bit(内置python3.6)

下载好了就安装,一直下一步。

1.检查Anaconda是否成功安装:conda --version

详解TensorFlow在windows上安装与简单示例 

(嘻嘻,第一步成功了,开心点)

2.检测目前安装了哪些环境:conda info --envs

详解TensorFlow在windows上安装与简单示例 

(只有一个呀!不怕,继续来!)

3.检查目前有哪些版本的python可以安装:conda search --full-name python

详解TensorFlow在windows上安装与简单示例 

(好多呀,要哪个呢?嘻嘻当然是python3.5啦)

4.安装不同版本的python:conda create --name tensorflow python=3.5

(猜想输入python=3.5版本后,系统会自动选择一个3.5.x的版本吧)

详解TensorFlow在windows上安装与简单示例 

(python3.5.3要不要?实验室服务器上是3.5.2,统一好啦!)

详解TensorFlow在windows上安装与简单示例 

(好啦,GO!)

详解TensorFlow在windows上安装与简单示例 

(嘻嘻!安好啦!又离成功近了一步!)

5.按照提示,激活之:activate tensorflow

详解TensorFlow在windows上安装与简单示例 

(嘻嘻它有了一顶小帽子~代表我的当前环境哦)

6.确保名叫tensorflow的环境已经被成功添加:conda info --envs

详解TensorFlow在windows上安装与简单示例 

(Bravo!)

7.检查新环境中的python版本:python --version

详解TensorFlow在windows上安装与简单示例 

(^^开心开心~)

8.退出当前环境:deactivate

详解TensorFlow在windows上安装与简单示例 

(小帽子掉了)

9.切换环境:activate tensorflow

详解TensorFlow在windows上安装与简单示例 

想切换到哪个环境就 activate哪个~

这篇文章既然是安装tensorflow的,当然要avtivate tensorflow!

小妖精!我来了!

PS:想了解更多请看Anaconda官方教程,简单易懂好上手!别乱搜网上的教程,没有官方教程看着清爽!

TensorFlow安装

本文是将tensorflow在原生windows系统上安装,

采用anocanda的安装方式,

安装的是cpu版本(嗯,作为AMD的显卡,掩面哭)

Anaconda 4.3.0.1(带有python3.6)

在Anaconda里面配了python3.5.2

下面是今天的主角!(噼里啪啦)

1.按照官网的指示:
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_x86_64.whl

详解TensorFlow在windows上安装与简单示例 

(好吧,先是打错,接下来又这样!我不知道该怎么办了(ㄒoㄒ)/~~)

2.另一种尝试:pip install tensorflow

详解TensorFlow在windows上安装与简单示例 

(划重点了,原来是这样子!我是AMD的卡,对应的不一样!)

3.确认tensorflow安装成功:

错误尝试:直接在cmd里面键入python,然后键入import tensorflow as tf

详解TensorFlow在windows上安装与简单示例 

(小伙子默认的是python3.6啊啊啊啊啊,要从anaconda进入刚刚装的那个python3.5里面哦!~)

正确尝试:进入Anaconda Prompt-python里面,进入安装的名叫tensorflow的环境(我们装的python3.5.2记得吗?~),键入python,然后再键入import tensorflow as tf

在这里可以找到Anaconda Prompt-python:

详解TensorFlow在windows上安装与简单示例 

详解TensorFlow在windows上安装与简单示例

打开Anaconda Navigator(开始菜单->Anaconda 3->Anaconda Navigator),搞一个spyder玩,点击spyder下面的“install”,安装好就变成“Launch”了,点击就可以进去了。

详解TensorFlow在windows上安装与简单示例

在spyder里对tensorflow说Hello!

详解TensorFlow在windows上安装与简单示例

输出:

详解TensorFlow在windows上安装与简单示例 

(嘿嘿嘿哈哈哈我感觉我好像成功了!!!你呢?~~)

参考tensorflow官方文档,请上英文官网,中文社区似乎没有更新windows上的安装

TensorFlow例程上手

装了个新东西,我们先把它用起来吧!

概念什么的跑完第一个小程序再看!

找点成就感才好继续下去!

示例来源:MINIST For ML Beginners

MINST数据集:

  1. 55000训练集,10000测试集,5000验证集
  2. 每张图片都是28pixels*28pixels

代码:

#获得数据集
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

import tensorflow as tf

#输入图像数据占位符
x = tf.placeholder(tf.float32, [None, 784])

#权值和偏差
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))

#使用softmax模型
y = tf.nn.softmax(tf.matmul(x, W) + b)

#代价函数占位符
y_ = tf.placeholder(tf.float32, [None, 10])

#交叉熵评估代价
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))

#使用梯度下降算法优化:学习速率为0.5
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

#Session
sess = tf.InteractiveSession()

#初始化变量
tf.global_variables_initializer().run()

#训练模型,训练1000次
for _ in range(1000):
 batch_xs, batch_ys = mnist.train.next_batch(100)
 sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

#计算正确率
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))

accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))

运行结果:输出显示得到模型的准确率

详解TensorFlow在windows上安装与简单示例

结语

昨天花费了大半天部署环境,不但一无所获且搞得焦头烂额。今天再战,索性边做边写,好像和旁边的人在聊天一样。嗯,心情愉悦的时候容易做出东西。时间很宝贵,但还是希望你的学习曲线不要太陡峭,希望你能愉快地走进新领域。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现类的静态变量用法实例
May 08 Python
python简单实现旋转图片的方法
May 30 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 Python
python中reload(module)的用法示例详解
Sep 15 Python
Python面向对象编程基础解析(一)
Oct 26 Python
Python将DataFrame的某一列作为index的方法
Apr 08 Python
对numpy中shape的深入理解
Jun 15 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
numpy中的ndarray方法和属性详解
May 27 Python
浅谈keras2 predict和fit_generator的坑
Jun 17 Python
详解python模块pychartdir安装及导入问题
Oct 22 Python
django如何自定义manage.py管理命令
Apr 27 Python
python 中if else 语句的作用及示例代码
Mar 05 #Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
Mar 05 #Python
tf.truncated_normal与tf.random_normal的详细用法
Mar 05 #Python
用tensorflow搭建CNN的方法
Mar 05 #Python
利用TensorFlow训练简单的二分类神经网络模型的方法
Mar 05 #Python
python使用Pycharm创建一个Django项目
Mar 05 #Python
python爬虫基本知识
Mar 05 #Python
You might like
提高PHP编程效率 引入缓存机制提升性能
2010/02/15 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
PHP数组操作类实例
2015/07/11 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
python实时分析日志的一个小脚本分享
2017/05/07 Python
python针对excel的操作技巧
2018/03/13 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
Python二元算术运算常用方法解析
2020/09/15 Python
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
空指针到底是什么
2012/08/07 面试题
DTD的含义以及作用
2014/01/26 面试题
网络管理专业求职信
2014/03/15 职场文书
村党支部换届选举方案
2014/05/02 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
晚会闭幕词
2015/01/28 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技