• 安装
  • 入门
    • TensorFlow简介
    • 基本操作
    • loading lazy

安装

上TensorFlow官网按照教程安装。

入门

以下学习内容follow这篇博客

TensorFlow简介

TensorFlow是Google Brain Team开发的一个深度学习框架,使用的是data flow graph的模型进行计算。TF使用Python的API,可以布置在多个CPU,GPU上,并且有移动端的版本。可以在树莓派,Android,Windows,iOS,Linux上运行。

TF的计算模型是data flow graph,如下图:

整个模型在运行的时候就会从输入到输出。另外TF有个特点就是计算和具体执行时分开的,就是先定义一堆计算,整个框架描绘好,然后再开启一个session来执行。

tensor:n维数组,0维的就是scalar,一个数字;1维的就是vector;2维的就是matrix。

Session有两种写法
第一种:

import tensorflow as tfa = tf.add(3,35)
sess = tf.Session()
sess.run(a)
sess.close()

第二种:

import tensorflow as tfa = tf.add(3,35)
with tf.Session() as sess:sess.run(a)

为了节省计算量,session只计算与结果相关的部分,因此,需要计算什么就把上面加到run的list里。

x = 2
y = 3
add_op = tf.add(x,y)
mul_op = tf.multiply(x,y)
useless = tf.multiply(x,add_op)
pow_op = tf.pow(add_op,mul_op)with tf.Session() as sess:print sess.run([pow_op, useless])

基本操作

常量申明

a = tf.constant([2, 3], name = "a")
b = tf.constant([[3, 1], [2, 9], [1, 3]], name = "b")
x = tf.add(a, b, name = "add")
y = tf.multiply(a, b, name = "mul")with tf.Session() as sess:print sess.run([x, y])print xprint y

注意:这里的add和mul是对应元素相加相乘,不同于一般的矩阵运算!
结果如下:

[array([[ 5,  4],[ 4, 12],[ 3,  6]], dtype=int32), array([[ 6,  3],[ 4, 27],[ 2,  9]], dtype=int32)]

基本初始化

# tensor初始化为0
# tf.zeros(shape, dtype = tf.float32, name = None)
print tf.zeros([2, 3], tf.int32) # [[0, 0, 0], [0, 0, 0]]# tf.zeros_like(input_tensor, dtype = None, name = None, optimize = True)
input_tensor = [[1,2], [3,4], [5,6]]
print tf.zeros_like(input_tensor) # [[0,0], [0,0], [0,0]# tensor初始化为1
# tf.ones(shape, dtype = tf.float32, name = None)
print tf.ones([3,2], tf.int32) # [[0, 0], [[0, 0], [0, 0]]# tf.ones_like(input_tensor, dtype = None, name = None, optimize = True)
print tf.ones_like(input_tensor)  # [[1,1], [1,1], [1,1]# tensor初始化为某个值
# tf.fill(dims, value, name = None)
print tf.fill([2,3],6) # [[6,6,6], [6,6,6]]

运行结果如下:

Tensor("zeros:0", shape=(2, 3), dtype=int32)
Tensor("zeros_like:0", shape=(3, 2), dtype=int32)
Tensor("ones:0", shape=(3, 2), dtype=int32)
Tensor("ones_like:0", shape=(3, 2), dtype=int32)
Tensor("Fill:0", shape=(2, 3), dtype=int32)

loading lazy

只有在需要的时候才会创建或者是初始化一个object。导致一个循环出现的时候,这个graph就重复了n遍

正常

a = tf.Variable(10, name = "a")
b = tf.Variable(20, name = "b")
z = tf.add(a, b, name = "add")with tf.Session() as sess:sess.run(tf.global_variables_initializer())writer = tf.summary.FileWriter("./graphs", sess.graph)for _ in range(10):print sess.run(z)writer.close()

正常的图形

正常的结构

loading lazy

a = tf.Variable(10, name = "a")
b = tf.Variable(20, name = "b")with tf.Session() as sess:sess.run(tf.global_variables_initializer())writer = tf.summary.FileWriter("./graphs", sess.graph)for _ in range(10):print sess.run(tf.add(a, b))writer.close()

loading lazy图形

loading lazy结构

