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

yipeiwu_com5年前Python基础

本文介绍了详解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

 

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

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

 

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

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

 

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

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

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

 

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

 

(好啦,GO!)

 

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

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

 

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

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

 

(Bravo!)

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

 

(^^开心开心~)

8.退出当前环境:deactivate

 

(小帽子掉了)

9.切换环境:activate tensorflow

 

想切换到哪个环境就 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

 

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

2.另一种尝试:pip install tensorflow

 

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

3.确认tensorflow安装成功:

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

 

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

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

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

 

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

在spyder里对tensorflow说Hello!

输出:

 

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

参考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}))

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

结语

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python线程锁(thread)学习示例

复制代码 代码如下:# encoding: UTF-8import threadimport time# 一个用于在线程中执行的函数def func():  &nbs...

Python元组常见操作示例

本文实例讲述了Python元组常见操作。分享给大家供大家参考,具体如下: 不能修改的列表就叫做元组。 1 访问元素 元组是使用圆括号来标识的。 定义好元组后, 我们就可以使用索引来访问其...

Python 查看文件的编码格式方法

在读取中文的情况下,通常会遇到一些编码的问题,但是首先需要了解目前的编码方式是什么,然后再用decode或者encode去编码和解码,下面是使用chardet库来查看编码方式的。 i...

跟老齐学Python之永远强大的函数

跟老齐学Python之永远强大的函数

函数,对于人类来讲,能够发展到这个数学思维层次,是一个飞跃。可以说,它的提出,直接加快了现代科技和社会的发展,不论是现代的任何科技门类,乃至于经济学、政治学、社会学等,都已经普遍使用函数...

从局部变量和全局变量开始全面解析Python中变量的作用域

理解全局变量和局部变量 1.定义的函数内部的变量名如果是第一次出现, 且在=符号前,那么就可以认为是被定义为局部变量。在这种情况下,不论全局变量中是否用到该变量名,函数中使用的都是局部变...