香港科技大学TensorFlow三天速成课件-TF-UST-DAY3
- 格式:pptx
- 大小:13.63 MB
- 文档页数:118


前言
你正在阅读的项目可能会比 Android 系统更加深远地影响着世界!
缘起
2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,同日,极客学院组织在线TensorFlow中文文档
翻译。
机器学习作为人工智能的一种类型,可以让软件根据大量的数据来对未来的情况进行阐述或预判。如今,领先的
科技巨头无不在机器学习下予以极大投入。Facebook、苹果、微软,甚至国内的百度。Google 自然也在其
中。「TensorFlow」是 Google 多年以来内部的机器学习系统。如今,Google 正在将此系统成为开源系统,并将
此系统的参数公布给业界工程师、学者和拥有大量编程能力的技术人员,这意味着什么呢?
打个不太恰当的比喻,如今 Google 对待 TensorFlow 系统,有点类似于该公司对待旗下移动操作系统 Androi
d。如果更多的数据科学家开始使用 Google 的系统来从事机器学习方面的研究,那么这将有利于 Google 对日益
发展的机器学习行业拥有更多的主导权。
为了让国内的技术人员在最短的时间内迅速掌握这一世界领先的 AI 系统,极客学院 Wiki 团队发起对 TensorFl
ow 官方文档的中文协同翻译,一周之内,全部翻译认领完成,一个月后,全部30章节翻译校对完成,上线极客学
院Wiki平台并提供下载。
Google TensorFlow项目负责人Jeff Dean为该中文翻译项目回信称:"看到能够将TensorFlow翻译成中文我非常激
动,我们将TensorFlow开源的主要原因之一是为了让全世界的人们能够从机器学习与人工智能中获益,类似这样
的协作翻译能够让更多的人更容易地接触到TensorFlow项目,很期待接下来该项目在全球范围内的应用!"
Jeff回信原文:
jeff
图片 .2jeff
再次衷心感谢每一位为该翻译项目做出贡献的同学,我们会持续关注TensorFlow、AI领域以及其它最新技术的发
详解Tensorflow数据读取有三种⽅式(next_batch)
Tensorflow数据读取有三种⽅式:
1. Preloaded data: 预加载数据
2. Feeding: Python产⽣数据,再把数据喂给后端。
3. Reading from file: 从⽂件中直接读取
这三种有读取⽅式有什么区别呢? 我们⾸先要知道TensorFlow(TF)是怎么样⼯作的。
TF的核⼼是⽤C++写的,这样的好处是运⾏快,缺点是调⽤不灵活。⽽Python恰好相反,所以结合两种语⾔的优势。涉及计
算的核⼼算⼦和运⾏框架是⽤C++写的,并提供API给Python。Python调⽤这些API,设计训练模型(Graph),再将设计好的
Graph给后端去执⾏。简⽽⾔之,Python的⾓⾊是Design,C++是Run。
⼀、预加载数据:
import tensorflow as tf
# 设计Graph
x1 = tf.constant([2, 3, 4])
x2 = tf.constant([4, 0, 1])
y = tf.add(x1, x2)
# 打开⼀个session --> 计算y
with tf.Session() as sess:
print sess.run(y)
⼆、python产⽣数据,再将数据喂给后端
import tensorflow as tf
# 设计Graph
x1 = tf.placeholder(tf.int16)
x2 = tf.placeholder(tf.int16)
y = tf.add(x1, x2)
# ⽤Python产⽣数据
li1 = [2, 3, 4]
li2 = [4, 0, 1]
# 打开⼀个session --> 喂数据 --> 计算y
with tf.Session() as sess:
print sess.run(y, feed_dict={x1: li1, x2: li2})
深度学习笔记——深度学习框架TensorFlow
深度学习(4)二. 教程:
Deep MNIST for Experts:
TensorFlow is a powerful library for doing large-scale
numerical computation. One of the tasks at which it excels is
implementing and training deep neural networks. In this tutorial
we will learn the basic building blocks of a TensorFlow model
while constructing a deep convolutional MNIST classifier.
TensorFlow是一个非常强大的用来做大规模数值计算的库。其所擅长的任务之一就是实现以及训练深度神经网络。在本教程中,我们将学到构建一个TensorFlow模型的基本步骤,并将通过这些步骤为MNIST构建一个深度卷积神经网络。
This introduction assumes familiarity with neural networks
and the MNIST dataset. If you don’t have a background with
them, check out the introduction for beginners. Be sure to install
TensorFlow before starting.
这个教程假设你已经熟悉神经网络和MNIST数据集。如果你尚未了解,请查看新手指南.
About this tutorial:
The first part of this tutorial explains what is happening in
详解Python使⽤tensorflow⼊门指南
TensorFlow是Google公司2015年11⽉开源的第⼆代深度学习框架,是第⼀代框架DistBelief的改进版本.
TensorFlow⽀持python和c/c++语⾔, 可以在cpu或gpu上进⾏运算, ⽀持使⽤virtualenv或docker打包发布.
定义变量
为了使⽤tensorflow,⾸先我们需要导⼊它
import tensorflow as tf
对于符号变量,我们新建⼀个
x = tf.placeholder(tf.float32, [None, 784])
这⾥x并不是⼀个特定的值,只是⼀个占位符,后⾯我们需要⽤tensorflow进⾏计算式,我们会把它作为输⼊
在模型中,我们需要weights权重和biases偏置,这⾥就⽤Variable来处理定义,Variable可以在整个计算过程中modified
w = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
在新建Variable的同时,我们也初始化了它,然后
y = tf.nn.softmax(tf.matmul(x, w) + b)
这样我们就成功的实现了我们的模型
训练
我们⽤cross-entropy作为我们的cost function
H_{y'}(y) = -\sum_i y'_i \log(y_i)
y就是我们预测的概率分布,y'是真实的概率分布
为了实现交叉熵,我们需要⼀个新的占位符来作为正确答案的输⼊
y_ = tf.placeholder(tf.float32, [None, 10])
cross_entropy = -tf.reducen_sum(y_ * tf.log(y))
通过梯度下降来实现优化模型
train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(cross_entropy)