importtensorflow as tfimportnumpy as npprint(tf.__version__)#打印Tensorflow版本
print(tf.__path__)#打印Tensorflow安装路径
#3第一个tensorflow程序
deftest3():
message= tf.constant('Welcome to the exciting world of Deep Neural Networks!')
with tf.Session() as sess:print(sess.run(message).decode())#4程序结构
deftest4():
v_1=tf.constant([1,3,4,5])
v_2=tf.constant([2,3,4,5])
v_add=tf.add(v_1,v_2)
with tf.Session() as sess:print(sess.run(v_add))#5_1常量
deftest5_1():
con1= tf.constant([4,3,2])
zeros1= tf.zeros([2,3],tf.int32)
zeros2=tf.zeros_like(con1)
ones1=tf.ones([2,3],tf.int32)
ones2=tf.ones_like(con1)
nine1=tf.fill([2, 3], 9.0)
diag= tf.diag([1.0, 2.0, 3.0])
line1= tf.linspace(2.0,5.0,5)
range1= tf.range(10)
random1=tf.random_normal([2,3],mean=2,stddev=4,seed=12)#正态分布随机数组
random2=tf.truncated_normal([2,3],stddev=3,seed=12)#结尾正态随机分布数组
add1=tf.add(con1,zeros1)
with tf.Session() as sess:print('con1:\n',sess.run(con1))print('zeros1:\n',sess.run(zeros1))print('zeros2:\n',sess.run(zeros2))print('ones1:\n',sess.run(ones1))print('ones2:\n',sess.run(ones2))print('line1:\n',sess.run(line1))print('range1:\n',sess.run(range1))print('random1:\n',sess.run(random1))print('random2:\n',sess.run(random2))print('add1:\n',sess.run(add1))#5_2变量
deftest5_2():
matrix1=tf.Variable(tf.random_uniform([2,2],0,10,seed=0),name='weights')
matrix2=tf.Variable(tf.random_uniform([2,2],0,10,seed=1),name='weights')
add=tf.add(matrix1,matrix2)#加法
subtract=tf.subtract(matrix1,matrix2)#减法
product1= tf.matmul(matrix1,matrix2)#矩阵相乘
product2=tf.scalar_mul(2,matrix1)#标量*矩阵
product3=matrix1*matrix2#对应元素相乘,等同于tf.multiply()
div=tf.div(matrix1,matrix2)#对应元素相除
mod=tf.mod(matrix1,matrix2)#对应元素取模
init =tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)print('matrix1:\n',sess.run(matrix1))print('matrix2:\n',sess.run(matrix2))print('add:\n',sess.run(add))print('subtract:\n',sess.run(subtract))print('product1:\n',sess.run(product1))print('product2:\n',sess.run(product2))print('product3:\n',sess.run(product3))print('div:\n',sess.run(div))print('mod:\n',sess.run(mod))#5_3Placeholder
deftest5_3():
x=tf.placeholder(tf.float32,[None,5])
y=x*2data=tf.random_uniform([4,5],0,10)
with tf.Session() as sess:
x_data=sess.run(data)print(sess.run(y,feed_dict={x:x_data}))#几个矩阵运算
deftest6():
a=tf.ones([2,3,4])
b=tf.reshape(np.arange(24), [2,3,4])
b_slice=tf.strided_slice(b, [0,0,1], [2,2,3])#张量切片
c=tf.constant(np.arange(24))
c_reshape=tf.reshape(c,[2,3,4])#张量调整形状
c_transpose=tf.transpose(c_reshape, [1,2,0])#张量转置
with tf.Session() as sess:print(sess.run(b))print(sess.run(b_slice))print(sess.run(c))print(sess.run(c_reshape))print(sess.run(c_transpose))#卷积
deftest7():
x_in=tf.reshape(np.arange(50), [1,2,5,5])
x_transpose=tf.transpose(x_in,[0,3,2,1])
x=tf.cast(x_transpose,tf.float32)#转换数据类型
w_con=tf.ones([2,2,2,1])
w=tf.cast(w_con,tf.float32)
result=tf.nn.conv2d(x, w, strides = [1, 1, 1, 1], padding = 'SAME')#卷积计算
with tf.Session() as sess:print('x_in:\n',sess.run(x_in))print('x:\n',sess.run(x))print('w:\n',sess.run(w))print('result:\n',sess.run(result))
test6()