AttributeError: 'NoneType' object has no attribute '_handle'
时间: 2023-11-07 17:05:51 浏览: 276
AttributeError: 'NoneType' object has no attribute '_handle'错误表示在某个对象上访问了一个不存在的属性。这通常发生在你试图访问一个空对象的属性时。出现这个错误的原因可能是在之前的代码中,某个对象没有被正确地初始化或者赋值。
根据提供的解决方案,添加以下两行代码可以解决问题:
```
last_layer = network.get_layer(network.num_layers - 1)
network.mark_output(last_layer.get_output(0))
```
这些代码用于获取最后一层的输出,并将其标记为网络的输出。然后,使用`builder.build_cuda_engine(network)`来构建CUDA引擎。
在这种情况下,可能会继续出现另一个错误:
`python: ../builder/Network.cpp:1205: virtual nvinfer1::ILayer* nvinfer1::Network::getLayer(int) const: Assertion 'layerIndex >= 0' failed.`
这个错误涉及到TensorRT的网络构建。可能是因为指定的层索引超出了网络中存在的层的范围。你需要检查网络中的层数以及对层的访问方式是否正确。
至于你提到的查找了一天的bug,卸载和安装多次TensorFlow也没有解决问题。这个问题与TensorFlow的版本无关,因为AttributeError错误是在访问对象的属性时引发的,与TensorFlow本身无关。
阅读全文