tensorflow学习笔记一——just get started

  我现在什么都不知道,打算开始学习tensorflow作为机器学习入门的开始。

  昨天完成了对tensorflow官方入门介绍的学习,了解了tensorflow的基本原理和编程方法。我们在进行tensorflow编程时,程序的逻辑是:建立数据流图-->初始化变量-->运行程序。下面就每一步进行介绍。

  1. 建立数据流图
      完成了这一部分的学习,我才了解了tensorflow的意思。在tensorflow中,程序的逻辑可以表示成数据流图,图的节点是一组对tensor(向量或者矩阵)的操作,节点的输出仍是一组向量或者矩阵。在建立数据流图时,可以先给出数据,或者用变量表示输入数据,在第三步运行时再对变量进行赋值。

    import tensorflow as tf
    
    # Create a Constant op that produces a 1x2 matrix.  The op is
    # added as a node to the default graph.
    #
    # The value returned by the constructor represents the output
    # of the Constant op.
    matrix1 = tf.constant([[3., 3.]])
    
    # Create another Constant that produces a 2x1 matrix.
    matrix2 = tf.constant([[2.],[2.]])
    
    # Create a Matmul op that takes ‘matrix1‘ and ‘matrix2‘ as inputs.
    # The returned value, ‘product‘, represents the result of the matrix
    # multiplication.
    product = tf.matmul(matrix1, matrix2)

    上面一段代码就创建了简单的图界面,节点的输入是两个常量矩阵,即在创建节点时已经给出了输入值,节点的输出是两个矩阵的乘积。当然,我们还可以用变量表示节点的输入,如步骤2的 代码所示

  2. 初始化变量
    如果我们在建立数据流图时定义了变量,程序在运行之前首先需要对变量进行初始化。用于变量初始化的命令很简单:tensorflow.initialize_all_variables(),在下面的程序中定义了变量并进行了变量的初始化:

    import tensorflow as tf
    import numpy as np
    
    # Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3
    x_data = np.random.rand(100).astype(np.float32)
    y_data = x_data * 0.1 + 0.3
    
    # Try to find values for W and b that compute y_data = W * x_data + b
    # (We know that W should be 0.1 and b 0.3, but Tensorflow will
    # figure that out for us.)
    W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
    b = tf.Variable(tf.zeros([1]))
    y = W * x_data + b
    
    # Minimize the mean squared errors.
    loss = tf.reduce_mean(tf.square(y - y_data))
    optimizer = tf.train.GradientDescentOptimizer(0.5)
    train = optimizer.minimize(loss)
    
    # Before starting, initialize the variables.  We will ‘run‘ this first.
    init = tf.initialize_all_variables()
    
    # Launch the graph.
    sess = tf.Session()
    sess.run(init)
  3. 运行程序,得到结果
    运行程序之前需要通过tensorflow.Session()建立session,然后运行程序,如果我们已经在建立流图时给出了程序的输入,那么直接将需要计算的结果作为run的参数:

     1 import tensorflow as tf
     2 import numpy as np
     3 #输入已经给出
     4 x_data = np.random.rand(100).astype(np.float32)
     5 y_data = x_data * 0.1 + 0.3
     6
     7 W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
     8 b = tf.Variable(tf.zeros([1]))
     9 y = W * x_data + b
    10
    11 # Minimize the mean squared errors.
    12 loss = tf.reduce_mean(tf.square(y - y_data))
    13 optimizer = tf.train.GradientDescentOptimizer(0.5)
    14 train = optimizer.minimize(loss)
    15
    16 # Before starting, initialize the variables.  We will ‘run‘ this first.
    17 init = tf.initialize_all_variables()
    18
    19 # Launch the graph.
    20 sess = tf.Session()
    21 sess.run(init)
    22
    23 # Fit the line.
    24 for step in range(201):
    25     sess.run(train)
    26     if step % 20 == 0:
    27         #我们需要计算W和b的值,将他们作为run的参数
    28         print(step, sess.run(W), sess.run(b))
    29
    30 # Learns best fit is W: [0.1], b: [0.3]

    对于使用变量代表输入的程序,需要将变量赋值并作为run的参数:

    #定义了变量,未经性赋值
    input1 = tf.placeholder(tf.float32)
    input2 = tf.placeholder(tf.float32)
    output = tf.mul(input1, input2)
    
    with tf.Session() as sess:
        #运行时,以字典形式传入变量的值
      print(sess.run([output], feed_dict={input1:[7.], input2:[2.]}))

时间: 2024-11-08 20:43:16

tensorflow学习笔记一——just get started的相关文章

Tensorflow学习笔记2:About Session, Graph, Operation and Tensor

