Tensorflow学习Lecture 1

Lecture 1

阅读材料:GET STARTED

Introduction
Download and Setup (推荐采用virtualenv或pip安装,读安装需要的那部分,其他的可以不读)
Basic Usage

目的:

理解tensorflow中的基本概念:Tensor、Graph、Session、Operation、Variable
理解tensorflow中的基本操作:Build the Graph、Launching the Graph、Fetch、Feed
了解如何使用tensorflow构建神经

读书报告

实验

举例子是最通俗易懂的方式,就从文档的第一个示例代码来看如何使用TensorFlow。

# -*- coding: utf-8 -*-
#这个是中文的编码
#首先就是导入所用的tensorflow,numpy模块
import tensorflow as tf
import numpy as np
"""第一点:准备数据"""
# 使用 NumPy 生成假数据(phony data), 总共 100 个点.
#y=w1x1+w2x2+b是我们的目标数据
x_data = np.float32(np.random.rand(2, 100)) # 随机输入
y_data = np.dot([0.100, 0.200], x_data) + 0.300
""" 第二点:Build the Graph """
#准备图模型中的框架
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b
#确定损失函数
loss = tf.reduce_mean(tf.square(y - y_data))
#确定梯度下降优化算法,学习速率
optimizer = tf.train.GradientDescentOptimizer(0.5)
#确定目标函数,最小化损失函数
train = optimizer.minimize(loss)
# 初始化变量
init = tf.initialize_all_variables()
"""第三点:Launching the Graph"""
sess = tf.Session()
sess.run(init)
"""第四点:拟合平面"""
for step in xrange(0, 201):
    sess.run(train)
    if step % 20 == 0:
        print step, sess.run(W), sess.run(b)

实验拟合过程如下:

0 [[ 0.66649044 -0.12903959]] [ 0.3710857]
20 [[ 0.20043358  0.13378492]] [ 0.27883124]
40 [[ 0.12146838  0.19014345]] [ 0.29317209]
60 [[ 0.10484462  0.19890188]] [ 0.29785585]
80 [[ 0.10116023  0.20001651]] [ 0.29933676]
100 [[ 0.10029446  0.20006956]] [ 0.29979664]
120 [[ 0.10007862  0.20003301]] [ 0.29993796]
140 [[ 0.10002185  0.20001219]] [ 0.29998115]
160 [[ 0.10000624  0.2000041 ]] [ 0.29999429]
180 [[ 0.10000183  0.20000131]] [ 0.29999825]
200 [[ 0.10000053  0.20000041]] [ 0.29999948]

使用 TensorFlow原则:

  • 使用图 (graph) 来表示计算任务,这是编译式代码
  • 在被称之为会话 (Session) 的上下文 (context) 中执行图.
  • 使用 tensor 表示数据.
  • 通过变量 (Variable) 维护状态.
  • 使用 feed 和 fetch 为任意操作输入和输出数据.

TensorFlow基本概念:

张量(Tensor)
张量是为了表述统一,可以看做向量,矩阵的自然推广,用来表示广泛的数据类型。
标量—-0阶张量
向量—-1阶张量
矩阵—-2阶张量
n阶张量不好举例。。。

变量(Variables)
变量维护图执行过程中的状态信息,通常会将一个统计模型中的参数表示为一组变量.

图(graph)
TensorFlow 程序通常被组织成一个构建阶段, 和一个执行阶段. 在构建阶段, op 的执行步骤 被描述成一个图.

会话(Session)
启动图的第一步是创建一个Session 对象, 如果无任何创建参数, 会话构造器将启动默认图.Session 对象在使用完后需要关闭以释放资源.

节点(Operation)
节点是构成图的主要部分

TensorFlow基本操作:

  1. Build the Graph 构建图模型
  2. Launching the Graph 启动图模型
  3. Fetch 模型输出
  4. Feed 模型输入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值