我正在尝试探索使用自定义操作的tensorflow。我构建了一个简单的开关操作,并在tensorflow文档中进行了验证。现在我正在尝试构建图形,然后在张量流中调用run()
方法
会话。以下是我的代码。我收到以下错误。有人可以帮助我解决它。每次向/user_ops/
添加新的自定义操作时,是否需要重新安装tensorflow?
import tensorflow as tf
# Create a Constant op that produce integer value
input1 = tf.constant(10)
# Create another op that produce an integer value
input2 = tf.constant(5)
# Create op that produce 0 or 1 as the control input in a switch
input3 = tf.constant(1)
# Create a switch op that takes input1 and input2 as inputs and input3 as
# the control input to produce an output
out = tf.user_ops.simple_switch(input1, input2, input3)
# Launch a default graph
sess = tf.Session()
# Call the 'run()' method and get the result
result = sess.run(out)
print(result)
# Close the Session when we're done!
sess.close()
在python解释器中执行时,我收到以下错误:
追踪(最近一次通话): 文件“tensorflow-switch.py”,第14行,in out = tf.simple_switch(input1,input2,input3) AttributeError:'module'对象没有属性'simple_switch'
答案 0 :(得分:2)
在adding a user-defined op之后(在TensorFlow 0.6.0或更早版本中),要在Python解释器中使用它,必须从源存储库重新安装。最简单的方法是使用Bazel build and install a PIP package。 (单元测试将通过,因为运行bazel test
会导致重建TensorFlow,以及运行测试时要使用的重建版本。)
注意:此功能属于实验性功能,正在开发用于添加用户定义操作的改进工作流程。