- 查看《BST-AI工具链快速上手指南-v0.4.pdf》,下载并解压镜像文件,进入 /xxx/bsnn_tools-v3.7.0/bsnn_tools ,修改 load.sh 脚本,主要修改这三处::
PORT=8370
# 本地PC端目录
MODEL_ZOO_DIR=/xxx/heizhima/nn/model_zoo_dir
OPTION_NOTEBOOK=" nohup jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root --NotebookApp.contents_manager_class='notedown.NotedownContentsManager' &"
- 如果之前进入过docker环境中,退出后又进入,这时会出现问题:
Error response from daemon: Container 9ee317b36456a779c1c1055b34c2de22ff7f59d517083bd0b15fc0ce6ad46875 is not running
这时这样做
$ sudo docker ps -a
[sudo] password for wxf:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ee317b36456 bsnn_tools:3.7.0 "nohup jupyter noteb…" 4 days ago Exited (0) 3 days ago bsnn_tools_root
ced9f8c97c3b portainer/portainer "/portainer" 2 weeks ago Up About an hour 0.0.0.0:9000->9000/tcp portainer
$ sudo docker stop 9ee317b36456
9ee317b36456
$ sudo docker rm 9ee317b36456
然后再运行
$ sudo ./load.sh
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1f18c9a461ca bsnn_tools:3.7.0 "nohup jupyter noteb…" 45 seconds ago Up 41 seconds 0.0.0.0:8370->8888/tcp bsnn_tools_root
ced9f8c97c3b portainer/portainer "/portainer" 2 weeks ago Up About an hour 0.0.0.0:9000->9000/tcp portainer
$ sudo docker exec -it 1f18c9a461ca /bin/bash
- 打开浏览器输入http://0.0.0.0:8370,登录 jupyter
root@1f18c9a461ca:/workspace# jupyter notebook list
Currently running servers:
http://0.0.0.0:8888/?token=7798cc7ca9c38c309863fa25eeffb5b97da3299c1b2cfcaf :: /workspace
复制 **token=**后面的字符 7798cc7ca9c38c309863fa25eeffb5b97da3299c1b2cfcaf 各自的不一样,输入 jupyter 页面中的 **Password or token:**后面,登录进入
进入之后,如图
- 宿主机中,复制模型到共享目录
脚本 load.sh 中的 MODEL_ZOO_DIR=/xxx/heizhima/nn/model_zoo_dir 目录是docker环境和宿主机的共享目录,把 /xxx/nn/bsnn_tools-v3.7.0/bsnn_tools/model 目录下的 data 、test1 文件夹复制到 MODEL_ZOO_DIR 目录下,这时 docker 环境中 /workspace/models 目录下有
root@1f18c9a461ca:/workspace/models# ls
data test1
- 进入docker环境,使用 bsnntool 转换模型
查看 /workspace/models/test1/data/test1.yaml 中的路径是否正确
# cat test1/data/test1.yaml
model_path: /workspace/models/test1/data/mini_model.tf.pb
input_data_set_path: /workspace/models/data/imagenet_mini
data_reader_method: image_folder_data_reader
image_process_config: /workspace/models/data/imagenet_mini_process_config.json
model_name: test1_mini_model
model_description:
link: www.samplelink.com
description: This is a test mini model
author: bst
date: '2021-03-08'
stage:
- stage_name: pre_processing_stage
priority: 100
- stage_name: graph_optimization_stage
priority: 200
- stage_name: quantization_stage
priority: 300
- stage_name: graph_partition_stage
priority: 400
- stage_name: section_binding_stage
priority: 500
- stage_name: code_generation_stage
priority: 600
- stage_name: code_compilation_stage
priority: 700
- stage_name: run_emulation_stage
profiling_mode: 2
priority: 800
- stage_name: run_emulation_stage
profiling_mode: 0
priority: 1000
- stage_name: report_generation_stage
priority: 1200
root@1f18c9a461ca:/workspace# bstnnx_run --config /workspace/models/test1/data/test1.yaml --result /workspace/bstnnx_test_result/test1
root@1f18c9a461ca:/workspace# cd bstnnx_test_result/test1/
root@1f18c9a461ca:/workspace/bstnnx_test_result/test1# ls
1000_RunEmulationStage 200_GraphOptimizationStage 500_SectionBindingStage 800_RunEmulationStage
100_PreProcessingStage 300_QuantizationStage 600_CodeGenerationStage job.log
1200_ReportGenerationStage 400_GraphPartitionStage 700_CodeCompilationStage main_flow.yaml
jupyter 中显示