【深度学习笔记】(二)Hello, Tensorflow!

【深度学习笔记】(二)Hello, Tensorflow!

一、安装

官方安装的方式很多种,本文采用Docker方式。Docker的深入使用文案很长很多,但我们都不需要,我们的主要目的还是Tensorflow,所以只需要基本的使用即可。PS:打开Tensorflow官网是需要翻墙的,所以上面的一些链接不能翻墙的情况下是打不开的,然鹅!Docker不需要翻墙就能打开,所以用Docker来安装Tensorflow就是为了绕墙而走。

1、Docker安装

既然不用翻墙,首先就是点我下载安装包,打开页面看到很多开发平台的版本,选择匹配自己开发平台的包下载安装即可,安装的过程就是一直点“下一步”。。。over。

安装成功后,会有两个入口:

第一个既然看不清名称就不用官他,也可以看得清也不要管他,因为我们只需要用第二个:Kitmatic,我们仅用用Kitmatic来操作Docker来提供Tensorfow的,不需要要学习第一个命令行的操作方式。

2、Kitmatic安装Tensorflow环境

点击第1步中的第二个图标启动Kitmatic;点击左上角的”NEW”按钮:

进入下图,在输入框中输入Tensorflow搜索,在Docker Hub搜索中选择一个,一般是第一个,点击“CREATE”按钮下载安装。
其他Jupyter NotebookTensorboard都可以在这里找到下载安装。


二、Hello, Tensorflow

1、编程步骤:

  1. 定义数据
  2. 定义计算图与变量
  3. 定义会话
  4. 进行计算

2、基于MNIST数据集的手写数字识别

这是很多教科书上的入门例子,但是没有说明其中代码依赖导致运行不起来。所以首先作为Tensorflow的入门例子,应该是包括在Tensorflow代码里的,先要把它clone下来:

git clone https://github.com/tensorflow/tensorflow

这时候可能因为权限问题无法拉下来,先去fork一份到自己名下就行了,或者直接打包下载。

接下来就能把代码跑起来了,写一遍感受一下

# 1、load data set
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

# 2、see data set:
# train - test - validation

# train data set
# print(mnist.train.images.shape,mnist.train.labels.shape)

# test data set
# print(mnist.test.images.shape,mnist.test.labels.shape)

# validation data set
# print(mnist.validation.images.shape,mnist.validation.labels.shape)

# 3、开启tensorflow session
import tensorflow as tf
sess = tf.InteractiveSession()

# 4、define softmax regression
# x
x = tf.placeholder(tf.float32,[None,784])
# W
W = tf.Variable(tf.zeros([784,10]))
# b
b = tf.Variable(tf.zeros(10))
# y
y = tf.nn.softmax(tf.matmul(x,W) + b)
# y_
y_ = tf.placeholder(tf.float32,[None,10])
# loss
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y),reduction_indices=[1]))
# SGD
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
# init
tf.global_variables_initializer().run()

# 5、trainning starts
for i in range(1000):
    batch_xs, batch_ys = mnist.train.next_batch(100)
    train_step.run({x:batch_xs, y_:batch_ys})
# trainning ends

# correct predictiong
correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(y_,1))
# accuracy
accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))
# evalue
print(accuracy.eval({x:mnist.test.images,y_:mnist.test.labels}))

三、参考

时间: 2024-09-20 12:33:38

【深度学习笔记】(二)Hello, Tensorflow!的相关文章

【深度学习笔记】(三)Tensorflow on Android

[深度学习笔记](三)Tensorflow on Android 一.准备好Android Studio及预先训练好的模型pb文件 二.新建Android项目A并将pb模型放到assets文件夹 三.添加libandroid_tensorflow_inference_java.jar到项目A的libs文件夹.添加libtensorflow_inference.so到项目A的libs\armeabi文件夹 四.加载libandroid_tensorflow_inference_java库,通过Te

C#学习笔记(二)

笔记 C#学习笔记(二) write by cash(天下第七)2002.01.20版权所有,翻录不究cashcao@msn.com 选择 我身上携带着精神.信仰.灵魂 思想.欲望.怪癖.邪念.狐臭它们寄生于我身体的家 我必须平等对待我的每一位客人-----------伊沙:<原则> 我的名字是cash,所以我很功利主义:我的星像是Leo,所以我很大男人主义:我的语言是C#,所以我有点儿拿不定主义. /* 你能看得出来,这不是一篇正规的技术文章,所以若你不小心从里边读到了一个爱情故事,可不要奇

简单入门——深度学习笔记(Part I)

更多深度文章,请关注:https://yq.aliyun.com/cloud 作者介绍:Deepak Shah Deepak Shah毕业于德克萨斯奥斯汀分校,徒步旅行爱好者,目前是深度学习\数据科学实习生,研究领域专注于深度学习.编程.金融等方面. 个人主页:http://www.deepakvshah.com/ Medium论坛:https://medium.com/@dvshah13 Github论坛:https://github.com/Dvshah13  笔记分为两个部分,本文是笔记P

kvm虚拟化学习笔记(二)之linux kvm虚拟机安装

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1289627 KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linuxkvm虚拟机安装htt

简单入门——深度学习笔记(Part II)

更多深度文章,请关注:https://yq.aliyun.com/cloud 作者介绍:Deepak Shah Deepak Shah毕业于德克萨斯奥斯汀分校,徒步旅行爱好者,目前是深度学习\数据科学实习生,研究领域专注于深度学习.编程.金融等方面. 个人主页:http://www.deepakvshah.com/ Medium论坛:https://medium.com/@dvshah13 Github论坛:https://github.com/Dvshah13  笔记分为两个部分,本文是笔记P

Bootstrap3学习笔记(二)之排版_javascript技巧

在上篇文章给大家介绍了BootStrap3学习笔记(一)之网格系统 对于标题,Bootstrap已经修改了h1--h6的样式,如果需要副标题,还可以在其中使用small标记 <h1>h1. Bootstrap heading <small>Secondary text</small></h1> <h2>h2. Bootstrap heading <small>Secondary text</small></h2>

【深度学习笔记】(一)Octave

[深度学习笔记](一)Octave 介绍Octave Octave是一种面向科学数学运算的原型语言,内置了强大的数学函数及图形展示工具.原型prototyping设计的意思是使用ovtave进行算法设计.实现.验证等过程. 推荐Octave快速实现算法原型. 安装Octave 以mac为例: 1.安装Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/i

看深度学习框架排名第一的TensorFlow如何进行时序预测——第一篇

更多深度文章,请关注:https://yq.aliyun.com/cloud TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor).它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等.TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构

学习笔记TF061:分布式TensorFlow,分布式原理、最佳实践

分布式TensorFlow由高性能gRPC库底层技术支持.Martin Abadi.Ashish Agarwal.Paul Barham论文<TensorFlow:Large-Scale Machine Learning on Heterogeneous Distributed Systems>. 分布式原理.分布式集群 由多个服务器进程.客户端进程组成.部署方式,单机多卡.分布式(多机多卡).多机多卡TensorFlow分布式. 单机多卡,单台服务器多块GPU.训练过程:在单机单GPU训练,