使用到了tensorflow中的DataFormatVecPermute()算子,他有四个形参,请问这四个形参该怎么设置?
以下是我写的代码:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
a = tf.constant([1, 2, 3, 4], name='a')
sess = tf.compat.v1.Session()
print(sess.run(a))
y = tf.raw_ops.DataFormatVecPermute(a, 'NHWC', 'NCHW', name='None')
print(y)
目的是将x由‘NHWC'格式转为‘NCHW’格式
产生的错误如下:
TypeError: DataFormatVecPermute only takes keyword args (possible keys: ['x', 'src_format', 'dst_format', 'name']). Please pass these args as kwargs instead.
根据错误提示,DataFormatVecPermute()
只接受关键字参数,因此需要使用关键字参数来设置四个参数。
函数原型如下:
tf.raw_ops.DataFormatVecPermute(x, src_format, dst_format, name=None)
参数解释:
x
: 输入张量。src_format
: 源数据格式。dst_format
: 目标数据格式。name
: 操作的名称。示例代码如下:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
# 定义输入张量
a = tf.constant([1, 2, 3, 4], name='a')
# 定义操作
y = tf.raw_ops.DataFormatVecPermute(
x=a,
src_format='NHWC',
dst_format='NCHW',
name=None
)
# 运行操作
sess = tf.compat.v1.Session()
print(sess.run(y))
注意:需要将x
作为关键字参数x=a
传递给函数。