import tensorflow as tf

from tensorflow.python.framework import ops
ops.reset_default_graph()

#开始一个计算图,通过使用tf.Session()的方式来获得
sess=tf.Session()

#创建张量,TensorFlow当中内置了很多用来创建张量的不同方式
my_tensor=tf.zeros([1,20])
#通过在会话当中调用run函数估算我们的tensor
print(sess.run(my_tensor))

#创建变量
my_var=tf.Variable(tf.zeros([1,20]))
#注意,但是现在还不能直接使用sess.run()直接输出计算的张量,因为TensorFlow通过计算图进行操作,所以为了能够估算一个变量的数值,我们必须要执行一个变量初始化的操作,
#接下来通过一个初始化操作,然后再执行tf.run()输出
sess.run(my_var.initializer)
sess.run(my_var)


#接下来通过创建自定义形状的变量变量
row_dim = 2
col_dim = 3
#声明自定义形状的变量
zeros_var = tf.Variable(tf.zeros([row_dim, col_dim]))
ones_var = tf.Variable(tf.ones([row_dim, col_dim]))
#接着通过调用initializer和run方法实现估算变量的数值
sess.run(zeros_var.initializer)
sess.run(ones_var.initializer)
print(sess.run(zeros_var))
print(sess.run(ones_var))

#基于其他的tensor的形状创建
#如果创建的tensor的形状依赖于其他的tensor的形状,那么我们就可以使用TensorFlow内建的函数ones_like()或者zeros_like()来创建
zeros_similar=tf.Variable(tf.zeros_like(zeros_var))
ones_silimar=tf.Variable(tf.ones_like(ones_var))
sess.run(zeros_similar.initializer)
sess.run(ones_silimar.initializer)
print(sess.run(zeros_similar))
print(sess.run(ones_silimar))

#通过填充一个常量来创建张量
fill_var=tf.Variable(tf.fill([row_dim,col_dim],-1))
sess.run(fill_var.initializer)
print(sess.run(fill_var))

#我们还可以通过使用数组或者列表常量创建变量
#通过使用常量创建变量
const_var = tf.Variable(tf.constant([8, 6, 7, 5, 3, 0, 9]))
#也可以使用下面一种方式来进行变量的创建
const_fill_var = tf.Variable(tf.constant(-1, shape=[row_dim, col_dim]))
sess.run(const_var.initializer)
sess.run(const_fill_var.initializer)
print(sess.run(const_var))
print(sess.run(const_fill_var))

# 基于序列和范围创建张量
# 在TensorFlow当中,我们也可以基于序列创建张量 TensorFlow当中的linspace和range和numpy类似于python和numpy当中的这个函数
# TensorFlow当中的 linspace
line_var = tf.Variable(tf.linspace(start=0.0,stop=1.0,num=3))  # 创建【0.0,0.5,1.0】包括最后一个值

# TensorFlow当中的范围创建变量
sequence_var=tf.Variable(tf.range(start=6,limit=15,delta=3))    # 创建范围函数[6,9,12]不包括最后一个值
sess.run(line_var.initializer)
sess.run(sequence_var.initializer)
print(sess.run(line_var))
print(sess.run(sequence_var))

# 使用随机数在TensorFlow当中创建变量
rnorm_var = tf.random_normal([row_dim, col_dim], mean=0.0, stddev=1.0)
runif_var = tf.random_uniform([row_dim, col_dim], minval=0, maxval=4)
print(sess.run(rnorm_var))
print(sess.run(runif_var))

# 在TensorBoard当中可视化创建的变量
# 为了在TensorBoard当中可视化创建的变量,我们需要reset一下computational graph然后创建全局的初始化
# 重设计算图
ops.reset_default_graph()

# 启动一个会话
sess = tf.Session()

# 创建变量
my_var = tf.Variable(tf.zeros([1,20]))

# 向TensorBoard当中添加总结
merged = tf.summary.merge_all()

# initialize graph write
writer = tf.summary.FileWriter('/tmp/variable_logs', graph=sess.graph)

# 初始化操作
initialize_op = tf.global_variables_initializer()

# 执行初始化操作
sess.run(initialize_op)










