Tensorflow的低级API要使用张量(Tensor)、图(Graph)、会话(Session)等来进行编程。虽然从一定程度上来看使用低级的API非常的繁重,但是它能够帮助我们更好的理解Tensorflow的,更加灵活的控制训练的过程。程序的构建分为两个步骤,第一个步骤是图的构建,第二个步骤是会话的运行。

Tensorflow中张量和变量

Tensorflow中图包含一系列的节点还有边。这里的节点是各种指令(op),它负责进行张量的计算,边表示的是指令产生的结果,为张量。构建好一张图以后开始运行,图的结构不变,里面的数据不断的流动和更新。其中更新的数据是那些变量。虽然变量属于张量的一种,但是它们还是有很大的不同,可以理解为,张量的值是临时产生的,进行数据运算的时候使用的值,比如在深度学习当中的读入的数据以及计算的结果。而变量的值是我们用来更新的参数,比如W和b等参数。

求解线性模型的参数

import tensorflow as tf
import numpy as np # 构建一些数据
x_true = np.linspace(-1, 1, 100).astype(np.float32)
y_true = 3*x_true + 1 # 定义W和b变量
Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0), name='weights')
biases = tf.Variable(tf.zeros([1]), name='biases') # 计算损失
y_pred = Weights * x_true + biases
loss = tf.reduce_mean(tf.square(y_pred - y_true), name='loss') # 定义优化
optimizer = tf.train.GradientDescentOptimizer(0.1)
train = optimizer.minimize(loss, name='train') init = tf.global_variables_initializer() with tf.Session() as sess:
sess.run(init)
for i in range(100):
sess.run(train)
if i % 10 == 0:
print('Weights', sess.run(Weights), 'biases', sess.run(biases), 'loss', sess.run(loss))

在Session之前都是对于图的构建,Session里面是进行的图的运行。

使用TensorBoard看一下这个图的结构:

使用TensorFlow低级别的API进行编程的更多相关文章

  1. 使用TensorFlow高级别的API进行编程

    这里涉及到的高级别API主要是使用Estimator类来编写机器学习的程序,此外你还需要用到一些数据导入的知识. 为什么使用Estimator Estimator类是定义在tf.estimator.E ...

  2. 谷歌开源的TensorFlow Object Detection API视频物体识别系统实现教程

    视频中的物体识别 摘要 物体识别(Object Recognition)在计算机视觉领域里指的是在一张图像或一组视频序列中找到给定的物体.本文主要是利用谷歌开源TensorFlow Object De ...

  3. 使用TensorFlow Object Detection API+Google ML Engine训练自己的手掌识别器

    上次使用Google ML Engine跑了一下TensorFlow Object Detection API中的Quick Start(http://www.cnblogs.com/take-fet ...

  4. TensorFlow object detection API

    cloud执行:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_pet ...

  5. Tensorflow object detection API 搭建属于自己的物体识别模型

    一.下载Tensorflow object detection API工程源码 网址:https://github.com/tensorflow/models,可通过Git下载,打开Git Bash, ...

  6. Tensorflow object detection API ——环境搭建与测试

    1.开发环境搭建 ①.安装Anaconda 建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配 ...

  7. Tensorflow object detection API 搭建物体识别模型(四)

    四.模型测试 1)下载文件 在已经阅读并且实践过前3篇文章的情况下,读者会有一些文件夹.因为每个读者的实际操作不同,则文件夹中的内容不同.为了保持本篇文章的独立性,制作了可以独立运行的文件夹目标检测. ...

  8. Tensorflow object detection API 搭建物体识别模型(三)

    三.模型训练 1)错误一: 在桌面的目标检测文件夹中打开cmd,即在路径中输入cmd后按Enter键运行.在cmd中运行命令: python /your_path/models-master/rese ...

  9. Tensorflow object detection API 搭建物体识别模型(一)

    一.开发环境 1)python3.5 2)tensorflow1.12.0 3)Tensorflow object detection API :https://github.com/tensorfl ...

随机推荐

  1. http://code52.org/DownmarkerWPF/

    http://code52.org/DownmarkerWPF/ http://kb.cnblogs.com/page/132209/

  2. 我常用的 Python 调试工具 - 博客 - 伯乐在线

    .ckrating_highly_rated {background-color:#FFFFCC !important;} .ckrating_poorly_rated {opacity:0.6;fi ...

  3. 在 Python 中使用 GDB 来调试 转载

    2013/11/01 | Comments 大约一年前,我接触了 Java 中的 Btrace 能够不停机查看线上 JVM 运行情况的特性让我艳羡不已. 另外还有强悍的 jStack 和 jConso ...

  4. JAVA 解析TXT文本

    package file; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; im ...

  5. GitHub正式启用声明

    0x00 说明 GitHub账号很早之前就已经注册,几经常识都没有能够好好的将这座宝库应用好,实在是汗颜.今天特地将GitHub重新拾起,以后一定要好好使用这个利器,不要荒废了. 0x01 内容 Gi ...

  6. 树莓派3B更换源为阿里源

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #科大源 sudo nano /etc/apt/sources.list deb htt ...

  7. centos7上使用locate命令

    https://blog.csdn.net/yqh19880321/article/details/72426879

  8. Java开发工程师学习路线

    贴一个比较出名的Java开发工程师学习路线图 好好学习提升中 这个貌似也不是特别全,算法,设计模式,架构好像都没有

  9. 使用VSCode配置简单的vue项目

    由于最近要使用的项目框架为前后端分离的,采用的是vue.js+webAPI的形式进行开发的.因为之前我没有接触过vue.js,也只是通过视频文档做了一些简单的练习.今天技术主管说让大家熟悉下VSCod ...

  10. 决策树 (decision tree)

    内容学习于 ApacheCN github 定义: 分类决策树模型是一种描述对实例进行分类的树形结构.决策树由结点(node)和有向边(directed edge)组成.结点有两种类型:内部结点(in ...