TensorFlow 安装及入门相关推荐

  1. TensorFlow 教程 --新手入门--1.3 安装实例

    TensorFlow是Google的一个开源机器学习框架,官网:https://www.tensorflow.org/  里面有详细的教程和API说明,我在虚拟机上装的TensorFlow所以不支持C ...

  2. Anaconda:Anaconda安装图文教程及其tensorflow安装、运行、测试之最强详细攻略

    Anaconda:Anaconda安装图文教程及其tensorflow安装.运行.测试之最强详细攻略 导读 能够在进行深度学习之前把这些辅助工具Python.Anaconda.GPU.Tensorfl ...

  3. TensorFlow安装-windows系统

    官方各版本的安装说明:https://www.tensorflow.org/install/ 本文介绍如何在windows环境下安装tensorflow, 跑起来简单的demo. 1.安装python ...

  4. TensorFlow.js快速入门

    by Pau Pavón 通过保罗·帕文(PauPavón) TensorFlow.js快速入门 (A quick introduction to TensorFlow.js) TensorFlow ...

  5. [图解tensorflow源码] 入门准备工作附常用的矩阵计算工具[转]

    [图解tensorflow源码] 入门准备工作 附常用的矩阵计算工具[转] Link: https://www.cnblogs.com/yao62995/p/5773142.html tensorfl ...

  6. TensorFlow发布语音识别入门教程,附1GB数据集代码

    原标题:TensorFlow发布语音识别入门教程,附1GB数据集&代码 机械鸡的鸡友经常问:如何开始入门深度学习语音和其他音频识别,例如关键字检测或语音命令. 虽然有一些伟大的开源语音识别系统 ...

  7. Tensorflow深度学习入门(1)——Tensorflow环境搭建

    Tensorflow深度学习入门--环境搭建 自测以下的环境搭建方式是行得通的,目前我用的就是这些 1.        下载安装Ubuntu 14.04 虚拟机 https://github.com/ ...

  8. Tensorflow之Mnist入门

    当我们学习编程的时候,第一件事情往往是学习如何打印出"Hello World".正如编程中会有"Hello World",Tensorflow中入门有mnist ...

  9. Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow pip命令...

    引言: Tensorflow大名鼎鼎,这里不再赘述其为何物.这里讲描述在安装python包的时候碰到的"No matching distribution found for tensorfl ...

最新文章

  1. Linux vim开启/关闭代码着色(高亮显示)
  2. ITK:使用最小最大曲率流平滑图像
  3. Java黑皮书课后题第2章:*2.22(金融应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题。以整数值作为输入,其最后两位代表的是美分币值
  4. 献给开发者的大礼--打造CSDN论坛专用阅读器(电脑报2006年11月6日 第44期)
  5. [Leetcode][第392题][JAVA][判断子序列][动态规划][双指针]
  6. 自己简单封装的自己项目需要的http请求
  7. 运算除法的计算机函数,2、Python基础--除法、常用数学函数(示例代码)
  8. 计算机端口介绍[详细列表]
  9. 怎样进行云迁移 企业才不会后悔!
  10. [SDOI2009]HH的项链 BZOJ1878
  11. CAM350测量pcb尺寸的操作方法
  12. series 锐捷rgrsr20_锐捷路由器(RG-RSR20-04)清除密码的方法详解
  13. 微信小程序生成推广二维码
  14. html可以简写的属性,css有哪些缩写属性?
  15. Oier们的幸运数字
  16. ROS小车——发布与订阅节点(7)【ROS保姆注释教学】
  17. 计算机操作系统之进程
  18. 工控 组态王6.60 SP3软件7.5 SP4 授权软件狗 USB 硬件狗 分享 下载
  19. 搞笑文章|如何瘫痪你的电脑
  20. 英语学习方法备忘_2

热门文章

  1. linux中设置程序开机自动启动
  2. 列式存储 V.S. 行式存储
  3. nagios 监控NFS
  4. google appengine的yaml文件,配置说明
  5. Oracle控制文件的重建
  6. mysql img格式缩放,再学 GDI+[89]: TGPImage(9) - 图像缩放时的质量(算法)
  7. 云计算的认识和看法_【云计算】如何理解云计算才是正确的?
  8. java反射的性能_java反射的性能问题
  9. 腾讯面试题:创建索引时,你会怎么考虑呢?(看完你就能和面试官谈人生了)
  10. 不明白点积的几何意义