2、介绍在TensorFlow当中使用不同的方式创建张量tensor的更多相关文章

  1. IoC是一个很大的概念,可以用不同的方式实现。

    IoC是一个很大的概念,可以用不同的方式实现.其主要形式有两种: ◇ 依赖查找:容器提供回调接口和上下文条件给组件.EJB和Apache Avalon 都使用这种方式.这样一来,组件就必须使用容器提供 ...

  2. IoC是一个很大的概念,可以用不同的方式实现。其主要形式有两种:

    IoC是一个很大的概念,可以用不同的方式实现.其主要形式有两种: ◇依赖查找:容器提供回调接口和上下文条件给组件.EJB和ApacheAvalon都使用这种方式.这样一来,组件就必须使用容器提供的AP ...

  3. java链式创建json对象

    我们主要介绍一下:java中如何通过最简单的方式实现链式创建json对象,解决创建json代码臃肿的问题. 1.假设我们要创建一个json对象格式如下: { "code": 0, ...

  4. (转)Android学习笔记---SQLite介绍,以及使用Sqlite,进行数据库的创建,完成数据添删改查的理解

    原文:http://blog.csdn.net/lidew521/article/details/8655229 1.SQLite介绍:最大特点是,无数据类型;除了可以使用文件或SharedPrefe ...

  5. Tensorflow小技巧整理:修改张量特定元素的值

    TensorFlow小技巧整理:修改张量特定元素的值 最近在做一个摘要生成的项目,过程中遇到了很多小问题,从网上查阅了许多别人解决不同问题的方法,自己也在旁边开了个jupyter notebook搞些 ...

  6. python推导式创建序列

    推导式创建序列 推导式是一个或多个迭代器快速创建序列的一种方式.可以将循环和条件判断结合,简化代码.几个推导式注意符号的使用,比如小括号,方括号,大括号等等. 列表推导式 列表推导式生成列表对象,语法 ...

  7. tensorflow基础架构 - 处理结构+创建一个线性回归模型+session+Variable+Placeholder

    以下仅为自己的整理记录,绝大部分参考来源:莫烦Python,建议去看原博客 一.处理结构 因为TensorFlow是采用数据流图(data flow graphs)来计算, 所以首先我们得创建一个数据 ...

  8. tensorflow函数解析:Session.run和Tensor.eval的区别

    tensorflow函数解析:Session.run和Tensor.eval 翻译 2017年04月20日 15:05:50 标签: tensorflow / 机器学习 / 深度学习 / python ...

  9. oracle的约束隐式创建索引和先索引后约束的区别

    oracle的约束隐式创建索引和先索引后约束的区别 两种情况:1.对于创建约束时隐式创建的索引,在做删除操作的时候: 9i~11g都会连带删除该索引 2.对于先创建索引,再创建约束(使用到此索引)这种 ...

随机推荐

  1. OpenCV中imread失败cvLoadImage成功

    MYLAF 环境说明 编程环境:Windows 10(64bit), VS2013, OpenCV 2.4.12; 编程语言:C/C++: MYLAF 现象 在代码中,调用imread读取图片失败,但 ...

  2. 跨站点脚本攻击XSS

    来源:http://www.freebuf.com/articles/web/15188.html 跨站点脚本攻击是一种Web应用程序的攻击,攻击者尝试注入恶意脚本代码到受信任的网站上执行恶意操作.在 ...

  3. Centos7添加软链接

    1.pycharm添加软连接: 命令行模式中输入命令: ln -s /root/pycharm-2018.1/bin/pycharm.sh /usr/bin/pycharm ps:代码中/root/p ...

  4. Java EE开发课外事务管理平台

    Java EE开发课外事务管理平台 演示地址:https://ganquanzhong.top/edu 说明文档 一.系统需求 目前课外兴趣培训学校众多,完善,但是针对课外兴趣培训学校教务和人事管理信 ...

  5. windows下划分逻辑分区

    运行命令窗口后,我们输入命令"diskpart"回车! 然后我们在DISKPART>后面输入select disk 0 选择我们的硬盘,然后回车!当然如果你电脑上有好几块硬盘 ...

  6. 用OpenCV读取摄像头

    首先插入摄像头 在电脑中查看 #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp ...

  7. spring boot 实战笔记(一)

    spring 概述: Bean :每一个被 Spring 管理的 JAVA对象,都称之为 Bean.Spring提供一个IoC容器来初始化对象,负责创建Bean, 解决对象之间的依赖管理和对象的使用. ...

  8. selenium-JavaScript的处理

    JavaScript的处理 在自动化过程中,遇到js处理的元素,需要使用js语言对元素进行操作,例如,滑动到浏览器的底部或者顶部,时间控件的处理,元素可见不可见以及富文本的处理等,都需要js语言的支持 ...

  9. 每天进步一点点------MicroBlaze

             有了前面两个实例的铺垫,下面这个工程就要带大家尝试搭建一个基于MicroBlaze的应用.特权同学也是第一次接插Xilinx的嵌入式开发平台,跑了一个流程下来,正如所料,和Alter ...

  10. Unity手机端手势基本操作

    主要有单指移动3D物体.单指旋转3D物体.双指缩放3D物体. 基类 using UnityEngine; using System.Collections; /// <summary> / ...