📜  Python – tensorflow.IndexedSlices.op 属性

📅  最后修改于: 2022-05-13 01:54:53.114000             🧑  作者: Mango

Python – tensorflow.IndexedSlices.op 属性

TensorFlow 是由 Google 设计的开源Python库,用于开发机器学习模型和深度学习神经网络。

op用于查找用于产生值作为输出的操作。它仅在禁用急切执行时才有效。

示例 1:在此示例中,急切执行被禁用。

Python3
# Importing the library
import tensorflow as tf
  
# Disable Eager execution
tf.compat.v1.disable_eager_execution()
  
# Initializing the input
data = tf.constant([[1, 2, 3], [4, 5, 6]])
  
# Printing the input
print('data: ', data)
  
# Calculating result
res = tf.IndexedSlices(data, [0], 1)
  
# Finding operation
op = res.op
  
# Printing the result
print('Operation: ', op)


Python3
# Importing the library
import tensorflow as tf
  
# Initializing the input
data = tf.constant([[1, 2, 3], [4, 5, 6]])
  
# Printing the input
print('data: ', data)
  
# Calculating result
res = tf.IndexedSlices(data, [0], 1)
  
# Finding operation
op = res.op
  
# Printing the result
print('Operation: ', op)


输出:

data:  Tensor("Const:0", shape=(2, 3), dtype=int32)
Operation:  name: "Const"
op: "Const"
attr {
  key: "dtype"
  value {
    type: DT_INT32
  }
}
attr {
  key: "value"
  value {
    tensor {
      dtype: DT_INT32
      tensor_shape {
        dim {
          size: 2
        }
        dim {
          size: 3
        }
      }
      tensor_content: "\001\000\000\000\002\000\000\000\003\000\000\000\004\000\000\000\005\000\000\000\006\000\000\000"
    }
  }
}

示例 2:在此示例中,急切执行已启用,因此它会引发 AttributeError。

Python3

# Importing the library
import tensorflow as tf
  
# Initializing the input
data = tf.constant([[1, 2, 3], [4, 5, 6]])
  
# Printing the input
print('data: ', data)
  
# Calculating result
res = tf.IndexedSlices(data, [0], 1)
  
# Finding operation
op = res.op
  
# Printing the result
print('Operation: ', op)

输出:

data:  tf.Tensor(
[[1 2 3]
 [4 5 6]], shape=(2, 3), dtype=int32)

---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

 in ()
     12 
     13 # Finding operation
---> 14 op = res.op
     15 
     16 # Printing the result

1 frames

/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py in op(self)
   1111   def op(self):
   1112     raise AttributeError(
-> 1113         "Tensor.op is meaningless when eager execution is enabled.")
   1114 
   1115   @property

AttributeError: Tensor.op is meaningless when eager execution is enabled.