Tensorflow深度学习之四:placeholder和Session
来源:互联网 发布:centos编译安装php5.6 编辑:程序博客网 时间:2024/05/21 09:00
本文简单介绍了一下Tensorflow中的placeholder的使用方法。(由于本人最近刚刚接触Tensorflow,对其中的概念若有解释错误,还请不吝指出。)
import tensorflow as tf#Tensorflow默认会话sess = tf.InteractiveSession()#建立两个矩阵变量w1和w2#tf.random_normal(shape,# mean=0.0,# stddev=1.0,# dtype=dtypes.float32,# seed=None,# name=None)#产生随机正态分布#shape表示矩阵的维度,例如:#tf.random_normal([2,3],mean=1.0, stddev=1.0)是一个2行3列的矩阵,#mean表示均值,默认为0.0,stddev表示标准差,默认为1.0w1 = tf.Variable(tf.random_normal([2,3],mean=1.0, stddev=1.0))w2 = tf.Variable(tf.random_normal([3,1],mean=1.0, stddev=1.0))#定义一个placeholder,用于保存相应的数据。#placeholder(dtype, shape=None, name=None)#dtype:表示需要存放的数据的类型,一般可以使用tf.float32#shape:表示需要存放的数据的大小结构,简单可以理解为是一个多维数组,默认为None,可以不指定,根据实际需要,大小会自动调整。#name:名称,默认为None#在这里只是定义了这个placeholder的结构,并没有对其进行赋值(feed)操作。x = tf.placeholder(dtype=tf.float32,shape=[1,2],name="input")#初始化全局变量,这里由于只有w1和w2没有被初始化(之前只是定义了w1和w2的tensor,并没有被初始化)tf.global_variables_initializer().run()#tf.initialize_all_variables().run() #这种写法也可,官方推荐使用上面的写法#计算矩阵相乘a=x*w1(关于矩阵乘法,可以参看线性代数)a = tf.matmul(x ,w1)#计算矩阵相乘y=a*w2y = tf.matmul(a, w2)#输出计算结果,是一个1行1列的二维矩阵#在这之前,我们都只是定义了Tensorflow中的Graph的结构,并没有真的去执行这个Graph。#现在,通过feed_dict参数,传入一个1行2列的矩阵,并将这个矩阵赋值给x。#由于y的计算依赖于x的取值,因此必须使用feed_dict参数(该参数本质上是一个Python字典)。#最后在默认会话下执行run方法,计算y的值,并输出。#run方法返回的是最后的计算结果,在这里是一个1行1列的二维矩阵。print(sess.run(y,feed_dict={x:[[0.7,0.9]]}))print(y)#使用下列语句会出现错误#print(y.eval())
输出结果如下:(不同的机器运行结果会不同)
[[ 0.6891433]]Tensor("MatMul_1:0", shape=(1, 1), dtype=float32)
我们也可以不指定placeholder的大小,其大小会根据实际情况确定。
import tensorflow as tf#Tensorflow默认会话sess = tf.InteractiveSession()w1 = tf.Variable(tf.random_normal([2,3],mean=1.0, stddev=1.0))w2 = tf.Variable(tf.random_normal([3,1],mean=1.0, stddev=1.0))#定义一个placeholder,用于保存相应的数据。#placeholder(dtype, shape=None, name=None)#dtype:表示需要存放的数据的类型,一般可以使用tf.float32#shape:表示需要存放的数据的大小结构,简单可以理解为是一个多维数组,默认为None,可以不指定,根据实际需要,大小会自动调整。#name:名称,默认为None#在这里只是定义了这个placeholder的结构,并没有对其进行赋值(feed)操作。#注意:这里并没有指定这个placeholder的大小。x = tf.placeholder(dtype=tf.float32,name="input")#初始化全局变量,这里由于只有w1和w2没有被初始化(之前只是定义了w1和w2的tensor,并没有被初始化)tf.global_variables_initializer().run()#tf.initialize_all_variables().run() #这种写法也可,官方推荐使用上面的写法#计算矩阵相乘a=x*w1(关于矩阵乘法,可以参看线性代数)a = tf.matmul(x ,w1)#计算矩阵相乘y=a*w2y = tf.matmul(a, w2)#输出计算结果,是一个3行1列的二维矩阵#在这之前,我们都只是定义了Tensorflow中的Graph的结构,并没有真的去执行这个Graph。#现在,通过feed_dict参数,传入一个3行2列的矩阵,并将这个矩阵赋值给x。#由于y的计算依赖于x的取值,因此必须使用feed_dict参数(该参数本质上是一个Python字典)。#最后在默认会话下执行run方法,计算y的值,并输出。#run方法返回的是最后的计算结果,在这里是一个3行1列的二维矩阵。print(sess.run(y,feed_dict={x:[[0.7,0.9],[0.8, 0.3],[1.3,2.6]]}))print(y)#使用下列语句会出现错误#print(y.eval())
运行结果如下:
[[-0.6477921 ] [-0.32123464] [-1.73718834]]Tensor("MatMul_1:0", shape=(?, 1), dtype=float32)
阅读全文
0 0
- Tensorflow深度学习之四:placeholder和Session
- TensorFlow学习之 placeholder
- Tensorflow深度学习之十六:placeholder的注解和reshape函数
- TensorFlow Session&&Variable&&PlaceHolder
- tensorflow中Variable和Placeholder的学习
- tensorflow学习之常用函数总结:tensorflow.placeholder()函数
- tensorflow学习:placeholder用法
- tensorflow入门之placeholder
- Tensorflow深度学习之softmax
- TensorFlow学习:Graph和Session
- TensorFlow学习之路(0):tf.placeholder() & feed_dict={}
- 3. Tensorflow学习笔记之tf.placeholder函数
- TensorFlow 学习积累(1):variable 和 placeholder
- Tensorflow学习: Placeholder占位符
- 深度学习 和 tensorflow 学习资料收集
- 深度学习框架Tensorflow学习(四)----逻辑回归
- 《深度学习原理与TensorFlow实践》学习笔记(四)
- 深度学习之TensorFlow进阶教程一
- Unity 碰撞器 简介
- Codeforce#424E. Cards Sorting(脑洞+树状数组)
- 海思Hi3516A开发板RTSP H.265/H.264编码HDMI输入1080P60帧高清
- thinkphp在volist中 如何url传值,
- MYSQL数据库命名及设计规范
- Tensorflow深度学习之四:placeholder和Session
- FreeBSD开发手册中文版
- spark 基础知识- spark SQL专题
- 文章解析整理:《十分钟看懂图像语义分割技术》
- 基于Swift的iOS应用程序开发:使用表格显示并控制数据(三):批量处理表格数据
- Mycat使用遇到的错误
- VMware Linux共享文件夹 虚拟机无法共享解决方法
- ajax请求时request加请求头
- 数据挖掘(Data Mining, uva1591)