原教程地址
这一章Up主命名的Session 会话控制
实际内容是矩阵计算
先贴原教程代码
import tensorflow as tf
matrix1 = tf.constant([[3,3]])#一行两列的矩阵#
matrix2 = tf.constant([[2],[2]])#二行二列的矩阵#
product = tf.matmul(matrix1,matrix2) #matrix multipy np.dot(m1,m2)#
###method 1
##sess = tf.compat.v1.Session()
##result = sess.run(product)
##print(result)
##sess.close()#有的话就更为整洁系统#
#method 2
with tf.compat.v1.Session() as sess:
result2 = sess.run(product)
print(result2)
#session里面的语句会被自动close,可以完全不用考虑开始后续程序#
这里Session部分由于版本问题导致的报错在上一篇笔记中有提到,所以这次的代码直接改为tensorflow2.0版本写法
1
由于版本问题导致这个报错:
RuntimeError: The Session graph is empty. Add operations to the graph before calling run().
在import后添加这行代码即可解决
tf.compat.v1.disable_eager_execution()
2
由于我的粗心还出现过中文括号,中文空格,少输入字母等问题
比如这个是少打了一个"[]",以下是错误代码
matrix2 = tf.constant([2],[2])#二行二列的矩阵#
报错信息如下:
这一行可能是不小心用了中文字符,用英文输入法重新打一遍即可
这里是前面定义了result2,调用的时候少打了一个“2”,导致出现未定义的报错
修改了所有问题后,method1与method2都能实现"[[12]]"的结果:
最后附上修改好的完整版代码
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
matrix1 = tf.constant([[3,3]])#一行两列的矩阵#
matrix2 = tf.constant([[2],[2]])#二行二列的矩阵#
product = tf.matmul(matrix1,matrix2) #matrix multipy np.dot(m1,m2)#
###method 1
##sess = tf.compat.v1.Session()
##result = sess.run(product)
##print(result)
##sess.close()#有的话就更为整洁系统#
#method 2
with tf.compat.v1.Session() as sess:
result2 = sess.run(product)
print(result2)
#session里面的语句会被自动close,可以完全不用考虑开始后续程序#