x1=tf.constant([1,2,3],dtype=tf.float64)
print(x1)
x2=tf.cast(x1,dtype=tf.int32)
print("x2=",x2)
print("min=",tf.reduce_min(x2))
运行结果:
print("max=",tf.reduce_max(x2))
运行结果:
x=tf.constant([[1,2,3],[4,5,6]])
print(x)
# 4.对所有的元素求均值
print("所有元素的均值为:",tf.reduce_mean(x))
# 5.对各行求均值
print("各行的均值为:",tf.reduce_mean(x,axis=1))
# 6.对各列求和
print("各列的和为:",tf.reduce_sum(x,axis=0))
运行结果:
tf.Variable()将变量标记为“可训练",被标记的变量会在反向传播中记录梯度信息。
神经网络训练中,常用该函数标记训练参数。
tf.Variable(初始值) w=tf.Variable(tf.random.normal([2,2],mean=0,stddev=1))
(1)随机生成正态分布随机数 #
(2)在给生成的随机数标记为可训练 #
这样,在反向传播中就可以通过梯度下降更新参数w了
对应元素的四则运算:tf.add,tf.subtract,tf.multiply,tf.divide
只有维度相同的张量才可以做四则运算
a=tf.ones([1,3])#先创建一个一行3列的张量,所有元素是1
b=tf.fill([1,3],3.)#再创建一个1行3列的张量,所有元素是3
print("a=",a)
print("b=",b)
#(1) 实现两个张量对应元素相加
# tf.add(张量1,张量2)
print("a+b=",tf.add(a,b))
# (2)实现两个张量对应元素相减
# tf.subtract(张量1,张量2)
print("a-b=",tf.subtract(a,b))
# (3)实现两个张量对应元素相乘
# tf.multiply(张量1,张量2)
print("a*b=",tf.multiply(a,b))
# (4)实现两个张量对应元素相除
# tf.divide(张量1,张量2)
print("a/b=",tf.divide(b,a))
运行结果:
a=tf.ones([3,2])
b=tf.fill([2,3],3.)
print("矩阵相乘:",tf.matmul(a,b))
运行结果:
切分传入张量的第一维度,生成输入特征/标签对,构建数据集
features=tf.constant([12,23,10,17])# 收集的特征
labels=tf.constant([0,1,1,0])#标签
dataset=tf.data.Dataset.from_tensor_slices((features,labels))
print(dataset)
for element in dataset:
print(element)