在这种情况下,如何调查为什么isinstanceof返回False?

时间:2019-04-17 08:36:22

标签: python-3.x tensorflow protocol-buffers

这个问题并非完全tensorflow特定,但它与库有一定关系。

这是设置。我有这段代码:

if not isinstance(train_input_config, input_reader_pb2.InputReader):
  raise TypeError('The `train_input_config` must be a '
                  'input_reader_pb2.InputReader.')

我的问题是isinstance(train_input_config,input_reader_pb2.InputReader)返回False,尽管:

>>print(type(train_input_config))
<class 'input_reader_pb2.InputReader'>
>>print(input_reader_pb2.InputReader)
<class 'input_reader_pb2.InputReader'>

也是

print(type(train_input_config).__dict__)
print(input_reader_pb2.InputReader.__dict__)

print(train_input_config.__dir__())
print(input_reader_pb2.InputReader().__dir__())

均返回匹配结果。在这种情况下,我会说因为两个接口都匹配,所以isinstanceof必须返回True

我错了吗?

在给定匹配接口的情况下,我该如何进一步研究此问题?

谢谢

P.S。如果有帮助,则从input_reader_pb2.InputReader文件生成proto类。

0 个答案:

没有答案