{ "permissions": { "allow": [ "Bash(python:*)", "Bash(ls:*)", "Bash(archiver:*)", "Bash(mdfind:*)", "Bash(open:*)", "Bash(git checkout:*)", "Bash(./gradlew :app:compileDebugKotlin --no-daemon)", "Bash(pip3 show tensorflow tensorflow-lite-transformers)", "Bash(pip3 list)", "Bash(pip3 install onnxruntime onnx --quiet)", "Bash(python3 convert_model.py)", "Bash(python3 -c \"\nimport onnx\nmodel = onnx.load\\(''/Users/liushuming/projects/app/app/src/main/assets/glint360k_r50.onnx''\\)\nonnx.checker.check_model\\(model\\)\n\nprint\\(''=== 模型基本信息 ===''\\)\nprint\\(f''模型文件名:glint360k_r50.onnx''\\)\nprint\\(f''IR 版本:{model.ir_version}''\\)\nprint\\(f''OpSet 版本:{model.opset_import[0].version}''\\)\n\nprint\\(''\\\\n=== 输入信息 ===''\\)\nfor inp in model.graph.input:\n shape = [d.dim_value if d.dim_value > 0 else d.dim_param for d in inp.type.tensor_type.shape.dim]\n print\\(f'' 名称:{inp.name}''\\)\n print\\(f'' 形状:{shape}''\\)\n print\\(f'' 数据类型:{inp.type.tensor_type.elem_type}''\\)\n\nprint\\(''\\\\n=== 输出信息 ===''\\)\nfor out in model.graph.output:\n shape = [d.dim_value if d.dim_value > 0 else d.dim_param for d in out.type.tensor_type.shape.dim]\n print\\(f'' 名称:{out.name}''\\)\n print\\(f'' 形状:{shape}''\\)\n print\\(f'' 数据类型:{out.type.tensor_type.elem_type}''\\)\n\nprint\\(''\\\\n=== 节点统计 ===''\\)\nprint\\(f''节点数量:{len\\(model.graph.node\\)}''\\)\n\nprint\\(''\\\\n✓ 模型验证通过!''\\)\n\")", "Bash(pip3 install 'protobuf<5' --quiet)", "Bash(pip3 install 'tensorflow>=2.16.0' --quiet)", "Bash(pip3 uninstall onnx-tf -y)", "Bash(pip3 install 'onnx==1.15.0' 'onnx-tf==0.6.0' --quiet)", "Bash(onnx2tf -i /Users/liushuming/projects/app/app/src/main/assets/glint360k_r50.onnx -o /Users/liushuming/projects/app/app/src/main/assets --not_use_onnxsim)", "Bash(ls -lh /Users/liushuming/projects/app/app/src/main/assets/*.tflite)" ] } }