tensorflow学习笔记(二)常量、变量、占位符、会话
常量、变量、占位符、会话是tensorflow编程的基础也是最常用到的东西,tensorflow中定义的变量、常量都是tensor(张量)类型。
常量tf.constant()
tensorflow中定义的变量、常量都是tensor(张量)类型常用是在运行过程中不会改变的量,如作线性回归Y = w*X + b ,知道一系列(X, Y) ,通过梯度下降找w和b,X和Y的值在程序运行时就不会去改变,只不断改变w和b去减小与真实值的误差,所以常量常用来表示输入输出。
声明一个标量常量:
t_1 = tf.constant(5)
声明一个向量常量:
t_2 = tf.constant([2, 3, 5])
变量tf.Variable()
作线性回归时要不断调整 w、b 做拟合,w和b就要声明为变量,所以变量常用来表示模型中的参数。
声明一个M行N列,全为零的变量:
b_1 = tf.Variable(tf.zeros([M, N], tf.float32)) # tf.zeros 创建全0张量,数字的类型是float32 ,然后用tf.Variable()将其变成变量
声明一个呈正态分布的 均值是2(默认=0.0)标准差是4(默认是1.0)的2行3列张量:
w_1 = tf.Variable(tf.random_nomarl([2, 3], mean=2.0, stddev=4, seed=2)
会话Session()
如同main()函数一样,会话是tensorflow程序的入口,tf 程序一般是先定义节点和节点的关系(运算),然后在会话中根据定义的运算自动算出结果 。
import tensorflow as tf
a = tf.constant([1, 2])
b = tf.constant([2, 3]) # 定义常量a,b是1X2的张量
c = tf.add(a, b) # 定义 c=a+b
d = tf.scalar_mul(tf.constant(2),c) # 定义 d=2*c with tf.Session() as sess:
print(sess.run(d)) # 根据定义的运算(图)计算 d 的值,并打印
第四行第五行定义c、d的运算,但是在那里并没有直接得出c和d的结果,在会话中sess.run(d) 计算d ,它会自动根据前面定义好的运算计算出d的结果,而不需显示的先计算c sess.run(c) 再计算d。如果在会话总只sess.run(c),程序就不会计算d了。
占位符tf.placeholder()
如名字一样,占位符就是先给变量占一个位,可以先不给变量赋具体值,先给变量一个位置,在会话运行时给变量传入具体的值。即占位符用于将数据提供给计算图。
tf.placeholder(dtype,shape=None,name=None)
dtype是变量的数据类型,shape是变量的形状(几行几列),name是变量的名称。
import tensorflow as tf
import numpy as np
a = np.array([1, 2])
b = np.array([2, 3]) # 创建a,b两个1x2的ndarry变量
X = tf.placeholder(tf.int32)
Y = tf.placeholder(tf.int32) # 定义两个占位符,张量形状可以不写,传入值的时候会自动判断 c = tf.add(X, Y)
d = tf.scalar_mul(tf.constant(2),c) with tf.Session() as sess:
re = sess.run(d, feed_dict={X:a, Y:b}) # 在图计算时提供具体值
print(re)
会话在用feed_dict = { } 传入值的时候传入的不能是tf.constant()这种类型,必须是数组、np.ndarry等具体数值的类型。
tensorflow学习笔记(二)常量、变量、占位符、会话的更多相关文章
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- tensorflow学习笔记二:入门基础
TensorFlow用张量这种数据结构来表示所有的数据.用一阶张量来表示向量,如:v = [1.2, 2.3, 3.5] ,如二阶张量表示矩阵,如:m = [[1, 2, 3], [4, 5, 6], ...
- tensorflow学习笔记二----------变量
tensorflow里面的变量表示,需要使用特定的语法进行.如果想构造一个行(列)向量,需要调用Variable函数进行.对两个变量进行操作,也要调用相应的函数. import tensorflow ...
- Tensorflow学习笔记二
现在来开始安装Tensorflow吧 Tensorflow有两种模式, 一种GPU支持, 另外一种仅CPU支持 虚拟机仅有CPU支持, 那就第一种模式吧 有4种途径去安装 virtualenv &qu ...
- Tensorflow学习笔记——占位符和feed_dict(二)
创建了各种形式的常量和变量后,但TensorFlow 同样还支持占位符.占位符并没有初始值,它只会分配必要的内存.在会话中,占位符可以使用 feed_dict 馈送数据. feed_dict是一个字典 ...
- python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...
- TensorFlow学习笔记——LeNet-5(训练自己的数据集)
在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练 ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- JDBC学习笔记二
JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...
随机推荐
- Hibernate笔记二
1.延迟加载(懒加载) 概念 需要用到该数据的时候才要加载 种类 类的延迟加载 案例 说明:注意:使用的是Load方法 1. 执行22行代码的时候,不发出sql语句,说明类的延迟加载和主键没有关系 ...
- 十六 OGNL在Struts2环境的入门
一 配置核心过滤器
- MFC TreeControl简单应用
目录 1. TreeControl添加节点 2. TreeControl菜单 3. TreeControl修改节点 4. TreeControl查找节点 5. TreeControl折叠展开节点 6. ...
- 【原】Web Polygraph 安装
1.下载 # wget http://www.web-polygraph.org/downloads/srcs/polygraph-4.3.2-src.tgz 2.解压 # tar zxvf poly ...
- C++11并发编程3------线程传参
/* 基本类型传值 */ #include <iostream> #include <thread> void func(int num) { num = ; std::cou ...
- python人脸对比
import sys import ssl from urllib import request,parse # client_id 为官网获取的AK, client_secret 为官网获 ...
- The Google File System中文版
译者:alex 摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的.可伸缩的分布式文件系统.GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量 ...
- MySQL操作之DDL
目录 SQL语句的分类 DDL语句 SQL语句的分类 DDL(Data Definition Languages)语句:数据定义语言.这些语句定义了不同的数据段. 数据库.表.列.索引等数据库对象的定 ...
- 视图家族 & 路由组件
目录 视图家族 & 路由组件 视图集与路由组件 基于 GenericAPIView 的十大接口 基于 generics 包下工具视图类的六大基础接口 视图集 路由组件:必须配合视图集使用 自定 ...
- phpQuery的使用
前言 为什么使用phpQuery phpQuery是基于php5新添加的DOMDocument.而DOMDocument则是专门用来处理html/xml.它提供了强大的xpath选择器及其他很多htm ...