Tensorflow基本概念

  • 使用图(graphs)来表示计算任务
  • 在被称之为会话(Session)的上下文(context)中执行图
  • 使用tensor表示数据
  • 通过变量(Variable)维护状态
  • 使用feed和fetch可以为任意的操作赋值或者从其中获取数据

Tensorflow是一个编程系统,使用图(graphs)来表示计算任务,图(graphs)中的节点称之为op
(operation),一个op获得0个或多个Tensor,执行计算,产生0个或多个Tensor。Tensor 看作是
一个 n 维的数组或列表。图必须在会话(Session)里被启动。

Tensorflow结构

创建图,启动图

#2-1 创建图,启动图
#创建一个常量op
m1=tf.constant([[3,3]])
#创建一个常量op
m2=tf.constant([[2],[3]])
#创建一个矩阵乘法op
product=tf.matmul(m1,m2)
print(product) with tf.compat.v1.Session() as sess: # run(product)触发了图中的3个op
result = sess.run(product)
print(result)

结果为:

变量

#2-2变量
#创建一个变量初始化0
state=tf.Variable(0,name='counter')
#创建op,作用是使state加1
new_value=tf.add(state,1)
#赋值op
update=tf.compat.v1.assign(state,new_value) with tf.compat.v1.Session() as sess:
#变量初始化
sess.run(tf.compat.v1.global_variables_initializer())
print(sess.run(state))
for _ in range(5):
sess.run(update)
print(sess.run(state))

输出为:

Fetch and Feed

#2-3Fetch and Feed
#Fetch
input1=tf.constant(3.0)
input2=tf.constant(2.0)
input3=tf.constant(5.0) add=tf.add(input2,input3)
mul=tf.multiply(input1,add) with tf.compat.v1.Session() as sess:
result=sess.run([mul,add])
print(result) #Feed
#创建占位符
input1=tf.compat.v1.placeholder(tf.float32)
input2=tf.compat.v1.placeholder(tf.float32)
output=tf.multiply(input1,input2) with tf.compat.v1.Session() as sess:
#feed的数据以字典传入
print(sess.run(output,feed_dict={input1:[7.],input2:[2.]}))

输出为:

线性模型

import numpy as np

#使用np生成100个随机点
x_data=np.random.rand(100)
y_data=x_data*0.1+0.2 #构造一个线性模型
b=tf.Variable(0.)
k=tf.Variable(0.)
y=k*x_data+b #二次代价函数
loss=tf.reduce_mean(tf.square(y_data-y))
#定义一个梯度下降法来进行训练的优化器
optimizer=tf.compat.v1.train.GradientDescentOptimizer(0.2) #最小化代价函数
train=optimizer.minimize(loss) #对变量进行初始化
init=tf.compat.v1.global_variables_initializer() with tf.compat.v1.Session() as sess:
sess.run(init)
for step in range(201):
sess.run(train)
if step%20==0:
print(step,sess.run([k,b]))

输出为:

Tensorflow-基础使用的更多相关文章

  1. TensorFlow基础

    TensorFlow基础 SkySeraph  2017 Email:skyseraph00#163.com 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com Over ...

  2. TensorFlow基础笔记(0) 参考资源学习文档

    1 官方文档 https://www.tensorflow.org/api_docs/ 2 极客学院中文文档 http://www.tensorfly.cn/tfdoc/api_docs/python ...

  3. TensorFlow基础笔记(3) cifar10 分类学习

    TensorFlow基础笔记(3) cifar10 分类学习 CIFAR-10 is a common benchmark in machine learning for image recognit ...

  4. TensorFlow基础剖析

    TensorFlow基础剖析 一.概述 TensorFlow 是一个使用数据流图 (Dataflow Graph) 表达数值计算的开源软件库.它使 用节点表示抽象的数学计算,并使用 OP 表达计算的逻 ...

  5. 05基于python玩转人工智能最火框架之TensorFlow基础知识

    从helloworld开始 mkdir mooc # 新建一个mooc文件夹 cd mooc mkdir 1.helloworld # 新建一个helloworld文件夹 cd 1.helloworl ...

  6. tensorflow基础篇-1

    1.使用占位符和变量 import tensorflow as tf import numpy as np #-----创建变量并初始化----------- def first(): my_var= ...

  7. TensorFlow应用实战 | TensorFlow基础知识

    挺长的~超出估计值了~预计阅读时间20分钟. 从helloworld开始 mkdir 1.helloworld cd 1.helloworldvim helloworld.py 代码: # -*- c ...

  8. tensorflow基础练习:线性模型

    TensorFlow是一个面向数值计算的通用平台,可以方便地训练线性模型.下面采用TensorFlow完成Andrew Ng主讲的Deep Learning课程练习题,提供了整套源码. 线性回归 多元 ...

  9. TensorFlow 基础概念

    初识TensorFlow,看了几天教程后有些无聊,决定写些东西,来夯实一下基础,提供些前进动力. 一.Session.run()和Tensor.eval()的区别: 最主要的区别就是可以使用sess. ...

  10. TensorFlow 基础知识

    参考资料: 深度学习笔记目录 向机器智能的TensorFlow实践 TensorFlow机器学习实战指南 Nick的博客 TensorFlow 采用数据流图进行数值计算.节点代表计算图中的数学操作,计 ...

随机推荐

  1. Open SSH CVE-2020-15778

    Open SSH OpenSSH 是用于使用 SSH 协议进行远程登录的一个开源实现.通过对交互的流量进行加密防止窃听,连接劫持以及其他攻击.OpenSSH 由 OpenBSD 项目的一些开发人员开发 ...

  2. XCTF EasyHook

    无壳,使用IDA直接分析主函数 逻辑很简单,问题的关键是Hook,题目也是EasyHook, 会发现在生成文件后,文件内容是被加密后的,那就怀疑加密函数参与Hook 动态调试一步步来看,先进入4012 ...

  3. 无法获得VMCI驱动程序的版本:句柄无效 (亲测有效! )

    今天在学习Linux 的时候 启动VM时出现了这个问题, 搞了很久终于弄好了, 就写篇博客来记录一下,帮助一下大家,如果对大家有帮助,还请各位哥哥姐姐点个关注,你的支持就是我坚持下去的动力 ! 文章目 ...

  4. 4. 上新了Spring,全新一代类型转换机制

    目录 ✍前言 版本约定 ✍正文 PropertyEditor设计缺陷 新一代类型转换 Converter 代码示例 不足 ConverterFactory 代码示例 不足 GenericConvert ...

  5. C4 模型 - 可视化架构设计

    前言 世界上最难的两件事是: 1. 把我的思想放进你的脑袋 2. 把你的钱放进我的口袋 第二点我们不探讨,因为这是众所周知的,不信?过来试试:) 对于第一点,对我们程序员来说,其实也是我个人一直强调的 ...

  6. java基础:数组详解以及应用,评委打分案例实现,数组和随机数综合,附练习案列

    1.数组 1.1 数组介绍 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致. 1.2 数组的定义格式 1.2.1 第一种格式 数据类型[] 数组名 示例: int[] arr;     ...

  7. 项目1_001_涉及知识点(Django任务追踪平台)

  8. CentOS8 部署SqlServer

    官方文档https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-li ...

  9. asp.net webapi 给字段赋初始值DefaultValue 解决前端传空字符串后台接受不是“”而是NULL

    /// <summary> /// 存储ID /// </summary> public Guid SaveID { get; set; } /// <summary&g ...

  10. winform使用Barcodex控件预览和打印一维码

    1.控件下载. http://files.cnblogs.com/files/masonblog/barcodex.zip . 包含barcodex.ocx控件.barcodex帮助文档.两个winf ...