TensorFlow神经网络学习之张量与变量概念
短信预约 -IT技能 免费直播动态提醒
一、张量定义
张量:TensorFlow的张量是n维数组,类型为tf.Tensor。
标量:一个数字 (0阶张量)
向量:一维数组 (1阶张量)
矩阵:二维数组 (2阶张量)
二、张量属性
1、张量的类型
#创建常数张量
a = tf.constant(3.0)
print(a)
2、张量的阶
三、张量的指令
1、常数张量(普通)
#创建常数张量
a = tf.constant(3.0)
print(a)
2、张量数组
1、固定张量数组(0)
#创建张量数组
#0:
array_0 = tf.zeros(shape=[3,3]) #3*3数组(0)
2、固定张量数组(1)
#1:
array_1 = tf.ones(shape=[3,3]) #3*3数组(1)
3、随机张量数组
#随机:
array_random = tf.random_normal(shape=[2,3], mean=1.75, stddev=0.12)
# 2*3数组 均值(1.75) 标准差
3、查看张量值
查看张量值:张量.eval()
#会话(查看张量)
with tf.Session() as sess:
print(a.eval())
print(array_0.eval())
print(array_1.eval())
print(array_random.eval())
4、张量类型改变
#修改张量类型
array_0 = tf.cast(array_0, tf.int32)
5、张量形状改变
注:属于动态改变张量,需要张量元素个数固定。
#修改张量形状
array_random = tf.reshape(array_random, shape=[3,2])
修改前:
修改后:
代码
# 张量(创建与修改)
import tensorflow as tf
# 创建张量
def Create_Tensor():
# 创建常数张量
a = tf.constant(3.0)
print(a)
# 创建张量数组
# 0:
array_0 = tf.zeros(shape=[3, 3]) # 3*3数组(0)
# 1:
array_1 = tf.ones(shape=[3, 3]) # 3*3数组(1)
# 随机:
array_random = tf.random_normal(shape=[2, 3], mean=1.75, stddev=0.12)
# 2*3数组 均值(1.75) 标准差
# 会话(查看张量)
with tf.Session() as sess:
print(a.eval())
print(array_0.eval())
print(array_1.eval())
print(array_random.eval())
# 修改张量
def Modify_Tensor():
global array_0, array_random
print('修改后的:')
# 修改张量类型
array_0 = tf.cast(array_0, tf.int32)
# 修改张量形状
array_random = tf.reshape(array_random, shape=[3, 2])
# 会话(查看张量)
with tf.Session() as sess:
print(array_0.eval())
print(array_random.eval())
# 创建张量
Create_Tensor()
# 修改张量
Modify_Tensor()
四、变量
1、定义变量
# 定义变量
a = tf.Variable(initial_value=2)
b = tf.Variable(initial_value=4)
c = tf.add(a,b)
2、初始化变量
TensorFlow的变量必须初始化,否则会报错。
# 初始化变量
init = tf.global_variables_initializer()
3、开启会话(执行)
# 开启会话
with tf.Session() as sess:
sess.run(init)
print(sess.run(c))
代码
# 变量
import tensorflow as tf
# 定义变量
a = tf.Variable(initial_value=2)
b = tf.Variable(initial_value=4)
c = tf.add(a,b)
# 初始化变量
init = tf.global_variables_initializer()
# 开启会话
with tf.Session() as sess:
sess.run(init)
print(sess.run(c))
以上就是TensorFlow神经网络学习之张量与变量概念的详细内容,更多关于TensorFlow的资料请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341