Open EricHuiK opened 4 years ago
可以通过.pth-->.weights--->.h5-->.pb---->.tflite思路
可以通过.pth-->.weights--->.h5-->.pb---->.tflite思路
@EricHuiK 你好,请问有转到pb的教程吗,可以用的
.pth--->.weights--->.h5--->tflite
1、.pt模型转换为.weights python yolov3-channel-and-layer-pruning-master/convert2tflite.py
2、.weights模型文件转换为.h5文件 python keras-yolo3-master/convert.py /example_prune/weights/test_pytorch2tflite/yolov3-spp-hand.cfg \ xxx/xx/test_pytorch2tflite/latest.weights \ xxx/xxx/latest.h5
3、.h5文件获取输出输入节点名称 python ./h5_pb2.py
4、.h5文件转换为.pb文件
python ./keras_to_tensorflow_yolov3.py
5、.pb文件量化与优化
模型转换:
bazel-bin/tensorflow/tools/graph_transforms/transform_graph \ --in_graph=latest_yolov3.pb \ --out_graph=latest_yolov3_trainsform.pb \ --inputs='input_1:0' \ --outputs='conv2d_60/BiasAdd:0','conv2d_68/BiasAdd:0','conv2d_76/BiasAdd:0' \ --transforms='fold_constants(ignore_errors=true) fold_batch_norms fold_old_batch_norms remove_device quantize_weights strip_unused_nodes merge_duplicate_nodes sort_by_execution_order remove_nodes(op=Identity, op=CheckNumerics) sparsify_gather'
6、.pb文件转换为.tflite文件 toco --graph_def_file=latest_yolov3_trainsform.pb \ --output_file=latest_yolov3_trainsform.tflite \ --input_shapes=1,608,608,3 \ --input_arrays='input_1' \ --output_arrays='conv2d_60/BiasAdd','conv2d_68/BiasAdd','conv2d_76/BiasAdd' \ --input_data_type=FLOAT \ --inference_type=FLOAT \ --allow_custom_ops \ --mean_values=128 \ --std_dev_values=128 \ --allow_custom_ops \ --change_concat_input_ranges=false \ --default_ranges_min=0 \ --default_ranges_max=1
不需要了目前已经转换好了,谢谢