首页 > 解决方案 > 如何从@tf.function 下装饰的函数返回 numpy 数组(自定义对象)列表

问题描述

我正在尝试为 yolov3 实现一个后处理函数,该函数基本上在 tf.keras 而不是 numpy 下运行(在每个时期验证时导致 mAP calc )。尽管该函数在急切执行下运行得非常好,但在图形模式下运行它时我遇到了问题。由于它是在图形模式下执行的函数,因此 tf.contib.defun 模块最后会抛出错误,指出“函数应返回 0 个或多个“张量”对象”。
好吧,我正在返回一个 numpy 数组列表,其中每个 numpy 数组都是在 python 中实现的自定义类的集合。所以我不能返回这个列表,因为我不能在 tf 变量中转换这个原始列表,也不能转换为 tensorarray dtype 是不兼容的。
所以想知道是否有一种方法可以返回这个 numpy 数组列表。

复制问题的代码
https://colab.research.google.com/drive/1Ei2t9coPNEVrfmejzaRUDIs-tm05EZFD?usp=sharing

标签: pythonnumpytensorflowtf.keras

解决方案


推荐阅读