AttributeError: 'Tensor' object has no attribute '_keras_history'
描述
最近学习pytorch版本的Yolov5(好像目前也只有pytorch版本),觉得pytorch构造模型真的不如与keras简单,所以就想着自己实现一个keras版本的Yolov5模型,然后在转换Focus代码的时候出错了。
原Focus函数(pytroch)
报错的Focus函数(keras)
输出
分析错误
其实输入到Focus的upper_layer是keras.tensor来的
他也是使用的keras的Input层,所以他的类型不会变
但是在进行切割tensor的时候,他就会变成tf.tensor
然后你想使用Model的时候
就会报错
解决方法
使用keras的Lambda层进行封装,然后在Lambda层进行切割tensor的操作就可以啦
并且输出来的x1确实就是kears tensor