dxt_snow 2021-05-09 08:54 采纳率: 0%
浏览 17

tensorflow中的DataFormatVecPermute()算子如何使用

使用到了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.
  • 写回答

1条回答 默认 最新

  • FriendshipT 2023-04-26 17:58
    关注

    DataFormatVecPermute()是TensorFlow中的一个算子,用于执行向量排列操作。该算子需要两个参数:源格式字符串和目标格式字符串。源格式字符串指定输入张量的格式,而目标格式字符串指定输出张量的格式。

    在使用DataFormatVecPermute()算子时,您需要将输入张量作为函数的输入,并指定源格式字符串和目标格式字符串。然后,该算子将根据指定的源格式字符串和目标格式字符串对输入张量进行向量排列操作,并返回一个新的张量。

    例如,如果您有一个形状为[batch_size, height, width, channels]的张量,并且您想要将其转换为形状为[batch_size, channels, height, width]的张量,则可以使用以下代码:

    output = tf.raw_ops.DataFormatVecPermute(input, "NHWC", "NCHW")
    

    这将使用DataFormatVecPermute()算子将输入张量从NHWC格式转换为NCHW格式,并将结果存储在output变量中。

    这个错误通常是由于在调用DataFormatVecPermute()函数时,将参数作为位置参数而不是关键字参数传递引起的。要解决这个问题,您需要将参数作为关键字参数传递。

    例如,如果您有以下代码:

    output = tf.raw_ops.DataFormatVecPermute(input, "NHWC", "NCHW")
    

    您可以将其更改为:

    output = tf.raw_ops.DataFormatVecPermute(x=input, src_format="NHWC", dst_format="NCHW")
    

    这将使用关键字参数而不是位置参数来调用DataFormatVecPermute()函数,并解决TypeError错误。

    希望这可以帮助到你!可查看官方文档

    评论

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)