keras2ncnn過程中的錯誤總結
1、getops使用,參見我的部落格:
https://blog.csdn.net/weixin_41770169/article/details/85695457
2、不支援的層
(tensorflow) bash-3.2$ python /Users/xuqiong/PycharmProjects/keras2ncnn/Keras2NCNN.py -i /Users/xuqiong/PycharmProjects/keras2ncnn/ssrnet_3_3_3_64.h5
Traceback (most recent call last):
File "/Users/xuqiong/PycharmProjects/keras2ncnn/Keras2NCNN.py", line 392, in <module>
text_net, binary_weights = k2n_converter.convert()
File "/Users/xuqiong/PycharmProjects/keras2ncnn/Keras2NCNN.py", line 370, in convert
layer_ncnn_lst = self._dump_layer_weights(layer)
File "/Users/xuqiong/PycharmProjects/keras2ncnn/Keras2NCNN.py", line 339, in _dump_layer_weights
raise ValueError("non supported layer:{}".format(layer_name))
ValueError: non supported layer:t
猜測是h5檔案中不含有結構,只有權重資訊。因此,先將純權值的模型改成結構+權值。
3、模型儲存為:結構+權值
https://blog.csdn.net/weixin_41770169/article/details/85697281
https://blog.csdn.net/weixin_41770169/article/details/85705489
4、再次執行keras2ncnn
還是步驟2同樣的問題,跟進去後發現,如下網址給的指令碼有很多問題,由於專案第一週期時間緊,決定放棄直接從keras轉ncnn。而是改成keras改成caffe,再轉ncnn。
https://github.com/yanghanxy/Keras2NCNN