01.TensorFlow基本操作

运行代码:

import tensorflow as tf
import os

os.environ["CUDA_VISIBLE_DEVICES"]="0"
with tf.compat.v1.Session() as sess:
    a = tf.constant(2)
    b = tf.constant(3)
    print("a:%i" % sess.run(a),"b:%i" % sess.run(b))
    print("Addition with constants: %i" % sess.run(a+b))
    print("Multiplication with constant: %i" % sess.run(a*b))

在练习的过程中出现了错误  The Session graph is empty. Add operations to the graph before calling run().

百度之后的结果是 

    1. tensorflow核心r2.0默认情况下已启用急切执行,因此无需编写tf.compat.v1.Session()并使用.run()函数
      如果我们想使用tf.compat.v1.Session()则我们需要
      在算法开始时执行tf.compat.v1.disable_eager_execution()。现在我们可以使用tf.compat.v1.Session()和.run()函数。

    2. Tensorflow核心r2.0默认情况下已启用急切执行。因此,无需更改它,
      我们只需更改我们的代码

需要将赋值写到 with tf.compat.v1.Session() as sess: 里面;

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
import os
os.environ["CUDA_VISIBLE_DEVICES"]="0"
a=tf.placeholder(tf.int16)
b=tf.placeholder(tf.int16)
with tf.compat.v1.Session() as sess:

    add=tf.add(a,b)
    mul=tf.multiply(a,b)
    print("Addition with constants: %i" % sess.run(add,feed_dict={a:2,b:3}))
    print("Multiplication with constant: %i" % sess.run(mul,feed_dict={a:2,b:3}))

报错:module 'tensorflow' has no attribute 'placeholder'

将 import tensorflow.compat.v1 as tf 替换 import tensorflow as tf

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
import os
os.environ["CUDA_VISIBLE_DEVICES"]="0"
matrix1=tf.constant([[3.,3.]])
matrix2=tf.constant([[2.],[2.]])
a=tf.placeholder(tf.int16)
b=tf.placeholder(tf.int16)
with tf.compat.v1.Session() as sess:
    product = tf.matmul(matrix1, matrix2)
    result = sess.run(product)
    print(result)
    add=tf.add(a,b)
    mul=tf.multiply(a,b)
    print("Addition with constants: %i" % sess.run(add,feed_dict={a:2,b:3}))
    print("Multiplication with constant: %i" % sess.run(mul,feed_dict={a:2,b:3}))

原文地址:https://www.cnblogs.com/1234yyf/p/14270799.html