欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

TensorFlow神经网络学习之张量与变量概念

程序员文章站 2022-03-24 08:06:51
目录一、张量定义张量:tensorflow的张量是n维数组,类型为tf.tensor。标量:一个数字 (0阶张量)向量:一维数组 (1阶张量)矩阵:二维数组 (2阶张量)二、张量属性1、张量的类型#创...

一、张量定义

张量:tensorflow的张量是n维数组,类型为tf.tensor。

标量:一个数字 (0阶张量)

向量:一维数组 (1阶张量)

矩阵:二维数组 (2阶张量)

二、张量属性

1、张量的类型

TensorFlow神经网络学习之张量与变量概念

#创建常数张量
    a = tf.constant(3.0)    
    print(a)

TensorFlow神经网络学习之张量与变量概念

2、张量的阶

TensorFlow神经网络学习之张量与变量概念

三、张量的指令

1、常数张量(普通)

#创建常数张量
    a = tf.constant(3.0)    
    print(a)

TensorFlow神经网络学习之张量与变量概念

TensorFlow神经网络学习之张量与变量概念

2、张量数组

1、固定张量数组(0)

#创建张量数组
    #0:
    array_0 = tf.zeros(shape=[3,3])    #3*3数组(0)

TensorFlow神经网络学习之张量与变量概念

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) 标准差

TensorFlow神经网络学习之张量与变量概念

3、查看张量值

查看张量值:张量.eval()

#会话(查看张量)
    with tf.session() as sess:
        print(a.eval())
        print(array_0.eval())
        print(array_1.eval())
        print(array_random.eval())

TensorFlow神经网络学习之张量与变量概念

4、张量类型改变

#修改张量类型
    array_0 = tf.cast(array_0, tf.int32)

TensorFlow神经网络学习之张量与变量概念TensorFlow神经网络学习之张量与变量概念

5、张量形状改变

注:属于动态改变张量,需要张量元素个数固定。

#修改张量形状
    array_random = tf.reshape(array_random, shape=[3,2])

修改前:

TensorFlow神经网络学习之张量与变量概念

修改后:

TensorFlow神经网络学习之张量与变量概念

代码

# 张量(创建与修改)
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))

TensorFlow神经网络学习之张量与变量概念

代码

# 变量
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的资料请关注其它相关文章!