1、使用占位符和变量
import tensorflow as tf import numpy as np #-----创建变量并初始化----------- def first(): my_var=tf.Variable(tf.zeros([2,3])) sess=tf.Session() initialize_op=tf.global_variables_initializer() print sess.run(initialize_op) #-----声明一个占位符并初始化------ def second(): sess=tf.Session() x=tf.placeholder(tf.float32,shape=[2,2]) y=tf.identity(x) x_var=np.random.rand(2,2) print sess.run(x,feed_dict={x:x_var}) first() second()
2、基础计算
import tensorflow as tf sess=tf.Session() print '(除法保留整数)3/4=', print sess.run(tf.div(3,4)) print '(除法不保留整数)3/4=', print sess.run(tf.truediv(3,4)) print '(除法向下取整)5/4=', print sess.run(tf.floordiv(5.0,4.0)) print '(取模)22/5=', print sess.run(tf.mod(22.0,5.0)) print '两个张量点击:', print sess.run(tf.cross([1.,0.,0.],[0.,1.,0.])) print 'sin cos的使用:' print sess.run(tf.div(tf.sin(3.1416/4.),tf.cos(3.1416/4.))) print '3X²-X+10(当X=2):' def program(value): return tf.subtract(3*tf.square(value),value)+10 print sess.run(program(2))
3、矩阵操作
import tensorflow as tf import numpy as np #----创建矩阵----- sess=tf.Session() identity_matrix=tf.diag([1.0,1.0,1.0]) A=tf.truncated_normal([2,3]) B=tf.fill((2,3),5.0) C=tf.random_uniform([3,2]) D=tf.convert_to_tensor(np.array([[1.,2.,3.],[-3.,-7.,-1.],[0.,5.,-2.]])) print 'tf.diag([1.0,1.0,1.0])=', print (sess.run(identity_matrix)) print 'A=', print (sess.run(A)) print 'B=', print (sess.run(B)) print 'C', print (sess.run(C)) print 'D=', print (sess.run(D)) #---矩阵相加--- print 'A+B=', print sess.run(A+B) print 'B-B=', print sess.run(B-B) print 'B+identity_matrix=', print sess.run(tf.matmul(B,identity_matrix)) #---矩阵转置--- print 'B的转置:', print sess.run(tf.transpose(B)) #---矩阵的行列式--- print 'D的行列式:', print sess.run(tf.matrix_determinant(D)) #---矩阵的逆矩阵--- print 'D的逆矩阵:', print sess.run(tf.matrix_inverse(D)) #---矩阵分解--- print 'D的矩阵分解:', print sess.run(tf.cholesky(identity_matrix)) #---矩阵的特征值和特征解--- print 'D的特征值和特征解:', print sess.run(tf.self_adjoint_eig(D))