简介 上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统.而图的节点则是由操作(Operation)来构成的,而图的各个节点之间则是由张量(Tensor)作为边来连接在一起的.所以Tensorflow的计算过程就是一个Tensor流图.Tensorflow的图则是必须在一个Session中来计算.这篇笔记来大致介绍一下Session.Graph.Operation和Tensor. Session Session提供了O

TensorFlow学习笔记(UTF-8 问题解决 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte)

我使用VS2013  Python3.5  TensorFlow 1.3  的开发环境 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 在是使用Tensorflow读取图片文件的情况下,会出现这个报错 代码如下 # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np import mat

Tensorflow学习笔记(一):MNIST机器学习入门

学习深度学习,首先从深度学习的入门MNIST入手.通过这个例子,了解Tensorflow的工作流程和机器学习的基本概念. 一  MNIST数据集 MNIST是入门级的计算机视觉数据集,包含了各种手写数字的图片.在这个例子中就是通过机器学习训练一个模型,以识别图片中的数字. MNIST数据集来自 http://yann.lecun.com/exdb/mnist/ Tensorflow提供了一份python代码用于自动下载安装数据集.Tensorflow官方文档中的url打不开,在CSDN上找到了一

Tensorflow学习笔记3:TensorBoard可视化学习

TensorBoard简介 Tensorflow发布包中提供了TensorBoard,用于展示Tensorflow任务在计算过程中的Graph.定量指标图以及附加数据.大致的效果如下所示, TensorBoard工作机制 TensorBoard 通过读取 TensorFlow 的事件文件来运行.TensorFlow 的事件文件包括了你会在 TensorFlow 运行中涉及到的主要数据.关于TensorBoard的详细介绍请参考TensorBoard:可视化学习.下面做个简单介绍. Tensorf

TensorFlow学习笔记(8)--网络模型的保存和读取【转】

转自:http://blog.csdn.net/lwplwf/article/details/62419087 之前的笔记里实现了softmax回归分类.简单的含有一个隐层的神经网络.卷积神经网络等等,但是这些代码在训练完成之后就直接退出了,并没有将训练得到的模型保存下来方便下次直接使用.为了让训练结果可以复用,需要将训练好的神经网络模型持久化,这就是这篇笔记里要写的东西. TensorFlow提供了一个非常简单的API,即tf.train.Saver类来保存和还原一个神经网络模型. 下面代码给

Tensorflow学习笔记(对MNIST经典例程的)的代码注释与理解

1 #coding:utf-8 2 # 日期 2017年9月4日 环境 Python 3.5  TensorFlow 1.3 win10开发环境. 3 import tensorflow as tf 4 from tensorflow.examples.tutorials.mnist import input_data 5 import os 6 7 8 # 基础的学习率 9 LEARNING_RATE_BASE = 0.8 10 11 # 学习率的衰减率 12 LEARNING_RATE_DE

Tensorflow学习笔记(1)

一.背景 本人学习Tensorflow是为了完成毕业设计的工作,之前并没有用过其他的深度学习平台,Tensorflow作为当前很流行的一个平台,无论是教学文档,还是使用其开发的工程,这些资源都是很丰富的,所以很适合新手来进行入门.Tensorflow的具体背景我就不过多的介绍了,网上有很多的资源.另外我写这一系列博客的目的是激励自己吧,逼着自己学得更透彻一点,毕竟会用和能熟悉的写成教程还是两码事,希望自己能坚持下去. 2.Tensorflow安装 我使用的是自己的笔记本电脑,配置是i7-6700

Tensorflow学习笔记---2--DCGAN代码学习

以mnist数据训练为例,学习DCGAN(deep convolutional generative adversarial networks)的网络结构. 代码下载地址https://github.com/carpedm20/DCGAN-tensorflow 注1:发现代码中以mnist为训练集的网络和以无标签数据集(以下简称unlabeled_dataset)为训练集的网络不同,结构有别.以下笔记主要针对前者(Generator=3个ReLU+1个Sigmoid,Discriminator=

Google TensorFlow 学习笔记一 —— TensorFlow简介

"TensorFlow is an Open Source Software Library for Machine INtenlligence" 本笔记参考tensorflow.org的教程,翻译并记录作者的学习过程,仅供参考,如有不当之处,请及时指出并多多包涵. TensorFlow是一款开源的数学计算软件,使用data flow graphs的形式进行计算.这种灵活的架构允许我们使用相同的API在单或多CPUs或GPU,servers设置移动设备上进行计算. Data Flow

Tensorflow学习笔记一

今天开始正式学习Tensorflow, 首先从源码开始, 装好了CentOS 7 X64, 并且安装了桌面版本, 计划能够构建Tensorflow成功 首先从Github从Fork了一个版本到我的Git账号, 然后clone到本地 首先要了解Bazel, 这是什么东西?这是谷歌代码构建工具, 没有办法, 先自己构建一个吧 https://bazel.build/versions/master/docs/install.html#ubuntu