似乎在tensorflow操作创建中不允许Attr("Tout: {list(type), type}")
。
F tensorflow/core/framework/op.cc:160] Check failed: ::tensorflow::Status::OK() == (RegisterAlreadyLocked(deferred_[i])) (OK vs. Invalid argument: Unrecognized type string 'type' from Attr("Tout: {type, list(type)}") for Op Py
答案 0 :(得分:0)
TensorFlow OpDef
类型系统当前不支持其类型可以是类型列表或单个类型的参数(或输出)。相反,您可以使用.Attr("Tout: list(type)")
来表示输入(或输出)类型。如果张量列表和单个张量之间的区别很重要,则可以使用额外的bool
- 值attr来表示该区别。
请注意,如果您使用自动生成的Python包装器来调用您的操作,并且您希望此输入接受单个张量或张量列表,则需要添加一个自定义包装函数来创建列表适当。标准TensorFlow库中的function为QueueBase.enqueue()
和QueueBase.enqueue_many()
参数执行此操作,这些参数可以是单个张量或张量列表。