whitbrunn commited on
Commit
38fb1f6
·
verified ·
1 Parent(s): 5f3ded9

1231: g0plus dockerfile

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +40 -0
  2. g0plus_dockerfile/.gitignore +3 -0
  3. g0plus_dockerfile/Dockerfile +122 -0
  4. g0plus_dockerfile/README.md +18 -0
  5. g0plus_dockerfile/docker-assets/code/Hierarchical_System/.gitignore +7 -0
  6. g0plus_dockerfile/docker-assets/code/Hierarchical_System/README.md +110 -0
  7. g0plus_dockerfile/docker-assets/code/Hierarchical_System/README.md.zh +111 -0
  8. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/g0_vlm_node/__init__.py +0 -0
  9. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/g0_vlm_node/utils/__init__.py +2 -0
  10. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/g0_vlm_node/utils/utils_online.py +418 -0
  11. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/g0_vlm_node/vlm_main.py +371 -0
  12. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/package.xml +28 -0
  13. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/resource/g0_vlm_node +0 -0
  14. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/setup.cfg +4 -0
  15. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/setup.py +30 -0
  16. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/test/test_copyright.py +25 -0
  17. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/test/test_flake8.py +25 -0
  18. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/test/test_pep257.py +23 -0
  19. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/vla/CMakeLists.txt +21 -0
  20. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/vla/msg/VLAPromptEcho.msg +5 -0
  21. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/vla/package.xml +18 -0
  22. g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/vla/srv/VLMInstruction.srv +4 -0
  23. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/char-rnn.wts +3 -0
  24. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/model/checkpoint +6 -0
  25. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/model/model-20080.data-00000-of-00001 +3 -0
  26. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/model/model-20080.index +0 -0
  27. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/model/model-20080.meta +3 -0
  28. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/int8_api/README.md +11 -0
  29. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/int8_api/airliner.ppm +3 -0
  30. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/int8_api/reference_labels.txt +1000 -0
  31. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/int8_api/resnet50_per_tensor_dynamic_range.txt +183 -0
  32. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/0.pgm +0 -0
  33. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/1.pgm +0 -0
  34. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/2.pgm +0 -0
  35. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/3.pgm +0 -0
  36. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/4.pgm +0 -0
  37. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/5.pgm +0 -0
  38. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/6.pgm +0 -0
  39. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/7.pgm +0 -0
  40. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/8.pgm +0 -0
  41. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/9.pgm +4 -0
  42. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/README.md +20 -0
  43. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/mnist.onnx +3 -0
  44. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/README.md +13 -0
  45. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/ResNet50.onnx +3 -0
  46. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/airliner.ppm +3 -0
  47. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/binoculars.jpeg +3 -0
  48. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/class_labels.txt +1000 -0
  49. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/reflex_camera.jpeg +0 -0
  50. g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/tabby_tiger_cat.jpg +3 -0
.gitattributes CHANGED
@@ -922,3 +922,43 @@ G0Plus_Finetune_LeRobot_Datasets_Demo/BENCH_Pick_And_Place_20_Items57_Evenly_Dis
922
  G0Plus_PP_CKPT/decode.fp16.engine filter=lfs diff=lfs merge=lfs -text
923
  G0Plus_PP_CKPT/gemma_rmsnorm.so filter=lfs diff=lfs merge=lfs -text
924
  G0Plus_PP_CKPT/prefill.fp16.engine filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
922
  G0Plus_PP_CKPT/decode.fp16.engine filter=lfs diff=lfs merge=lfs -text
923
  G0Plus_PP_CKPT/gemma_rmsnorm.so filter=lfs diff=lfs merge=lfs -text
924
  G0Plus_PP_CKPT/prefill.fp16.engine filter=lfs diff=lfs merge=lfs -text
925
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/char-rnn.wts filter=lfs diff=lfs merge=lfs -text
926
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/model/model-20080.data-00000-of-00001 filter=lfs diff=lfs merge=lfs -text
927
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/model/model-20080.meta filter=lfs diff=lfs merge=lfs -text
928
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/int8_api/airliner.ppm filter=lfs diff=lfs merge=lfs -text
929
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/airliner.ppm filter=lfs diff=lfs merge=lfs -text
930
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/binoculars.jpeg filter=lfs diff=lfs merge=lfs -text
931
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/tabby_tiger_cat.jpg filter=lfs diff=lfs merge=lfs -text
932
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_dispatch-10.13.0.35-cp310-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
933
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_dispatch-10.13.0.35-cp311-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
934
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_dispatch-10.13.0.35-cp312-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
935
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_dispatch-10.13.0.35-cp313-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
936
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_dispatch-10.13.0.35-cp38-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
937
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_dispatch-10.13.0.35-cp39-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
938
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_lean-10.13.0.35-cp310-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
939
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_lean-10.13.0.35-cp311-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
940
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_lean-10.13.0.35-cp312-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
941
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_lean-10.13.0.35-cp313-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
942
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_lean-10.13.0.35-cp38-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
943
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt_lean-10.13.0.35-cp39-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
944
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt-10.13.0.35-cp310-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
945
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt-10.13.0.35-cp311-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
946
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt-10.13.0.35-cp312-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
947
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt-10.13.0.35-cp313-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
948
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt-10.13.0.35-cp38-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
949
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/python/tensorrt-10.13.0.35-cp39-none-linux_x86_64.whl filter=lfs diff=lfs merge=lfs -text
950
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/bin/trtexec filter=lfs diff=lfs merge=lfs -text
951
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_builder_resource_win.so.10.13.0 filter=lfs diff=lfs merge=lfs -text
952
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_builder_resource.so.10.13.0 filter=lfs diff=lfs merge=lfs -text
953
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_dispatch_static.a filter=lfs diff=lfs merge=lfs -text
954
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_dispatch.so.10.13.0 filter=lfs diff=lfs merge=lfs -text
955
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_lean_static.a filter=lfs diff=lfs merge=lfs -text
956
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_lean.so.10.13.0 filter=lfs diff=lfs merge=lfs -text
957
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_plugin_static.a filter=lfs diff=lfs merge=lfs -text
958
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_plugin.so.10.13.0 filter=lfs diff=lfs merge=lfs -text
959
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_static.a filter=lfs diff=lfs merge=lfs -text
960
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_vc_plugin_static.a filter=lfs diff=lfs merge=lfs -text
961
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer_vc_plugin.so.10.13.0 filter=lfs diff=lfs merge=lfs -text
962
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvinfer.so.10.13.0 filter=lfs diff=lfs merge=lfs -text
963
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvonnxparser_static.a filter=lfs diff=lfs merge=lfs -text
964
+ g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/targets/x86_64-linux-gnu/lib/libnvonnxparser.so.10.13.0 filter=lfs diff=lfs merge=lfs -text
g0plus_dockerfile/.gitignore ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ **/GalaxeaFM/*
2
+ **/EFMNode/*
3
+ docker-assets/data/*
g0plus_dockerfile/Dockerfile ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM althack/ros2:humble-full AS base
2
+
3
+ # Switch to root for system operations
4
+ USER root
5
+
6
+ # Set timezone / locale if needed
7
+ ENV DEBIAN_FRONTEND=noninteractive
8
+
9
+ # Install necessary build tools
10
+ RUN apt-get update && \
11
+ apt-get install -y --no-install-recommends \
12
+ build-essential \
13
+ curl \
14
+ net-tools \
15
+ iputils-ping \
16
+ ros-${ROS_DISTRO}-rosbag2-storage-mcap \
17
+ ros-${ROS_DISTRO}-rosbridge-server \
18
+ git \
19
+ ca-certificates \
20
+ tmux \
21
+ vim \
22
+ && \
23
+ rm -rf /var/lib/apt/lists/*
24
+
25
+ # TensorRT related setup
26
+ COPY docker-assets/data/TensorRT-10.13.0.35 /usr/TensorRT-10.13.0.35
27
+
28
+ # Ensure ros user owns home directory
29
+ RUN chown -R ros:ros /home/ros
30
+
31
+ # Switch to ros user
32
+ USER ros
33
+ WORKDIR /home/ros/g0plus_ros2
34
+
35
+
36
+ # ============================================
37
+ # Put in code folders
38
+ # ============================================
39
+ RUN --mount=type=secret,id=git_token,uid=1000,gid=1000 \
40
+ GIT_TOKEN=$(cat /run/secrets/git_token) && \
41
+ git clone https://${GIT_TOKEN}@github.com/OpenGalaxea/GalaxeaVLA.git -b features/opensource
42
+ RUN --mount=type=secret,id=git_token,uid=1000,gid=1000 \
43
+ GIT_TOKEN=$(cat /run/secrets/git_token) && \
44
+ git clone https://${GIT_TOKEN}@github.com/OpenGalaxea/EFMNode.git -b dev/pp_trt
45
+ COPY --chown=ros:ros docker-assets/code/Hierarchical_System /home/ros/g0plus_ros2/Hierarchical_System
46
+
47
+
48
+ # ============================================
49
+ # UV installation
50
+ # ============================================
51
+ WORKDIR /home/ros
52
+ ARG http_proxy
53
+ ARG https_proxy
54
+
55
+ RUN bash -c "\
56
+ curl -LsSf https://astral.sh/uv/install.sh | bash && \
57
+ ~/.local/bin/uv --version \
58
+ "
59
+ ENV PATH="/home/ros/.local/bin:${PATH}"
60
+
61
+ # ============================================
62
+ # Complete G0plus setup
63
+ # ============================================
64
+ WORKDIR /home/ros/g0plus_ros2/GalaxeaVLA
65
+
66
+ ENV UV_DEFAULT_INDEX=https://mirrors.aliyun.com/pypi/simple/
67
+ ENV UV_PYTHON_INSTALL_MIRROR=https://gh-proxy.com/https://github.com/astral-sh/python-build-standalone/releases/download
68
+ ENV UV_HTTP_TIMEOUT=600
69
+
70
+
71
+ RUN uv sync --index-strategy unsafe-best-match
72
+
73
+ RUN VIRTUAL_ENV=.venv uv pip install -e .
74
+
75
+ RUN VIRTUAL_ENV=.venv uv pip install -e .[dev]
76
+
77
+
78
+ # ============================================
79
+ # Complete EFMNode, VLM and rosbridge setup
80
+ # ============================================
81
+ WORKDIR /home/ros/g0plus_ros2/GalaxeaVLA
82
+
83
+ RUN VIRTUAL_ENV=.venv uv pip install nvtx google-genai dashscope
84
+
85
+ RUN VIRTUAL_ENV=.venv uv pip install lark==1.3.1 empy==3.3.4 colcon-common-extensions==0.3.0
86
+
87
+ RUN VIRTUAL_ENV=.venv uv pip install setuptools==59.6.0
88
+
89
+ RUN VIRTUAL_ENV=.venv uv pip install tensorflow==2.15.0
90
+
91
+ RUN VIRTUAL_ENV=.venv uv pip install netifaces pymongo tornado cbor2
92
+
93
+ # ============================================
94
+ # Install TensorRT wheel
95
+ # ============================================
96
+ RUN VIRTUAL_ENV=.venv uv pip install /usr/TensorRT-10.13.0.35/python/tensorrt-10.13.0.35-cp310-none-linux_x86_64.whl
97
+
98
+ # ============================================
99
+ # Build the ROS2 workspace using conda env
100
+ # ============================================
101
+ WORKDIR /home/ros/g0plus_ros2/Hierarchical_System
102
+
103
+ RUN bash -c "\
104
+ source /opt/ros/humble/setup.bash && \
105
+ source /home/ros/g0plus_ros2/GalaxeaVLA/.venv/bin/activate && \
106
+ colcon build --symlink-install \
107
+ --cmake-args -DPython3_ROOT_DIR=${VIRTUAL_ENV} \
108
+ "
109
+
110
+
111
+ # ============================================
112
+ # Replace super xml and update ~/.bashrc
113
+ # ============================================
114
+ COPY --chown=ros:ros docker-assets/super_client_configuration_file.xml.tpl /home/ros/super_client_configuration_file.xml.tpl
115
+
116
+ RUN echo "source /home/ros/g0plus_ros2/GalaxeaVLA/.venv/bin/activate" >> /home/ros/.bashrc && \
117
+ echo "source /home/ros/g0plus_ros2/Hierarchical_System/install/setup.bash" >> /home/ros/.bashrc
118
+
119
+ # ============================================
120
+ # Final image settings
121
+ # ============================================
122
+ WORKDIR /home/ros
g0plus_dockerfile/README.md ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Dockerfile for Hierarchical System
2
+
3
+
4
+ ## 1- What we have
5
+
6
+ * Dockerfile: create a docker image around 16GB, with comprehensive function to run G0Plus hierarchical system
7
+
8
+ ## 2- Usage
9
+
10
+ ```
11
+ cd .
12
+ DOCKER_BUILDKIT=1 docker build \
13
+ --add-host=host.docker.internal:host-gateway \
14
+ --build-arg http_proxy=http://host.docker.internal:7897 \
15
+ --build-arg https_proxy=http://host.docker.internal:7897 \
16
+ --secret id=git_token,src=./github_token \
17
+ -t g0plus:ros2_v1-trt .
18
+ ```
g0plus_dockerfile/docker-assets/code/Hierarchical_System/.gitignore ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ log/
2
+ install/
3
+ build/
4
+ **/wasted/
5
+ **/__pycache__/
6
+ *.jpg
7
+ .vscode/
g0plus_dockerfile/docker-assets/code/Hierarchical_System/README.md ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Hierarchical System ROS2
2
+
3
+ ## 0- Preface
4
+
5
+ ### What we have
6
+
7
+ - The paths and names of the main logic (Python) folders and files are as follows:
8
+
9
+ ```
10
+ src/
11
+ └── g0_vlm_node/
12
+ └── g0_vlm_node
13
+ ├── utils/ # Stores functions related to Gemini API processing
14
+ └── vlm_main.py # Core logic for VLM service provision
15
+ ```
16
+ - Note: In the above package:
17
+ - vlm_main.py
18
+
19
+ ### Development Log
20
+
21
+ - VLM
22
+ 1. Format the String so that the JSON string sent by EHI is converted into a structured string.
23
+ 2. Support the cache switch for receiving repeated instruction from EHI.
24
+ 3. Support parameterized startup, using `--use-qwen` and `--no-use-qwen` to control model usage, with Gemini as the default.
25
+
26
+
27
+
28
+ ## 1- Install
29
+
30
+ 1. Install Python dependencies
31
+
32
+ Refer to https://github.com/whitbrunn/G0
33
+
34
+ 2. Compile the workspace
35
+
36
+ Clone the `src/` folder to the local workspace under `TO/YOUR/WORKSPACE/`, then run:
37
+
38
+ ```
39
+ cd TO/YOUR/WORKSPACE/
40
+ colcon build --symlink-install --cmake-args -DPython3_ROOT_DIR=$CONDA_PREFIX
41
+ ```
42
+
43
+ Note:
44
+
45
+ Use `ros2 pkg list | grep PACK_NAME` to check if the following ROS packages exist:
46
+ - `g0_vlm_node`
47
+
48
+ ## 2- Usage
49
+
50
+ 1. Set your VLM API key
51
+
52
+ ```
53
+ export VLM_API_KEY=<YOUR_GEMINI_API_KEY>
54
+ export VLM_API_KEY_QWEN=<YOUR_QWEN_API_KEY>
55
+ ```
56
+
57
+ 2. Start the VLM Node
58
+
59
+ 1.1 First configure the proxy according to the environment (necessary for Gemini, if using the qwen version, skip to 1.3)
60
+
61
+
62
+ ```
63
+ export https_proxy=http://127.0.0.1:<PORT>
64
+ export http_proxy=http://127.0.0.1:<PORT>
65
+ export all_proxy=http://127.0.0.1:<PORT>
66
+ ```
67
+ 1.2 Verify if the external network is accessible
68
+
69
+ ```
70
+ curl -I www.google.com
71
+ ```
72
+
73
+ Expected output (partial):
74
+
75
+ ```
76
+ HTTP/1.1 200 OK
77
+ Transfer-Encoding: chunked
78
+ Cache-Control: private
79
+ Connection: keep-alive
80
+ ```
81
+
82
+ 1.3 After confirming the above step is OK, start the VLM node
83
+
84
+ ```
85
+ ros2 run g0_vlm_node vlm_main
86
+ ```
87
+
88
+ *If using the qwen model inference:
89
+ ```
90
+ unset http_proxy
91
+ unset https_proxy
92
+ unset all_proxy
93
+ ros2 run g0_vlm_node vlm_main -- --use-qwen
94
+ ```
95
+
96
+
97
+ ## 3- What you expect
98
+
99
+ - VLM receives a Send request output, e.g.,
100
+
101
+ ```
102
+ 2025-11-05 07:40:33.230 | INFO | g0_vlm_node.vlm_main:vlm_processor1:153 - One hp successfully processed: 将咖啡罐用右手放到托盘上 -> [Low]: Pick up the coffee can with the right hand and place it on the tray.!
103
+ ```
104
+
105
+ - VLM receives a confirm request, e.g.,
106
+
107
+ ```
108
+ 2025-11-05 07:40:47.641 | INFO | g0_vlm_node.vlm_main:vlm_processor2:169 - One hp_ successfully sent to VLA: [Low]: Pick up the coffee can with the right hand and place it on the tray.!
109
+ ```
110
+
g0plus_dockerfile/docker-assets/code/Hierarchical_System/README.md.zh ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Hierarchical System ROS2
2
+
3
+ ## 0- 前言
4
+
5
+ ### What we have
6
+
7
+ - 主要逻辑(python)文件夹及文件的路径及命名如下
8
+
9
+ ```
10
+ src/
11
+ └── g0_vlm_node/
12
+ └── g0_vlm_node
13
+ ├── utils/ # 储存与Gemini api处理相关的func
14
+ └── vlm_main.py # VLM提供服务的核心逻辑
15
+ ```
16
+ - 注:以上包内:
17
+ - vlm_main.py
18
+
19
+ ### 开发说明
20
+
21
+
22
+ - VLM
23
+ 1. 将String格式化,使得EHI发送的json字符串,改为结构化字符串
24
+ 2. 支持接收EHI的缓存开关
25
+ 3. 支持参数化启动,用`--use-qwen`和`--no-use-qwen`控制模型使用,默认是Gemini
26
+
27
+
28
+ ## 1- Install
29
+
30
+ 1. 安装Python依赖库
31
+
32
+ 参考https://github.com/whitbrunn/G0
33
+
34
+
35
+ 2. 编译工作空间
36
+
37
+ 将`src/`文件夹clone到本地工作空间下`TO/YOUR/WORKSPACE/`,运行
38
+
39
+ ```
40
+ cd TO/YOUR/WORKSPACE/
41
+ colcon build --symlink-install --cmake-args -DPython3_ROOT_DIR=$CONDA_PREFIX
42
+ ```
43
+
44
+ Note:
45
+
46
+ 用`ros2 pkg list | grep PACK_NAME` 检查是否有以下ROS包:
47
+ - `g0_vlm_node`
48
+
49
+
50
+ ## 2- Usage
51
+
52
+ 1. 设置api key
53
+
54
+ ```
55
+ export API_KEY=<YOUR_GEMINI_API_KEY>
56
+ export API_KEY_QWEN=<YOUR_QWEN_API_KEY>
57
+ ```
58
+
59
+ 2. 启动VLM Node
60
+
61
+ 1.1 先按所在环境配置代理(Gemini之必需,若使用qwen版,请跳到1.3)
62
+
63
+ ```
64
+ export https_proxy=http://127.0.0.1:<PORT>
65
+ export http_proxy=http://127.0.0.1:<PORT>
66
+ export all_proxy=http://127.0.0.1:<PORT>
67
+ ```
68
+ 1.2 验证外网是否可通
69
+
70
+ ```
71
+ curl -I www.google.com
72
+ ```
73
+
74
+ 预期显示(部分),
75
+
76
+ ```
77
+ HTTP/1.1 200 OK
78
+ Transfer-Encoding: chunked
79
+ Cache-Control: private
80
+ Connection: keep-alive
81
+ ```
82
+
83
+ 1.3 确定上一步OK后,启动VLM节点
84
+
85
+ ```
86
+ ros2 run g0_vlm_node vlm_main
87
+ ```
88
+
89
+ *若使用qwen模型推理
90
+ ```
91
+ unset http_proxy
92
+ unset https_proxy
93
+ unset all_proxy
94
+ ros2 run g0_vlm_node vlm_main -- --use-qwen
95
+ ```
96
+
97
+
98
+ ## 3- What you expect
99
+
100
+ - VLM收到Send请求输出,e.g.,
101
+
102
+ ```
103
+ 2025-11-05 07:40:33.230 | INFO | g0_vlm_node.vlm_main:vlm_processor1:153 - One hp successfully processed: 将咖啡罐用右手放到托盘上 -> [Low]: Pick up the coffee can with the right hand and place it on the tray.!
104
+ ```
105
+
106
+ - VLM收到confirm请求,e.g.,
107
+
108
+ ```
109
+ 2025-11-05 07:40:47.641 | INFO | g0_vlm_node.vlm_main:vlm_processor2:169 - One hp_ successfully sent to VLA: [Low]: Pick up the coffee can with the right hand and place it on the tray.!
110
+ ```
111
+
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/g0_vlm_node/__init__.py ADDED
File without changes
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/g0_vlm_node/utils/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ from .utils_online import call_gemini_for_bbox, call_gemini_for_translation, call_qwen_for_bbox, call_qwen_for_translation
2
+ from .utils_online import get_simple_vb_imgcv
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/g0_vlm_node/utils/utils_online.py ADDED
@@ -0,0 +1,418 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from google import genai
3
+ from google.genai import types
4
+ import re
5
+ import cv2 as cv
6
+ import time
7
+ import tensorflow as tf
8
+ import numpy as np
9
+ from typing import List, Dict, Any, Optional
10
+ import dashscope
11
+ from dashscope import MultiModalConversation, Generation
12
+ import base64
13
+ import json
14
+
15
+ def require_env(name: str) -> str:
16
+ value = os.getenv(name)
17
+ if not value:
18
+ raise RuntimeError(f"Required environment variable `{name}` is not set")
19
+ return value
20
+
21
+
22
+ MODEL_ID = "gemini-robotics-er-1.5-preview"
23
+ MODEL_ID_FOR_TRANS = "gemini-2.5-flash"
24
+ API_KEY = require_env("VLM_API_KEY")
25
+ client = genai.Client(api_key=API_KEY)
26
+
27
+
28
+ MODEL_ID_QWEN = 'qwen3-vl-plus'
29
+ MODEL_ID_FOR_TRANS_QWEN = 'qwen-flash'
30
+ API_KEY_QWEN = require_env("VLM_API_KEY_QWEN")
31
+
32
+
33
+ PROMPT_TEMPLATE = """
34
+ The robot is asked to {instruction}.
35
+
36
+ **CRITICAL SPATIAL CONSTRAINT**: If the instruction mentions "outside the [container]" (where container can be tray, plate, box, bowl, basket, etc.), you MUST ONLY detect objects that are clearly OUTSIDE that container's boundaries. Objects inside or on the container should be completely IGNORED.
37
+
38
+ Carefully analyze if the requested object is present in the CORRECT location (outside the container if specified).
39
+ If the object exists in the correct location and you are confident (confidence > 0.6), return its bounding box as a JSON array.
40
+ If the object is only found INSIDE the container when the instruction asks for objects OUTSIDE the container, you MUST return: {{"no_object": true, "reason": "Object found only inside the container, not outside as requested"}}
41
+ If you are not confident or the object is not present in the correct location, return: {{"no_object": true, "reason": "<brief explanation>"}}
42
+
43
+ Format for object found: [{{"box_2d": [x_min, y_min, x_max, y_max], "label": "<label>", "confidence": <0.0-1.0>}}]
44
+ Format for no object: {{"no_object": true, "reason": "<why object not found>"}}
45
+
46
+ Coordinates normalized to 0-1000. The values in box_2d must only be integers.
47
+ Only return the object that matches the instruction AND is in the correct spatial location.
48
+
49
+ """
50
+
51
+
52
+ prompt_template = """
53
+ The robot is asked to {instruction}. Return bounding box of the first required interaction
54
+ object as a JSON array with labels. Only return bbox with the max likelihood. Never return masks or code fencing.
55
+ The format should be as follows: [{"box_2d": [ymin, xmin, ymax, xmax],
56
+ "label": <label for the object>}] normalized to 0-1000. The values in
57
+ box_2d must only be integers
58
+ """
59
+
60
+ pt_for_translation1 = """
61
+ You are a professional robot instruction translation expert.
62
+ The robot is asked to translate a robot action instruction "{instruction}" from Chinese to English. Pay special attention to translate the object and hand side accurately and concisely, and do not add any explanations.
63
+ The format should be just ONE sentence with "[Low]: " in the FRONT and "." at the END as follows: "[Low]: Pick up the <object> with the <side> hand and place it on the tray."
64
+ """
65
+
66
+ pt_for_translation2 = """
67
+ You are a professional robot instruction translation expert.
68
+ The robot is asked to translate a robot action instruction "{instruction}" from Chinese to English. Pay special attention to translate the object accurately and concisely, and do not add any explanations.
69
+ The format should be just ONE sentence with "." at the END as follows: "Pick up the <object> outside the tray and place them on the tray."
70
+ """
71
+
72
+
73
+ # 优化后的翻译提示词模板,特别强调"outside the tray"条件
74
+ pt_for_translation2_qwen = """
75
+ 你是一个专业的机器人指令翻译专家,专门处理pick-and-place场景的指令翻译。
76
+
77
+ 原始中文指令: "{instruction}"
78
+
79
+ 重要翻译要求:
80
+ 1. **必须保留"outside the tray"(托盘外)这个关键空间关系**,这是最重要的条件
81
+ 2. 准确识别要操作的物体
82
+ 3. 严格遵循固定句式:"Pick up the <object> outside the tray and place them on the tray."
83
+ 4. 只输出翻译后的英文句子,不要添加任何解释
84
+ 5. 确保句子以句号结尾
85
+
86
+ 翻译示例:
87
+ - "拿起托盘外的红色方块" → "Pick up the red cube outside the tray and place them on the tray."
88
+ - "把托盘外面的蓝色零件放进去" → "Pick up the blue part outside the tray and place them on the tray."
89
+ - "捡起托盘外的绿色积木" → "Pick up the green block outside the tray and place them on the tray."
90
+
91
+ 特别注意:**绝对不能省略"outside the tray"这个关键条件**,即使原始指令中没有明确提到"外",也要根据上下文理解为托盘外的物体。
92
+
93
+ 现在请翻译上面的原始指令:
94
+ """
95
+
96
+ def retry(func, max_retries=3):
97
+ def wrapper(*args, **kwargs):
98
+ for attempt in range(max_retries):
99
+ try:
100
+ return func(*args, **kwargs)
101
+ except Exception as e:
102
+ print(f"Attempt {attempt + 1} failed: {str(e)}")
103
+ time.sleep(2)
104
+ raise Exception(f"All {max_retries} attempts failed")
105
+ return wrapper
106
+
107
+
108
+ def simple_visual_bbox(image_array, bbox, use_qwen=False, suffix=""):
109
+ x1, y1, x2, y2 = bbox
110
+ vis_image = image_array.copy()
111
+ cv.rectangle(vis_image, (x1, y1), (x2, y2), (0, 255, 0), 2)
112
+ if use_qwen:
113
+ filename = f"qwen_debug_bbox{suffix}.jpg"
114
+ cv.imwrite(filename, vis_image)
115
+ else:
116
+ cv.imwrite("gemini_debug_bbox.jpg", vis_image)
117
+
118
+
119
+ def get_simple_vb_imgcv(image_array, bbox, input_format="rgb"):
120
+ if input_format == "rgb":
121
+ image_array = cv.cvtColor(image_array, cv.COLOR_RGB2BGR)
122
+ else:
123
+ pass
124
+ x1, y1, x2, y2 = bbox
125
+ vis_image = image_array.copy()
126
+ cv.rectangle(vis_image, (x1, y1), (x2, y2), (0, 255, 0), 2)
127
+ return vis_image
128
+
129
+
130
+ @retry
131
+ def call_gemini_for_translation(instruction, ver=2):
132
+ if ver == 1:
133
+ prompt = pt_for_translation1.replace("{instruction}", instruction)
134
+ elif ver == 2:
135
+ prompt = pt_for_translation2.replace("{instruction}", instruction)
136
+ start_time = time.time()
137
+ print("start calling gemini, waiting...")
138
+ text_response = client.models.generate_content(
139
+ model=MODEL_ID_FOR_TRANS,
140
+ contents=[
141
+ prompt
142
+ ],
143
+ config = types.GenerateContentConfig(
144
+ temperature=0.5,
145
+ thinking_config=types.ThinkingConfig(thinking_budget=0)
146
+ )
147
+ )
148
+ print(f"gemini inference time: {time.time() - start_time} seconds")
149
+ translation = text_response.text.strip()
150
+ # print(f"translation: {translation}")
151
+ return translation
152
+
153
+ @retry
154
+ def call_qwen_for_translation(instruction):
155
+ """
156
+ 使用千问大模型将中文机器人指令翻译成英文,特别强调"outside the tray"条件
157
+ """
158
+ dashscope.api_key = API_KEY_QWEN
159
+
160
+ prompt = pt_for_translation2_qwen.replace("{instruction}", instruction)
161
+
162
+ start_time = time.time()
163
+ print("开始调用千问模型进行翻译,请稍候...")
164
+
165
+ response = Generation.call(
166
+ model=MODEL_ID_FOR_TRANS_QWEN,
167
+ prompt=prompt,
168
+ temperature=0.3,
169
+ top_p=0.7,
170
+ max_tokens=50
171
+ )
172
+
173
+ print(f"千问推理时间: {time.time() - start_time:.2f} 秒")
174
+
175
+ if response.status_code != 200:
176
+ raise ValueError(
177
+ f"千问API调用失败,状态码: {response.status_code}, "
178
+ f"错误信息: {getattr(response, 'message', '未知错误')}"
179
+ )
180
+
181
+ translation = response.output.text.strip()
182
+
183
+ translation = re.sub(r'^["\']|["\']$', '', translation)
184
+ translation = translation.split('\n')[0]
185
+ translation = translation.rstrip('.') + '.'
186
+
187
+ if "outside the" not in translation.lower():
188
+ print("警告: 翻译结果可能缺少'outside the'条件!")
189
+
190
+ print(f"翻译结果: {translation}")
191
+ return translation
192
+
193
+
194
+
195
+ @retry
196
+ def call_gemini_for_bbox(image_array, instruction):
197
+ image_array = cv.cvtColor(image_array, cv.COLOR_RGB2BGR)
198
+ h, w, _ = image_array.shape
199
+ _, image_bytes = cv.imencode('.jpg', image_array)
200
+ image_bytes = image_bytes.tobytes()
201
+ prompt = prompt_template.replace("{instruction}", instruction)
202
+ start_time = time.time()
203
+ print("start calling gemini, waiting...")
204
+ image_response = client.models.generate_content(
205
+ model=MODEL_ID,
206
+ contents=[
207
+ types.Part.from_bytes(
208
+ data=image_bytes,
209
+ mime_type='image/jpeg',
210
+ ),
211
+ prompt
212
+ ],
213
+ config = types.GenerateContentConfig(
214
+ temperature=0.5,
215
+ thinking_config=types.ThinkingConfig(thinking_budget=0)
216
+ )
217
+ )
218
+ print(f"gemini inference time: {time.time() - start_time} seconds")
219
+ bbox = image_response.text
220
+ bbox = re.findall(r'\{"box_2d": \[(\d+), (\d+), (\d+), (\d+)\], "label": "([^"]+)"\}', bbox)[0]
221
+ ymin, xmin, ymax, xmax, label = bbox
222
+ scaled_bboxes = [
223
+ int(int(xmin) / 1000 * w),
224
+ int(int(ymin) / 1000 * h),
225
+ int(int(xmax) / 1000 * w),
226
+ int(int(ymax) / 1000 * h),
227
+ ]
228
+ print(f"xmin: {scaled_bboxes[0]}, y_min: {scaled_bboxes[1]}, \
229
+ x_max: {scaled_bboxes[2]}, y_max: {scaled_bboxes[3]}")
230
+ simple_visual_bbox(image_array, scaled_bboxes)
231
+ return scaled_bboxes
232
+
233
+
234
+ @retry
235
+ def call_qwen_for_bbox(
236
+ image_rgb: np.ndarray,
237
+ instruction: str,
238
+ save_visualization: bool = True,
239
+ suffix: str = ""
240
+ ) -> List[float]:
241
+ dashscope.api_key = API_KEY_QWEN
242
+
243
+ height, width = image_rgb.shape[:2]
244
+ image_bgr = cv.cvtColor(image_rgb, cv.COLOR_RGB2BGR)
245
+ _, encoded_image = cv.imencode('.jpg', image_bgr)
246
+ image_data = base64.b64encode(encoded_image).decode('utf-8')
247
+ prompt_text = PROMPT_TEMPLATE.format(instruction=instruction)
248
+
249
+ messages = [
250
+ {
251
+ 'role': 'user',
252
+ 'content': [
253
+ {
254
+ 'image': f'data:image/jpeg;base64,{image_data}'
255
+ },
256
+ {
257
+ 'text': prompt_text
258
+ }
259
+ ]
260
+ }
261
+ ]
262
+
263
+ start_time = time.time()
264
+ print("start calling qwen, waiting...")
265
+
266
+ response = MultiModalConversation.call(
267
+ model=MODEL_ID_QWEN,
268
+ messages=messages,
269
+ top_p=0.8,
270
+ enable_thinking=True,
271
+ thinking_budget=512, # 320, #
272
+ temperature=0.1
273
+ )
274
+ print(f"qwen inference time: {time.time() - start_time} seconds")
275
+
276
+ if response.status_code != 200:
277
+ raise ValueError(
278
+ f"API调用失败,状态码: {response.status_code}, "
279
+ f"错误信息: {response.message}"
280
+ )
281
+ assistant_reply = response.output.choices[0].message.content[0].get('text', '')
282
+
283
+ match_with_confidence = re.findall(
284
+ r'\{\s*"b?box_2d"\s*:\s*\[\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\]\s*,\s*"label"\s*:\s*"([^"]+)"\s*,\s*"confidence"\s*:\s*([\d.]+)\s*\}',
285
+ assistant_reply,
286
+ re.DOTALL
287
+ )
288
+ match_without_confidence = re.findall(
289
+ r'\{\s*"b?box_2d"\s*:\s*\[\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\]\s*,\s*"label"\s*:\s*"([^"]+)"\s*\}',
290
+ assistant_reply,
291
+ re.DOTALL
292
+ )
293
+ if match_with_confidence:
294
+ bbox = match_with_confidence[0]
295
+ elif match_without_confidence:
296
+ bbox = match_without_confidence[0] + ('1.0',) # Add default confidence of 1.0
297
+ else:
298
+ raise ValueError(f"Could not parse bbox from Qwen response: {assistant_reply}")
299
+ # print(f"bbox regulated from Qwen: {bbox}")
300
+ xmin, ymin, xmax, ymax, *_ = bbox
301
+ scaled_bboxes = [
302
+ int(int(xmin) / 1000 * width),
303
+ int(int(ymin) / 1000 * height),
304
+ int(int(xmax) / 1000 * width),
305
+ int(int(ymax) / 1000 * height),
306
+ ]
307
+ print(f"xmin: {scaled_bboxes[0]}, y_min: {scaled_bboxes[1]}, \
308
+ x_max: {scaled_bboxes[2]}, y_max: {scaled_bboxes[3]}")
309
+
310
+ if save_visualization:
311
+ simple_visual_bbox(image_bgr, scaled_bboxes, use_qwen=True, suffix=suffix)
312
+
313
+ return scaled_bboxes
314
+
315
+
316
+ def get_paligemma_box_instruction(image, bbox, target_image_size=224, scale=1024):
317
+ bbox = np.array(bbox)
318
+ h, w = image.shape[:2]
319
+ h_scale, w_scale = target_image_size / h, target_image_size / w
320
+ bbox = bbox * np.array([w_scale, h_scale, w_scale, h_scale])
321
+ image = cv.resize(image, (target_image_size, target_image_size))
322
+ simple_visual_bbox(cv.cvtColor(image, cv.COLOR_RGB2BGR), bbox) # simple resize for visualization here
323
+ bbox = np.clip(np.round(bbox / target_image_size * scale), 0, scale - 1).astype(np.int32)
324
+ rel_x1, rel_y1, rel_x2, rel_y2 = bbox
325
+ y_min = min(rel_y1, rel_y2)
326
+ x_min = min(rel_x1, rel_x2)
327
+ y_max = max(rel_y1, rel_y2)
328
+ x_max = max(rel_x1, rel_x2)
329
+ bbox = f"<loc{y_min}><loc{x_min}><loc{y_max}><loc{x_max}>"
330
+ return bbox
331
+
332
+
333
+ def get_bbox_image(rgb_head_image:np.ndarray,
334
+ bbox, target_height=224, target_width=224):
335
+ rgb_head_image = tf.convert_to_tensor(rgb_head_image)
336
+ rgb_head_image = tf.cast(rgb_head_image, tf.float32)
337
+ H, W, _ = rgb_head_image.shape
338
+
339
+ x1, y1, x2, y2 = bbox
340
+ bw, bh = x2 - x1, y2 - y1
341
+ side = tf.maximum(bw, bh)
342
+ cx, cy = x1 + bw / 2, y1 + bh / 2
343
+
344
+ # get square bbox
345
+ new_x1 = tf.cast(tf.floor(cx - side / 2), tf.int32)
346
+ new_y1 = tf.cast(tf.floor(cy - side / 2), tf.int32)
347
+ new_x2 = tf.cast(tf.math.ceil(cx + side / 2), tf.int32)
348
+ new_y2 = tf.cast(tf.math.ceil(cy + side / 2), tf.int32)
349
+
350
+ # padding origin image if out of bound
351
+ pad_left = tf.maximum(0, -new_x1)
352
+ pad_top = tf.maximum(0, -new_y1)
353
+ pad_right = tf.maximum(0, new_x2 - W)
354
+ pad_bottom = tf.maximum(0, new_y2 - H)
355
+
356
+ img_padded = tf.pad(
357
+ rgb_head_image,
358
+ paddings=[[pad_top, pad_bottom], [pad_left, pad_right], [0, 0]],
359
+ mode='CONSTANT',
360
+ constant_values=0
361
+ )
362
+
363
+ # update bbox
364
+ crop_x1 = new_x1 + pad_left
365
+ crop_y1 = new_y1 + pad_top
366
+ crop_x2 = new_x2 + pad_left
367
+ crop_y2 = new_y2 + pad_top
368
+
369
+ crop = img_padded[crop_y1:crop_y2, crop_x1:crop_x2, :]
370
+ crop_resized = tf.image.resize(crop, (target_height, target_width), method='bilinear')
371
+ crop_resized = tf.cast(crop_resized, tf.uint8).numpy()
372
+
373
+ cv.imwrite("debug_condition_image.png",
374
+ cv.cvtColor(crop_resized),
375
+ cv.COLOR_RGB2BGR)
376
+
377
+ return crop_resized
378
+
379
+
380
+ if __name__ == "__main__":
381
+ img_time = "20251105-161101"
382
+ image = cv.imread(img_time+".jpg")
383
+ image = cv.cvtColor(image, cv.COLOR_BGR2RGB)
384
+
385
+ use_lower_half = True # False #
386
+ if use_lower_half:
387
+ height = image.shape[0] #
388
+ height_to_use = height // 2
389
+ suffix2 = "_bottom_half" #
390
+ else:
391
+ height_to_use = 0 # full image
392
+ suffix2 = "_full" # "_bottom_half" #
393
+ image_bottom_half = image[height_to_use:, :, :]
394
+
395
+ instruction = "Pick up the bottles outside the container and place them on the container."
396
+ suffix1 = img_time+"-seed1-temp0d1-tb512-bottles-gemini-prompt-container"
397
+
398
+ suffix = suffix1 + suffix2
399
+ use_gemini = False # True #
400
+ if use_gemini:
401
+ bbox = call_gemini_for_bbox(image_bottom_half, instruction) #, suffix=suffix)
402
+ else:
403
+ suffix += "_qwen"
404
+ bbox = call_qwen_for_bbox(image_bottom_half, instruction, suffix=suffix)
405
+ print("Final bbox:", bbox)
406
+
407
+ # test Chinese translation
408
+ chinese_instruction = "拿起紫色物品放到托盘上"
409
+ english_translation_gemini = None
410
+ english_translation = call_qwen_for_translation(chinese_instruction)
411
+ if english_translation_gemini:
412
+ print(f"\n最终翻译结果 gemini: {english_translation_gemini}")
413
+ else:
414
+ print("翻译失败")
415
+ if english_translation:
416
+ print(f"\n最终翻译结果: {english_translation}")
417
+ else:
418
+ print("翻译失败")
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/g0_vlm_node/vlm_main.py ADDED
@@ -0,0 +1,371 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import rclpy
2
+ import numpy as np
3
+ from collections import deque
4
+
5
+ from vla_msg.srv import VLMInstruction
6
+ from vla_msg.msg import VLAPromptEcho
7
+ from std_msgs.msg import String
8
+ from functools import partial
9
+
10
+ from cv_bridge import CvBridge
11
+ from sensor_msgs.msg import CompressedImage
12
+ import base64
13
+
14
+ import cv2
15
+
16
+ from g0_vlm_node.utils import call_gemini_for_translation, call_gemini_for_bbox, get_simple_vb_imgcv
17
+ from g0_vlm_node.utils import call_qwen_for_translation, call_qwen_for_bbox
18
+
19
+ import argparse
20
+ import time
21
+ import json
22
+ from loguru import logger
23
+ import tyro
24
+
25
+
26
+ class VLMNode:
27
+ def __init__(self,
28
+ reliabty_mode:str,
29
+ use_qwen: bool):
30
+
31
+ self.node = rclpy.create_node('g0_vlm_node')
32
+ self.ver = 2
33
+ self.head_camera_topic_n = "/hdas/camera_head/left_raw/image_raw_color/compressed"
34
+ self.server_name1 = 'hs/vlm_instruction_proc_service'
35
+ self.server_name2 = 'hs/vlm_instruction_cfm_service'
36
+
37
+ self.pub_for_ehi_topic_n = 'hs/vlm_out4ehi'
38
+ self.pub_to_vla_topic_n = 'hs/vlm_out2vla'
39
+
40
+ self.use_qwen = use_qwen
41
+
42
+ self.qos_profile_pub = self.create_qos_profile(reliabty_mode)
43
+
44
+ self.loop_num_for_ehi = 1
45
+ self.loop_num_to_vla = 1
46
+
47
+ self.pub_for_ehi = self.node.create_publisher(
48
+ VLAPromptEcho,
49
+ self.pub_for_ehi_topic_n,
50
+ self.qos_profile_pub
51
+ )
52
+
53
+ self.pub_to_vla = self.node.create_publisher(
54
+ String,
55
+ self.pub_to_vla_topic_n,
56
+ self.qos_profile_pub
57
+ )
58
+
59
+ self.vlm_proc_que_len = 5
60
+ self.vlm_proc_que = deque(
61
+ maxlen=self.vlm_proc_que_len
62
+ )
63
+ self.use_vlm_cache = False
64
+
65
+ self.br = CvBridge()
66
+ self.himg_que_len = 5
67
+ self.himg_que = deque(
68
+ maxlen=self.himg_que_len
69
+ )
70
+ self.himg_sub = self.node.create_subscription(
71
+ CompressedImage,
72
+ self.head_camera_topic_n,
73
+ partial(
74
+ self._vlm_camera_callback,
75
+ que=self.himg_que,
76
+ ),
77
+ self.create_qos_profile("reliable")
78
+ )
79
+
80
+ self.hp_ = None
81
+ self.bbox_dict = {"bbox": [], "head_img_base64": ""}
82
+
83
+
84
+
85
+ def create_qos_profile(self, r_mode):
86
+ if r_mode in ["reliable", "r"]:
87
+ qos_profile_pub = rclpy.qos.QoSProfile(
88
+ reliability=rclpy.qos.ReliabilityPolicy.RELIABLE,
89
+ history=rclpy.qos.HistoryPolicy.KEEP_LAST,
90
+ depth=1,
91
+ durability=rclpy.qos.DurabilityPolicy.VOLATILE
92
+ )
93
+ elif r_mode in ["best_effort", "be"]:
94
+ qos_profile_pub = rclpy.qos.QoSProfile(
95
+ reliability=rclpy.qos.ReliabilityPolicy.BEST_EFFORT,
96
+ history=rclpy.qos.HistoryPolicy.KEEP_LAST,
97
+ depth=1,
98
+ durability=rclpy.qos.DurabilityPolicy.VOLATILE
99
+ )
100
+ else:
101
+ qos_profile_pub = None
102
+ logger.error("Invalid reliability mode specified. Use 'reliable' or 'best_effort'.")
103
+ raise ValueError("Invalid reliability mode specified.")
104
+ return qos_profile_pub
105
+
106
+
107
+ def _get_msg_time(self, msg):
108
+ return msg.header.stamp.sec + msg.header.stamp.nanosec * 1e-9
109
+
110
+ def _vlm_camera_callback(self, msg: CompressedImage, que: list):
111
+ img_cv_bgr = self.br.compressed_imgmsg_to_cv2(msg)
112
+ # logger.info(f"Here is camera callback, img_cv_bgr shape is {img_cv_bgr.shape}")
113
+ if len(img_cv_bgr.shape) == 3 and img_cv_bgr.shape[2] == 3:
114
+ img_cv = cv2.cvtColor(img_cv_bgr, cv2.COLOR_BGR2RGB)
115
+ elif len(img_cv_bgr.shape) == 3 and img_cv_bgr.shape[2] == 4:
116
+ img_cv = cv2.cvtColor(img_cv_bgr, cv2.COLOR_BGRA2RGBA)
117
+ else:
118
+ raise ValueError(f"Unexpected image format: {img_cv_bgr.shape}")
119
+ # if self.config.hardware == R1_LITE and "head" in topic:
120
+ # img = img_cv[:, :img_cv.shape[1] // 2]
121
+ img = img_cv
122
+
123
+ # logger.info(f"Here is camera callback, img shape is {img.shape}")
124
+
125
+ que.append(
126
+ dict(
127
+ data=img,
128
+ message_time=self._get_msg_time(msg),
129
+ )
130
+ )
131
+
132
+
133
+ def vlm_srv(self):
134
+ logger.info("Starting VLM Service...")
135
+
136
+ self.srv1 = self.node.create_service(
137
+ VLMInstruction,
138
+ self.server_name1,
139
+ self.vlm_processor1
140
+ )
141
+ self.node.get_logger().info("VLM Server1 started!")
142
+
143
+ self.srv2 = self.node.create_service(
144
+ VLMInstruction,
145
+ self.server_name2,
146
+ self.vlm_processor2
147
+ )
148
+ self.node.get_logger().info("VLM Server2 started!")
149
+
150
+ rclpy.spin(self.node)
151
+
152
+ def decode_img_from_base64(self, img_base64: str, output_format="rgb") -> np.ndarray:
153
+ img_data = base64.b64decode(img_base64)
154
+ # 将二进制数据转换为 numpy 数组
155
+ img_array = np.frombuffer(img_data, dtype=np.uint8)
156
+ # 使用 cv2.imdecode 将其恢复为图像
157
+ img_array = cv2.imdecode(img_array, cv2.IMREAD_COLOR)
158
+ if output_format == "rgb":
159
+ return cv2.cvtColor(img_array, cv2.COLOR_BGR2RGB)
160
+ else:
161
+ return img_array
162
+
163
+
164
+ def imencode_img_to_base64(self, img, input_format="rgb") -> str:
165
+ if input_format == "rgb":
166
+ img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
167
+ else:
168
+ pass
169
+ _, buffer = cv2.imencode('.jpg', img)
170
+ # 将二进制数据转换为 base64 字符串
171
+ return base64.b64encode(buffer).decode('utf-8')
172
+
173
+ def publish_to_vla(self, hp_: str, bbox: list[int], head_img_base64: str):
174
+ ver = self.ver
175
+ msg = String()
176
+ json_to_vla = {}
177
+
178
+ json_to_vla["lower_prompt_list"] = [hp_]
179
+ json_to_vla["bbox"] = []
180
+ json_to_vla["head_img_base64"] = ""
181
+ if ver == 1:
182
+ logger.warning("Version 1 you are using, which does not support bbox publishing.")
183
+ elif ver == 2:
184
+ if bbox != [] and head_img_base64 != "":
185
+ json_to_vla["bbox"] = bbox
186
+ json_to_vla["head_img_base64"] = head_img_base64
187
+
188
+ msg.data = json.dumps(json_to_vla, ensure_ascii=False)
189
+
190
+ loop_num = self.loop_num_to_vla
191
+ for _ in range(loop_num):
192
+ self.pub_to_vla.publish(msg)
193
+
194
+ def publish_for_ehi(self, text, img, output_format="bgr"):
195
+ ver = self.ver
196
+ msg = VLAPromptEcho()
197
+ msg.role = "vlm"
198
+ msg.content = text
199
+ if ver == 1:
200
+ pass
201
+ elif ver == 2:
202
+ if output_format == "rgb":
203
+ img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
204
+ else:
205
+ pass
206
+ img_pub = CompressedImage()
207
+ img_pub.data = cv2.imencode('.jpg', img)[1].tobytes()
208
+ msg.image_compressed = img_pub
209
+
210
+ loop_num = self.loop_num_for_ehi
211
+ for _ in range(loop_num):
212
+ self.pub_for_ehi.publish(msg)
213
+
214
+
215
+ def hp_processor(self, higher_prompt: str) -> str:
216
+ hp_ = "NaN"
217
+ try:
218
+ if self.use_qwen:
219
+ hp_ = call_qwen_for_translation(higher_prompt)
220
+ else:
221
+ hp_ = call_gemini_for_translation(higher_prompt)
222
+ except Exception as e:
223
+ logger.info(f"[VLM Server1] Require Gemini for Translation fail! Detail:{str(e)}")
224
+ time.sleep(2)
225
+ return hp_
226
+
227
+ def bbox_processor(self, latest_head_rgb, hp_: str) -> list[int]:
228
+ bbox = []
229
+ try:
230
+ if self.use_qwen:
231
+ bbox = call_qwen_for_bbox(latest_head_rgb, hp_)
232
+ else:
233
+ bbox = call_gemini_for_bbox(latest_head_rgb, hp_)
234
+ except Exception as e:
235
+ model_n = "Qwen" if self.use_qwen else "Gemini"
236
+ logger.info(f"[VLM Server1] Require {model_n} for BBox fail! Detail:{str(e)}")
237
+ time.sleep(2)
238
+ if not isinstance(bbox, list) or len(bbox) != 4 or not all(isinstance(coord, int) for coord in bbox):
239
+ logger.warning(f"[VLM Server1] Invalid bbox format received: {bbox}. Expected a list of 4 integers.")
240
+ return bbox
241
+
242
+
243
+ def refine_hp(self, higher_prompt: str) -> str:
244
+ return higher_prompt.strip().lower()
245
+
246
+
247
+ def vlm_processor1(self, request, response):
248
+ ins_dict = json.loads(request.instruction)
249
+ higher_prompt = self.refine_hp(ins_dict["content"])
250
+ self.use_vlm_cache = True if ins_dict.get("use_vlm_cache", "false").lower() == "true" else False
251
+ hp_ = higher_prompt
252
+
253
+ response.success = False
254
+
255
+ if len(self.himg_que) == 0:
256
+ logger.info(f"[VLM Server1] No head image received!")
257
+ return response
258
+ latest_head_rgb = self.himg_que[-1]["data"]
259
+
260
+
261
+ if higher_prompt != "":
262
+ if higher_prompt == "reset":
263
+ self.publish_to_vla("reset", [], "")
264
+ self.hp_ = hp_
265
+
266
+ self.bbox_dict["bbox"] = []
267
+ self.bbox_dict["head_img_base64"] = ""
268
+ logger.info(f"[VLM Server1] Successfully processed instruction: {hp_}!")
269
+ response.success = True
270
+ elif higher_prompt == "stop":
271
+ self.hp_ = hp_
272
+
273
+ self.bbox_dict["bbox"] = []
274
+ self.bbox_dict["head_img_base64"] = ""
275
+ logger.info(f"[VLM Server1] Successfully processed instruction: {hp_}!")
276
+ response.success = True
277
+ else:
278
+ self.publish_to_vla("reset", [], "")
279
+ if self.use_vlm_cache:
280
+ for proc_dict in self.vlm_proc_que:
281
+ if higher_prompt in proc_dict:
282
+ hp_ = proc_dict[higher_prompt]["hp_"]
283
+ bbox = proc_dict[higher_prompt]["bbox"]
284
+ head_img_base64 = proc_dict[higher_prompt]["head_img_base64"]
285
+ logger.info(f"[VLM Server1] Found cached hp for the instruction: {higher_prompt} -> {hp_}!")
286
+ bbox_in_img_bgr = get_simple_vb_imgcv(self.decode_img_from_base64(head_img_base64, output_format="rgb"),
287
+ bbox, input_format="rgb")
288
+ self.publish_for_ehi(hp_, bbox_in_img_bgr)
289
+
290
+
291
+ self.hp_ = hp_
292
+ self.bbox_dict["bbox"] = bbox
293
+ self.bbox_dict["head_img_base64"] = head_img_base64
294
+ logger.info(f"[VLM Server1] Successfully processed instruction: {higher_prompt} -> {hp_} and bbox: {bbox}!")
295
+ response.success = True
296
+ self.use_vlm_cache = False
297
+ return response
298
+
299
+
300
+ logger.info(f"[VLM Server1] Processing instruction: {higher_prompt}!")
301
+ hp_ = self.hp_processor(higher_prompt)
302
+
303
+ if hp_ != "NaN":
304
+ bbox = self.bbox_processor(latest_head_rgb, hp_)
305
+ if bbox != []:
306
+ bbox_in_img_bgr = get_simple_vb_imgcv(latest_head_rgb, bbox, input_format="rgb")
307
+ self.publish_for_ehi(hp_, bbox_in_img_bgr)
308
+
309
+ self.hp_ = hp_
310
+ self.bbox_dict["bbox"] = bbox
311
+ head_img_base64 = self.imencode_img_to_base64(latest_head_rgb, input_format="rgb")
312
+ self.bbox_dict["head_img_base64"] = head_img_base64
313
+
314
+ if self.use_vlm_cache:
315
+ self.vlm_proc_que.append({higher_prompt:{
316
+ "hp_": hp_,
317
+ "bbox": bbox,
318
+ "head_img_base64": head_img_base64
319
+ }
320
+ })
321
+
322
+ logger.info(f"[VLM Server1] Successfully processed instruction: {higher_prompt} -> {hp_} and bbox: {bbox}!")
323
+ response.success = True
324
+ else:
325
+ logger.info(f"[VLM Server1] BBox process fail! Try again!")
326
+ else:
327
+ logger.info(f"[VLM Server1] Instruction process fail! Try again!")
328
+
329
+ self.use_vlm_cache = False
330
+ return response
331
+
332
+ def vlm_processor2(self, request, response):
333
+ hp_ = self.hp_
334
+ bbox_dict = self.bbox_dict
335
+ bbox = bbox_dict["bbox"]
336
+ head_img_base64 = bbox_dict["head_img_base64"]
337
+
338
+ if hp_ is None or bbox == []:
339
+ response.success = False
340
+ response.reserved = "No prompts & bbox sent to VLA"
341
+ else:
342
+ self.publish_to_vla(hp_, bbox, head_img_base64)
343
+ response.success = True
344
+ response.reserved = f"Prompts sent to VLA is {hp_}, Bbox is {bbox}. \nPart of head image is {head_img_base64[:50]}..."
345
+
346
+ logger.info(f"[VLM Server2] Successfully sent to VLA hp: {hp_}, bbox: {bbox} and head_img_base64!")
347
+ return response
348
+
349
+
350
+
351
+ def main(argv=None):
352
+ rclpy.init(args=argv)
353
+ parser = argparse.ArgumentParser()
354
+ parser.add_argument("--reliabty-mode", dest="reliabty_mode", type=str, default="reliable")
355
+ parser.add_argument('--use-qwen', dest='use_qwen', action='store_true',
356
+ help='Enable Qwen usage')
357
+ parser.add_argument('--no-use-qwen', dest='use_qwen', action='store_false',
358
+ help='Disable Qwen usage')
359
+ args, unknown = parser.parse_known_args(argv)
360
+
361
+ vlm_node = VLMNode(
362
+ reliabty_mode=args.reliabty_mode,
363
+ use_qwen=args.use_qwen
364
+ )
365
+
366
+ try:
367
+ logger.info('Beginning VLM Node, shut down with CTRL-C')
368
+ vlm_node.vlm_srv()
369
+ finally:
370
+ rclpy.shutdown()
371
+
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/package.xml ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
3
+ <package format="3">
4
+ <name>g0_vlm_node</name>
5
+ <version>0.0.0</version>
6
+ <description>TODO: Package description</description>
7
+ <maintainer email="jingyang.mai@galaxea.ai">user</maintainer>
8
+ <license>TODO: License declaration</license>
9
+
10
+ <depend>rclpy</depend>
11
+ <depend>std_msgs</depend>
12
+
13
+ <depend>sensor_msgs</depend>
14
+ <depend>g0_vlm_interface</depend>
15
+ <buildtool_depend>rosidl_default_generators</buildtool_depend>
16
+ <exec_depend>rosidl_default_runtime</exec_depend>
17
+ <member_of_group>rosidl_interface_packages</member_of_group>
18
+
19
+
20
+ <test_depend>ament_copyright</test_depend>
21
+ <test_depend>ament_flake8</test_depend>
22
+ <test_depend>ament_pep257</test_depend>
23
+ <test_depend>python3-pytest</test_depend>
24
+
25
+ <export>
26
+ <build_type>ament_python</build_type>
27
+ </export>
28
+ </package>
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/resource/g0_vlm_node ADDED
File without changes
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/setup.cfg ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ [develop]
2
+ script_dir=$base/lib/g0_vlm_node
3
+ [install]
4
+ install_scripts=$base/lib/g0_vlm_node
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/setup.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from setuptools import find_packages, setup
2
+
3
+ package_name = 'g0_vlm_node'
4
+
5
+ setup(
6
+ name=package_name,
7
+ version='0.0.0',
8
+ packages=find_packages(exclude=['test']),
9
+ data_files=[
10
+ ('share/ament_index/resource_index/packages',
11
+ ['resource/' + package_name]),
12
+ ('share/' + package_name, ['package.xml']),
13
+ ],
14
+ install_requires=['setuptools'],
15
+ zip_safe=True,
16
+ maintainer='user',
17
+ maintainer_email='jingyang.mai@galaxea.ai',
18
+ description='TODO: Package description',
19
+ license='TODO: License declaration',
20
+ extras_require={
21
+ 'test': [
22
+ 'pytest',
23
+ ],
24
+ },
25
+ entry_points={
26
+ 'console_scripts': [
27
+ 'vlm_main = g0_vlm_node.vlm_main:main'
28
+ ],
29
+ },
30
+ )
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/test/test_copyright.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2015 Open Source Robotics Foundation, Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from ament_copyright.main import main
16
+ import pytest
17
+
18
+
19
+ # Remove the `skip` decorator once the source file(s) have a copyright header
20
+ @pytest.mark.skip(reason='No copyright header has been placed in the generated source file.')
21
+ @pytest.mark.copyright
22
+ @pytest.mark.linter
23
+ def test_copyright():
24
+ rc = main(argv=['.', 'test'])
25
+ assert rc == 0, 'Found errors'
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/test/test_flake8.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2017 Open Source Robotics Foundation, Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from ament_flake8.main import main_with_errors
16
+ import pytest
17
+
18
+
19
+ @pytest.mark.flake8
20
+ @pytest.mark.linter
21
+ def test_flake8():
22
+ rc, errors = main_with_errors(argv=[])
23
+ assert rc == 0, \
24
+ 'Found %d code style errors / warnings:\n' % len(errors) + \
25
+ '\n'.join(errors)
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/g0_vlm_node/test/test_pep257.py ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2015 Open Source Robotics Foundation, Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from ament_pep257.main import main
16
+ import pytest
17
+
18
+
19
+ @pytest.mark.linter
20
+ @pytest.mark.pep257
21
+ def test_pep257():
22
+ rc = main(argv=['.', 'test'])
23
+ assert rc == 0, 'Found code style errors / warnings'
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/vla/CMakeLists.txt ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ cmake_minimum_required(VERSION 3.16)
2
+ project(vla_msg)
3
+
4
+ find_package(ament_cmake REQUIRED)
5
+ find_package(std_msgs REQUIRED)
6
+
7
+ find_package(sensor_msgs REQUIRED)
8
+ find_package(rosidl_default_generators REQUIRED)
9
+
10
+ file(GLOB msg_files LIST_DIRECTORIES false RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "msg/*.msg")
11
+ file(GLOB srv_files LIST_DIRECTORIES false RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "srv/*.srv")
12
+
13
+ rosidl_generate_interfaces(${PROJECT_NAME}
14
+ ${msg_files}
15
+ ${srv_files}
16
+ DEPENDENCIES std_msgs sensor_msgs
17
+ )
18
+
19
+ ament_export_dependencies(rosidl_default_runtime std_msgs sensor_msgs)
20
+
21
+ ament_package()
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/vla/msg/VLAPromptEcho.msg ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ std_msgs/Header header
2
+ string role
3
+ string content
4
+ sensor_msgs/CompressedImage image_compressed
5
+ string reserved
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/vla/package.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package format="3">
3
+ <name>vla_msg</name>
4
+ <version>0.1.0</version>
5
+ <description>The vla_msg package</description>
6
+ <member_of_group>rosidl_interface_packages</member_of_group>
7
+ <maintainer email="support@galaxea.ai">Galaxea AI</maintainer>
8
+ <license>TODO</license>
9
+ <buildtool_depend>ament_cmake</buildtool_depend>
10
+ <build_depend>rosidl_default_generators</build_depend>
11
+ <exec_depend>rosidl_default_runtime</exec_depend>
12
+ <depend>std_msgs</depend>
13
+ <depend>sensor_msgs</depend>
14
+ <depend>vision_msgs</depend>
15
+ <export>
16
+ <build_type>ament_cmake</build_type>
17
+ </export>
18
+ </package>
g0plus_dockerfile/docker-assets/code/Hierarchical_System/src/vla/srv/VLMInstruction.srv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ string instruction
2
+ ---
3
+ bool success
4
+ string reserved
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/char-rnn.wts ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8e3eea72440ca567a606df4a6023296b741c060092b66e0438bf65280ad0e97b
3
+ size 51181712
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/model/checkpoint ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ model_checkpoint_path: "model-20080"
2
+ all_model_checkpoint_paths: "model-10040"
3
+ all_model_checkpoint_paths: "model-12048"
4
+ all_model_checkpoint_paths: "model-16064"
5
+ all_model_checkpoint_paths: "model-18072"
6
+ all_model_checkpoint_paths: "model-20080"
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/model/model-20080.data-00000-of-00001 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d237c223cb17cb956459de977e353714d49b585ef79cf1548d4c78e129062c03
3
+ size 51180336
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/model/model-20080.index ADDED
Binary file (1.21 kB). View file
 
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/char-rnn/model/model-20080.meta ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:93e392adc47837ba41946df3d848dc4ba87b378620a722674821077c4f724bba
3
+ size 684877
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/int8_api/README.md ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Sample Int8 API
2
+
3
+ ## resnet50
4
+ File: [airliner.ppm]
5
+ The input sample images used to do int8 calibration.
6
+
7
+ File: [reference_labels.txt]
8
+ The input reference labels used to do int8 calibration.
9
+
10
+ File: [resnet50_per_tensor_dynamic_range.txt]
11
+ The absolute max value for each tensor.
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/int8_api/airliner.ppm ADDED

Git LFS Details

  • SHA256: eac2811e99893115847d2e6ab24bae5a1e4ff64820a000a672333c07dc29e083
  • Pointer size: 131 Bytes
  • Size of remote file: 151 kB
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/int8_api/reference_labels.txt ADDED
@@ -0,0 +1,1000 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tench
2
+ goldfish
3
+ great white shark
4
+ tiger shark
5
+ hammerhead
6
+ electric ray
7
+ stingray
8
+ cock
9
+ hen
10
+ ostrich
11
+ brambling
12
+ goldfinch
13
+ house finch
14
+ junco
15
+ indigo bunting
16
+ robin
17
+ bulbul
18
+ jay
19
+ magpie
20
+ chickadee
21
+ water ouzel
22
+ kite
23
+ bald eagle
24
+ vulture
25
+ great grey owl
26
+ European fire salamander
27
+ common newt
28
+ eft
29
+ spotted salamander
30
+ axolotl
31
+ bullfrog
32
+ tree frog
33
+ tailed frog
34
+ loggerhead
35
+ leatherback turtle
36
+ mud turtle
37
+ terrapin
38
+ box turtle
39
+ banded gecko
40
+ common iguana
41
+ American chameleon
42
+ whiptail
43
+ agama
44
+ frilled lizard
45
+ alligator lizard
46
+ Gila monster
47
+ green lizard
48
+ African chameleon
49
+ Komodo dragon
50
+ African crocodile
51
+ American alligator
52
+ triceratops
53
+ thunder snake
54
+ ringneck snake
55
+ hognose snake
56
+ green snake
57
+ king snake
58
+ garter snake
59
+ water snake
60
+ vine snake
61
+ night snake
62
+ boa constrictor
63
+ rock python
64
+ Indian cobra
65
+ green mamba
66
+ sea snake
67
+ horned viper
68
+ diamondback
69
+ sidewinder
70
+ trilobite
71
+ harvestman
72
+ scorpion
73
+ black and gold garden spider
74
+ barn spider
75
+ garden spider
76
+ black widow
77
+ tarantula
78
+ wolf spider
79
+ tick
80
+ centipede
81
+ black grouse
82
+ ptarmigan
83
+ ruffed grouse
84
+ prairie chicken
85
+ peacock
86
+ quail
87
+ partridge
88
+ African grey
89
+ macaw
90
+ sulphur-crested cockatoo
91
+ lorikeet
92
+ coucal
93
+ bee eater
94
+ hornbill
95
+ hummingbird
96
+ jacamar
97
+ toucan
98
+ drake
99
+ red-breasted merganser
100
+ goose
101
+ black swan
102
+ tusker
103
+ echidna
104
+ platypus
105
+ wallaby
106
+ koala
107
+ wombat
108
+ jellyfish
109
+ sea anemone
110
+ brain coral
111
+ flatworm
112
+ nematode
113
+ conch
114
+ snail
115
+ slug
116
+ sea slug
117
+ chiton
118
+ chambered nautilus
119
+ Dungeness crab
120
+ rock crab
121
+ fiddler crab
122
+ king crab
123
+ American lobster
124
+ spiny lobster
125
+ crayfish
126
+ hermit crab
127
+ isopod
128
+ white stork
129
+ black stork
130
+ spoonbill
131
+ flamingo
132
+ little blue heron
133
+ American egret
134
+ bittern
135
+ crane
136
+ limpkin
137
+ European gallinule
138
+ American coot
139
+ bustard
140
+ ruddy turnstone
141
+ red-backed sandpiper
142
+ redshank
143
+ dowitcher
144
+ oystercatcher
145
+ pelican
146
+ king penguin
147
+ albatross
148
+ grey whale
149
+ killer whale
150
+ dugong
151
+ sea lion
152
+ Chihuahua
153
+ Japanese spaniel
154
+ Maltese dog
155
+ Pekinese
156
+ Shih-Tzu
157
+ Blenheim spaniel
158
+ papillon
159
+ toy terrier
160
+ Rhodesian ridgeback
161
+ Afghan hound
162
+ basset
163
+ beagle
164
+ bloodhound
165
+ bluetick
166
+ black-and-tan coonhound
167
+ Walker hound
168
+ English foxhound
169
+ redbone
170
+ borzoi
171
+ Irish wolfhound
172
+ Italian greyhound
173
+ whippet
174
+ Ibizan hound
175
+ Norwegian elkhound
176
+ otterhound
177
+ Saluki
178
+ Scottish deerhound
179
+ Weimaraner
180
+ Staffordshire bullterrier
181
+ American Staffordshire terrier
182
+ Bedlington terrier
183
+ Border terrier
184
+ Kerry blue terrier
185
+ Irish terrier
186
+ Norfolk terrier
187
+ Norwich terrier
188
+ Yorkshire terrier
189
+ wire-haired fox terrier
190
+ Lakeland terrier
191
+ Sealyham terrier
192
+ Airedale
193
+ cairn
194
+ Australian terrier
195
+ Dandie Dinmont
196
+ Boston bull
197
+ miniature schnauzer
198
+ giant schnauzer
199
+ standard schnauzer
200
+ Scotch terrier
201
+ Tibetan terrier
202
+ silky terrier
203
+ soft-coated wheaten terrier
204
+ West Highland white terrier
205
+ Lhasa
206
+ flat-coated retriever
207
+ curly-coated retriever
208
+ golden retriever
209
+ Labrador retriever
210
+ Chesapeake Bay retriever
211
+ German short-haired pointer
212
+ vizsla
213
+ English setter
214
+ Irish setter
215
+ Gordon setter
216
+ Brittany spaniel
217
+ clumber
218
+ English springer
219
+ Welsh springer spaniel
220
+ cocker spaniel
221
+ Sussex spaniel
222
+ Irish water spaniel
223
+ kuvasz
224
+ schipperke
225
+ groenendael
226
+ malinois
227
+ briard
228
+ kelpie
229
+ komondor
230
+ Old English sheepdog
231
+ Shetland sheepdog
232
+ collie
233
+ Border collie
234
+ Bouvier des Flandres
235
+ Rottweiler
236
+ German shepherd
237
+ Doberman
238
+ miniature pinscher
239
+ Greater Swiss Mountain dog
240
+ Bernese mountain dog
241
+ Appenzeller
242
+ EntleBucher
243
+ boxer
244
+ bull mastiff
245
+ Tibetan mastiff
246
+ French bulldog
247
+ Great Dane
248
+ Saint Bernard
249
+ Eskimo dog
250
+ malamute
251
+ Siberian husky
252
+ dalmatian
253
+ affenpinscher
254
+ basenji
255
+ pug
256
+ Leonberg
257
+ Newfoundland
258
+ Great Pyrenees
259
+ Samoyed
260
+ Pomeranian
261
+ chow
262
+ keeshond
263
+ Brabancon griffon
264
+ Pembroke
265
+ Cardigan
266
+ toy poodle
267
+ miniature poodle
268
+ standard poodle
269
+ Mexican hairless
270
+ timber wolf
271
+ white wolf
272
+ red wolf
273
+ coyote
274
+ dingo
275
+ dhole
276
+ African hunting dog
277
+ hyena
278
+ red fox
279
+ kit fox
280
+ Arctic fox
281
+ grey fox
282
+ tabby
283
+ tiger cat
284
+ Persian cat
285
+ Siamese cat
286
+ Egyptian cat
287
+ cougar
288
+ lynx
289
+ leopard
290
+ snow leopard
291
+ jaguar
292
+ lion
293
+ tiger
294
+ cheetah
295
+ brown bear
296
+ American black bear
297
+ ice bear
298
+ sloth bear
299
+ mongoose
300
+ meerkat
301
+ tiger beetle
302
+ ladybug
303
+ ground beetle
304
+ long-horned beetle
305
+ leaf beetle
306
+ dung beetle
307
+ rhinoceros beetle
308
+ weevil
309
+ fly
310
+ bee
311
+ ant
312
+ grasshopper
313
+ cricket
314
+ walking stick
315
+ cockroach
316
+ mantis
317
+ cicada
318
+ leafhopper
319
+ lacewing
320
+ dragonfly
321
+ damselfly
322
+ admiral
323
+ ringlet
324
+ monarch
325
+ cabbage butterfly
326
+ sulphur butterfly
327
+ lycaenid
328
+ starfish
329
+ sea urchin
330
+ sea cucumber
331
+ wood rabbit
332
+ hare
333
+ Angora
334
+ hamster
335
+ porcupine
336
+ fox squirrel
337
+ marmot
338
+ beaver
339
+ guinea pig
340
+ sorrel
341
+ zebra
342
+ hog
343
+ wild boar
344
+ warthog
345
+ hippopotamus
346
+ ox
347
+ water buffalo
348
+ bison
349
+ ram
350
+ bighorn
351
+ ibex
352
+ hartebeest
353
+ impala
354
+ gazelle
355
+ Arabian camel
356
+ llama
357
+ weasel
358
+ mink
359
+ polecat
360
+ black-footed ferret
361
+ otter
362
+ skunk
363
+ badger
364
+ armadillo
365
+ three-toed sloth
366
+ orangutan
367
+ gorilla
368
+ chimpanzee
369
+ gibbon
370
+ siamang
371
+ guenon
372
+ patas
373
+ baboon
374
+ macaque
375
+ langur
376
+ colobus
377
+ proboscis monkey
378
+ marmoset
379
+ capuchin
380
+ howler monkey
381
+ titi
382
+ spider monkey
383
+ squirrel monkey
384
+ Madagascar cat
385
+ indri
386
+ Indian elephant
387
+ African elephant
388
+ lesser panda
389
+ giant panda
390
+ barracouta
391
+ eel
392
+ coho
393
+ rock beauty
394
+ anemone fish
395
+ sturgeon
396
+ gar
397
+ lionfish
398
+ puffer
399
+ abacus
400
+ abaya
401
+ academic gown
402
+ accordion
403
+ acoustic guitar
404
+ aircraft carrier
405
+ airliner
406
+ airship
407
+ altar
408
+ ambulance
409
+ amphibian
410
+ analog clock
411
+ apiary
412
+ apron
413
+ ashcan
414
+ assault rifle
415
+ backpack
416
+ bakery
417
+ balance beam
418
+ balloon
419
+ ballpoint
420
+ Band Aid
421
+ banjo
422
+ bannister
423
+ barbell
424
+ barber chair
425
+ barbershop
426
+ barn
427
+ barometer
428
+ barrel
429
+ barrow
430
+ baseball
431
+ basketball
432
+ bassinet
433
+ bassoon
434
+ bathing cap
435
+ bath towel
436
+ bathtub
437
+ beach wagon
438
+ beacon
439
+ beaker
440
+ bearskin
441
+ beer bottle
442
+ beer glass
443
+ bell cote
444
+ bib
445
+ bicycle-built-for-two
446
+ bikini
447
+ binder
448
+ binoculars
449
+ birdhouse
450
+ boathouse
451
+ bobsled
452
+ bolo tie
453
+ bonnet
454
+ bookcase
455
+ bookshop
456
+ bottlecap
457
+ bow
458
+ bow tie
459
+ brass
460
+ brassiere
461
+ breakwater
462
+ breastplate
463
+ broom
464
+ bucket
465
+ buckle
466
+ bulletproof vest
467
+ bullet train
468
+ butcher shop
469
+ cab
470
+ caldron
471
+ candle
472
+ cannon
473
+ canoe
474
+ can opener
475
+ cardigan
476
+ car mirror
477
+ carousel
478
+ carpenter's kit
479
+ carton
480
+ car wheel
481
+ cash machine
482
+ cassette
483
+ cassette player
484
+ castle
485
+ catamaran
486
+ CD player
487
+ cello
488
+ cellular telephone
489
+ chain
490
+ chainlink fence
491
+ chain mail
492
+ chain saw
493
+ chest
494
+ chiffonier
495
+ chime
496
+ china cabinet
497
+ Christmas stocking
498
+ church
499
+ cinema
500
+ cleaver
501
+ cliff dwelling
502
+ cloak
503
+ clog
504
+ cocktail shaker
505
+ coffee mug
506
+ coffeepot
507
+ coil
508
+ combination lock
509
+ computer keyboard
510
+ confectionery
511
+ container ship
512
+ convertible
513
+ corkscrew
514
+ cornet
515
+ cowboy boot
516
+ cowboy hat
517
+ cradle
518
+ crane
519
+ crash helmet
520
+ crate
521
+ crib
522
+ Crock Pot
523
+ croquet ball
524
+ crutch
525
+ cuirass
526
+ dam
527
+ desk
528
+ desktop computer
529
+ dial telephone
530
+ diaper
531
+ digital clock
532
+ digital watch
533
+ dining table
534
+ dishrag
535
+ dishwasher
536
+ disk brake
537
+ dock
538
+ dogsled
539
+ dome
540
+ doormat
541
+ drilling platform
542
+ drum
543
+ drumstick
544
+ dumbbell
545
+ Dutch oven
546
+ electric fan
547
+ electric guitar
548
+ electric locomotive
549
+ entertainment center
550
+ envelope
551
+ espresso maker
552
+ face powder
553
+ feather boa
554
+ file
555
+ fireboat
556
+ fire engine
557
+ fire screen
558
+ flagpole
559
+ flute
560
+ folding chair
561
+ football helmet
562
+ forklift
563
+ fountain
564
+ fountain pen
565
+ four-poster
566
+ freight car
567
+ French horn
568
+ frying pan
569
+ fur coat
570
+ garbage truck
571
+ gasmask
572
+ gas pump
573
+ goblet
574
+ go-kart
575
+ golf ball
576
+ golfcart
577
+ gondola
578
+ gong
579
+ gown
580
+ grand piano
581
+ greenhouse
582
+ grille
583
+ grocery store
584
+ guillotine
585
+ hair slide
586
+ hair spray
587
+ half track
588
+ hammer
589
+ hamper
590
+ hand blower
591
+ hand-held computer
592
+ handkerchief
593
+ hard disc
594
+ harmonica
595
+ harp
596
+ harvester
597
+ hatchet
598
+ holster
599
+ home theater
600
+ honeycomb
601
+ hook
602
+ hoopskirt
603
+ horizontal bar
604
+ horse cart
605
+ hourglass
606
+ iPod
607
+ iron
608
+ jack-o'-lantern
609
+ jean
610
+ jeep
611
+ jersey
612
+ jigsaw puzzle
613
+ jinrikisha
614
+ joystick
615
+ kimono
616
+ knee pad
617
+ knot
618
+ lab coat
619
+ ladle
620
+ lampshade
621
+ laptop
622
+ lawn mower
623
+ lens cap
624
+ letter opener
625
+ library
626
+ lifeboat
627
+ lighter
628
+ limousine
629
+ liner
630
+ lipstick
631
+ Loafer
632
+ lotion
633
+ loudspeaker
634
+ loupe
635
+ lumbermill
636
+ magnetic compass
637
+ mailbag
638
+ mailbox
639
+ maillot
640
+ maillot
641
+ manhole cover
642
+ maraca
643
+ marimba
644
+ mask
645
+ matchstick
646
+ maypole
647
+ maze
648
+ measuring cup
649
+ medicine chest
650
+ megalith
651
+ microphone
652
+ microwave
653
+ military uniform
654
+ milk can
655
+ minibus
656
+ miniskirt
657
+ minivan
658
+ missile
659
+ mitten
660
+ mixing bowl
661
+ mobile home
662
+ Model T
663
+ modem
664
+ monastery
665
+ monitor
666
+ moped
667
+ mortar
668
+ mortarboard
669
+ mosque
670
+ mosquito net
671
+ motor scooter
672
+ mountain bike
673
+ mountain tent
674
+ mouse
675
+ mousetrap
676
+ moving van
677
+ muzzle
678
+ nail
679
+ neck brace
680
+ necklace
681
+ nipple
682
+ notebook
683
+ obelisk
684
+ oboe
685
+ ocarina
686
+ odometer
687
+ oil filter
688
+ organ
689
+ oscilloscope
690
+ overskirt
691
+ oxcart
692
+ oxygen mask
693
+ packet
694
+ paddle
695
+ paddlewheel
696
+ padlock
697
+ paintbrush
698
+ pajama
699
+ palace
700
+ panpipe
701
+ paper towel
702
+ parachute
703
+ parallel bars
704
+ park bench
705
+ parking meter
706
+ passenger car
707
+ patio
708
+ pay-phone
709
+ pedestal
710
+ pencil box
711
+ pencil sharpener
712
+ perfume
713
+ Petri dish
714
+ photocopier
715
+ pick
716
+ pickelhaube
717
+ picket fence
718
+ pickup
719
+ pier
720
+ piggy bank
721
+ pill bottle
722
+ pillow
723
+ ping-pong ball
724
+ pinwheel
725
+ pirate
726
+ pitcher
727
+ plane
728
+ planetarium
729
+ plastic bag
730
+ plate rack
731
+ plow
732
+ plunger
733
+ Polaroid camera
734
+ pole
735
+ police van
736
+ poncho
737
+ pool table
738
+ pop bottle
739
+ pot
740
+ potter's wheel
741
+ power drill
742
+ prayer rug
743
+ printer
744
+ prison
745
+ projectile
746
+ projector
747
+ puck
748
+ punching bag
749
+ purse
750
+ quill
751
+ quilt
752
+ racer
753
+ racket
754
+ radiator
755
+ radio
756
+ radio telescope
757
+ rain barrel
758
+ recreational vehicle
759
+ reel
760
+ reflex camera
761
+ refrigerator
762
+ remote control
763
+ restaurant
764
+ revolver
765
+ rifle
766
+ rocking chair
767
+ rotisserie
768
+ rubber eraser
769
+ rugby ball
770
+ rule
771
+ running shoe
772
+ safe
773
+ safety pin
774
+ saltshaker
775
+ sandal
776
+ sarong
777
+ sax
778
+ scabbard
779
+ scale
780
+ school bus
781
+ schooner
782
+ scoreboard
783
+ screen
784
+ screw
785
+ screwdriver
786
+ seat belt
787
+ sewing machine
788
+ shield
789
+ shoe shop
790
+ shoji
791
+ shopping basket
792
+ shopping cart
793
+ shovel
794
+ shower cap
795
+ shower curtain
796
+ ski
797
+ ski mask
798
+ sleeping bag
799
+ slide rule
800
+ sliding door
801
+ slot
802
+ snorkel
803
+ snowmobile
804
+ snowplow
805
+ soap dispenser
806
+ soccer ball
807
+ sock
808
+ solar dish
809
+ sombrero
810
+ soup bowl
811
+ space bar
812
+ space heater
813
+ space shuttle
814
+ spatula
815
+ speedboat
816
+ spider web
817
+ spindle
818
+ sports car
819
+ spotlight
820
+ stage
821
+ steam locomotive
822
+ steel arch bridge
823
+ steel drum
824
+ stethoscope
825
+ stole
826
+ stone wall
827
+ stopwatch
828
+ stove
829
+ strainer
830
+ streetcar
831
+ stretcher
832
+ studio couch
833
+ stupa
834
+ submarine
835
+ suit
836
+ sundial
837
+ sunglass
838
+ sunglasses
839
+ sunscreen
840
+ suspension bridge
841
+ swab
842
+ sweatshirt
843
+ swimming trunks
844
+ swing
845
+ switch
846
+ syringe
847
+ table lamp
848
+ tank
849
+ tape player
850
+ teapot
851
+ teddy
852
+ television
853
+ tennis ball
854
+ thatch
855
+ theater curtain
856
+ thimble
857
+ thresher
858
+ throne
859
+ tile roof
860
+ toaster
861
+ tobacco shop
862
+ toilet seat
863
+ torch
864
+ totem pole
865
+ tow truck
866
+ toyshop
867
+ tractor
868
+ trailer truck
869
+ tray
870
+ trench coat
871
+ tricycle
872
+ trimaran
873
+ tripod
874
+ triumphal arch
875
+ trolleybus
876
+ trombone
877
+ tub
878
+ turnstile
879
+ typewriter keyboard
880
+ umbrella
881
+ unicycle
882
+ upright
883
+ vacuum
884
+ vase
885
+ vault
886
+ velvet
887
+ vending machine
888
+ vestment
889
+ viaduct
890
+ violin
891
+ volleyball
892
+ waffle iron
893
+ wall clock
894
+ wallet
895
+ wardrobe
896
+ warplane
897
+ washbasin
898
+ washer
899
+ water bottle
900
+ water jug
901
+ water tower
902
+ whiskey jug
903
+ whistle
904
+ wig
905
+ window screen
906
+ window shade
907
+ Windsor tie
908
+ wine bottle
909
+ wing
910
+ wok
911
+ wooden spoon
912
+ wool
913
+ worm fence
914
+ wreck
915
+ yawl
916
+ yurt
917
+ web site
918
+ comic book
919
+ crossword puzzle
920
+ street sign
921
+ traffic light
922
+ book jacket
923
+ menu
924
+ plate
925
+ guacamole
926
+ consomme
927
+ hot pot
928
+ trifle
929
+ ice cream
930
+ ice lolly
931
+ French loaf
932
+ bagel
933
+ pretzel
934
+ cheeseburger
935
+ hotdog
936
+ mashed potato
937
+ head cabbage
938
+ broccoli
939
+ cauliflower
940
+ zucchini
941
+ spaghetti squash
942
+ acorn squash
943
+ butternut squash
944
+ cucumber
945
+ artichoke
946
+ bell pepper
947
+ cardoon
948
+ mushroom
949
+ Granny Smith
950
+ strawberry
951
+ orange
952
+ lemon
953
+ fig
954
+ pineapple
955
+ banana
956
+ jackfruit
957
+ custard apple
958
+ pomegranate
959
+ hay
960
+ carbonara
961
+ chocolate sauce
962
+ dough
963
+ meat loaf
964
+ pizza
965
+ potpie
966
+ burrito
967
+ red wine
968
+ espresso
969
+ cup
970
+ eggnog
971
+ alp
972
+ bubble
973
+ cliff
974
+ coral reef
975
+ geyser
976
+ lakeside
977
+ promontory
978
+ sandbar
979
+ seashore
980
+ valley
981
+ volcano
982
+ ballplayer
983
+ groom
984
+ scuba diver
985
+ rapeseed
986
+ daisy
987
+ yellow lady's slipper
988
+ corn
989
+ acorn
990
+ hip
991
+ buckeye
992
+ coral fungus
993
+ agaric
994
+ gyromitra
995
+ stinkhorn
996
+ earthstar
997
+ hen-of-the-woods
998
+ bolete
999
+ ear
1000
+ toilet tissue
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/int8_api/resnet50_per_tensor_dynamic_range.txt ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ gpu_0/data_0: 1.00024
2
+ gpu_0/conv1_1: 5.43116
3
+ gpu_0/res_conv1_bn_1: 8.69736
4
+ gpu_0/res_conv1_bn_2: 8.69736
5
+ gpu_0/pool1_1: 8.69736
6
+ gpu_0/res2_0_branch2a_1: 12.819
7
+ gpu_0/res2_0_branch2a_bn_1: 5.47741
8
+ gpu_0/res2_0_branch2a_bn_2: 5.58704
9
+ gpu_0/res2_0_branch2b_1: 5.27718
10
+ gpu_0/res2_0_branch2b_bn_1: 5.08003
11
+ gpu_0/res2_0_branch2b_bn_2: 5.08003
12
+ gpu_0/res2_0_branch2c_1: 2.33625
13
+ gpu_0/res2_0_branch2c_bn_1: 3.17859
14
+ gpu_0/res2_0_branch1_1: 6.10492
15
+ gpu_0/res2_0_branch1_bn_1: 5.63119
16
+ gpu_0/res2_0_branch2c_bn_2: 6.64099
17
+ gpu_0/res2_0_branch2c_bn_3: 4.85535
18
+ gpu_0/res2_1_branch2a_1: 3.55208
19
+ gpu_0/res2_1_branch2a_bn_1: 5.12617
20
+ gpu_0/res2_1_branch2a_bn_2: 3.54669
21
+ gpu_0/res2_1_branch2b_1: 5.56289
22
+ gpu_0/res2_1_branch2b_bn_1: 7.11808
23
+ gpu_0/res2_1_branch2b_bn_2: 6.92282
24
+ gpu_0/res2_1_branch2c_1: 2.19201
25
+ gpu_0/res2_1_branch2c_bn_1: 3.78733
26
+ gpu_0/res2_1_branch2c_bn_2: 4.60415
27
+ gpu_0/res2_1_branch2c_bn_3: 4.60415
28
+ gpu_0/res2_2_branch2a_1: 3.96808
29
+ gpu_0/res2_2_branch2a_bn_1: 4.94773
30
+ gpu_0/res2_2_branch2a_bn_2: 5.50565
31
+ gpu_0/res2_2_branch2b_1: 4.26613
32
+ gpu_0/res2_2_branch2b_bn_1: 6.0784
33
+ gpu_0/res2_2_branch2b_bn_2: 4.92818
34
+ gpu_0/res2_2_branch2c_1: 1.76282
35
+ gpu_0/res2_2_branch2c_bn_1: 3.52767
36
+ gpu_0/res2_2_branch2c_bn_2: 7.08883
37
+ gpu_0/res2_2_branch2c_bn_3: 6.83196
38
+ gpu_0/res3_0_branch2a_1: 6.04728
39
+ gpu_0/res3_0_branch2a_bn_1: 6.35389
40
+ gpu_0/res3_0_branch2a_bn_2: 5.32155
41
+ gpu_0/res3_0_branch2b_1: 4.82218
42
+ gpu_0/res3_0_branch2b_bn_1: 4.97589
43
+ gpu_0/res3_0_branch2b_bn_2: 5.15205
44
+ gpu_0/res3_0_branch2c_1: 2.51726
45
+ gpu_0/res3_0_branch2c_bn_1: 5.92965
46
+ gpu_0/res3_0_branch1_1: 5.16373
47
+ gpu_0/res3_0_branch1_bn_1: 8.38447
48
+ gpu_0/res3_0_branch2c_bn_2: 9.55529
49
+ gpu_0/res3_0_branch2c_bn_3: 9.55529
50
+ gpu_0/res3_1_branch2a_1: 8.36638
51
+ gpu_0/res3_1_branch2a_bn_1: 5.10129
52
+ gpu_0/res3_1_branch2a_bn_2: 6.53472
53
+ gpu_0/res3_1_branch2b_1: 8.96734
54
+ gpu_0/res3_1_branch2b_bn_1: 10.0194
55
+ gpu_0/res3_1_branch2b_bn_2: 7.34823
56
+ gpu_0/res3_1_branch2c_1: 3.2582
57
+ gpu_0/res3_1_branch2c_bn_1: 6.99684
58
+ gpu_0/res3_1_branch2c_bn_2: 10.1138
59
+ gpu_0/res3_1_branch2c_bn_3: 6.95004
60
+ gpu_0/res3_2_branch2a_1: 5.10651
61
+ gpu_0/res3_2_branch2a_bn_1: 6.64402
62
+ gpu_0/res3_2_branch2a_bn_2: 5.18487
63
+ gpu_0/res3_2_branch2b_1: 5.96782
64
+ gpu_0/res3_2_branch2b_bn_1: 7.1799
65
+ gpu_0/res3_2_branch2b_bn_2: 5.37818
66
+ gpu_0/res3_2_branch2c_1: 1.32356
67
+ gpu_0/res3_2_branch2c_bn_1: 3.33188
68
+ gpu_0/res3_2_branch2c_bn_2: 5.36147
69
+ gpu_0/res3_2_branch2c_bn_3: 5.36147
70
+ gpu_0/res3_3_branch2a_1: 4.85147
71
+ gpu_0/res3_3_branch2a_bn_1: 5.59218
72
+ gpu_0/res3_3_branch2a_bn_2: 4.86311
73
+ gpu_0/res3_3_branch2b_1: 3.96831
74
+ gpu_0/res3_3_branch2b_bn_1: 6.06881
75
+ gpu_0/res3_3_branch2b_bn_2: 4.00068
76
+ gpu_0/res3_3_branch2c_1: 0.921573
77
+ gpu_0/res3_3_branch2c_bn_1: 2.8969
78
+ gpu_0/res3_3_branch2c_bn_2: 5.85236
79
+ gpu_0/res3_3_branch2c_bn_3: 5.59852
80
+ gpu_0/res4_0_branch2a_1: 5.03899
81
+ gpu_0/res4_0_branch2a_bn_1: 7.45267
82
+ gpu_0/res4_0_branch2a_bn_2: 6.18469
83
+ gpu_0/res4_0_branch2b_1: 4.83455
84
+ gpu_0/res4_0_branch2b_bn_1: 6.04993
85
+ gpu_0/res4_0_branch2b_bn_2: 6.04993
86
+ gpu_0/res4_0_branch2c_1: 2.82144
87
+ gpu_0/res4_0_branch2c_bn_1: 5.38268
88
+ gpu_0/res4_0_branch1_1: 4.31843
89
+ gpu_0/res4_0_branch1_bn_1: 5.26767
90
+ gpu_0/res4_0_branch2c_bn_2: 7.62006
91
+ gpu_0/res4_0_branch2c_bn_3: 7.49355
92
+ gpu_0/res4_1_branch2a_1: 7.48333
93
+ gpu_0/res4_1_branch2a_bn_1: 5.23361
94
+ gpu_0/res4_1_branch2a_bn_2: 6.22436
95
+ gpu_0/res4_1_branch2b_1: 7.80429
96
+ gpu_0/res4_1_branch2b_bn_1: 5.02395
97
+ gpu_0/res4_1_branch2b_bn_2: 4.22194
98
+ gpu_0/res4_1_branch2c_1: 1.61523
99
+ gpu_0/res4_1_branch2c_bn_1: 5.06857
100
+ gpu_0/res4_1_branch2c_bn_2: 6.47686
101
+ gpu_0/res4_1_branch2c_bn_3: 6.47686
102
+ gpu_0/res4_2_branch2a_1: 3.87822
103
+ gpu_0/res4_2_branch2a_bn_1: 6.10799
104
+ gpu_0/res4_2_branch2a_bn_2: 4.31025
105
+ gpu_0/res4_2_branch2b_1: 4.03413
106
+ gpu_0/res4_2_branch2b_bn_1: 6.68894
107
+ gpu_0/res4_2_branch2b_bn_2: 5.0679
108
+ gpu_0/res4_2_branch2c_1: 1.26098
109
+ gpu_0/res4_2_branch2c_bn_1: 5.29023
110
+ gpu_0/res4_2_branch2c_bn_2: 6.20245
111
+ gpu_0/res4_2_branch2c_bn_3: 6.10486
112
+ gpu_0/res4_3_branch2a_1: 3.20987
113
+ gpu_0/res4_3_branch2a_bn_1: 4.39172
114
+ gpu_0/res4_3_branch2a_bn_2: 4.14733
115
+ gpu_0/res4_3_branch2b_1: 3.92574
116
+ gpu_0/res4_3_branch2b_bn_1: 4.55813
117
+ gpu_0/res4_3_branch2b_bn_2: 3.8462
118
+ gpu_0/res4_3_branch2c_1: 1.00342
119
+ gpu_0/res4_3_branch2c_bn_1: 4.34035
120
+ gpu_0/res4_3_branch2c_bn_2: 5.30305
121
+ gpu_0/res4_3_branch2c_bn_3: 5.30305
122
+ gpu_0/res4_4_branch2a_1: 3.05409
123
+ gpu_0/res4_4_branch2a_bn_1: 4.87153
124
+ gpu_0/res4_4_branch2a_bn_2: 3.2817
125
+ gpu_0/res4_4_branch2b_1: 2.60867
126
+ gpu_0/res4_4_branch2b_bn_1: 4.43434
127
+ gpu_0/res4_4_branch2b_bn_2: 3.89483
128
+ gpu_0/res4_4_branch2c_1: 1.83117
129
+ gpu_0/res4_4_branch2c_bn_1: 3.99871
130
+ gpu_0/res4_4_branch2c_bn_2: 5.77232
131
+ gpu_0/res4_4_branch2c_bn_3: 5.39331
132
+ gpu_0/res4_5_branch2a_1: 4.68277
133
+ gpu_0/res4_5_branch2a_bn_1: 6.16417
134
+ gpu_0/res4_5_branch2a_bn_2: 6.16333
135
+ gpu_0/res4_5_branch2b_1: 3.1276
136
+ gpu_0/res4_5_branch2b_bn_1: 7.00038
137
+ gpu_0/res4_5_branch2b_bn_2: 6.9702
138
+ gpu_0/res4_5_branch2c_1: 1.37766
139
+ gpu_0/res4_5_branch2c_bn_1: 3.93406
140
+ gpu_0/res4_5_branch2c_bn_2: 5.4295
141
+ gpu_0/res4_5_branch2c_bn_3: 5.4295
142
+ gpu_0/res5_0_branch2a_1: 2.65465
143
+ gpu_0/res5_0_branch2a_bn_1: 6.09584
144
+ gpu_0/res5_0_branch2a_bn_2: 3.38788
145
+ gpu_0/res5_0_branch2b_1: 2.74351
146
+ gpu_0/res5_0_branch2b_bn_1: 5.598
147
+ gpu_0/res5_0_branch2b_bn_2: 3.47276
148
+ gpu_0/res5_0_branch2c_1: 2.64331
149
+ gpu_0/res5_0_branch2c_bn_1: 12.3477
150
+ gpu_0/res5_0_branch1_1: 1.78121
151
+ gpu_0/res5_0_branch1_bn_1: 13.8335
152
+ gpu_0/res5_0_branch2c_bn_2: 18.1711
153
+ gpu_0/res5_0_branch2c_bn_3: 21.687
154
+ gpu_0/res5_1_branch2a_1: 8.10959
155
+ gpu_0/res5_1_branch2a_bn_1: 4.35337
156
+ gpu_0/res5_1_branch2a_bn_2: 2.78138
157
+ gpu_0/res5_1_branch2b_1: 3.10084
158
+ gpu_0/res5_1_branch2b_bn_1: 5.05929
159
+ gpu_0/res5_1_branch2b_bn_2: 2.5665
160
+ gpu_0/res5_1_branch2c_1: 0.996128
161
+ gpu_0/res5_1_branch2c_bn_1: 8.6475
162
+ gpu_0/res5_1_branch2c_bn_2: 16.7257
163
+ gpu_0/res5_1_branch2c_bn_3: 18.942
164
+ gpu_0/res5_2_branch2a_1: 10.8203
165
+ gpu_0/res5_2_branch2a_bn_1: 3.37798
166
+ gpu_0/res5_2_branch2a_bn_2: 2.80768
167
+ gpu_0/res5_2_branch2b_1: 2.15978
168
+ gpu_0/res5_2_branch2b_bn_1: 4.58982
169
+ gpu_0/res5_2_branch2b_bn_2: 3.21134
170
+ gpu_0/res5_2_branch2c_1: 0.586011
171
+ gpu_0/res5_2_branch2c_bn_1: 10.6795
172
+ gpu_0/res5_2_branch2c_bn_2: 20.6414
173
+ gpu_0/res5_2_branch2c_bn_3: 22.2285
174
+ gpu_0/pool5_1: 22.2285
175
+ OC2_DUMMY_0: 6.08994
176
+ (Unnamed Layer* 174) [Constant]_output: 0.443716
177
+ (Unnamed Layer* 175) [Fully Connected]_output: 6.40009
178
+ (Unnamed Layer* 176) [Constant]_output: 0.0365279
179
+ (Unnamed Layer* 177) [Shuffle]_output: 0.0365279
180
+ gpu_0/pred_1: 6.46343
181
+ (Unnamed Layer* 179) [Shuffle]_output: 6.46343
182
+ (Unnamed Layer* 180) [Softmax]_output: 0.0303731
183
+ gpu_0/softmax_1: 0.0303731
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/0.pgm ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/1.pgm ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/2.pgm ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/3.pgm ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/4.pgm ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/5.pgm ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/6.pgm ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/7.pgm ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/8.pgm ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/9.pgm ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/README.md ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Setting Up MNIST Samples
2
+
3
+ ## Models
4
+
5
+ mnist.onnx: Opset 8, Retrieved from [ONNX Model Zoo](https://github.com/onnx/models/tree/master/vision/classification/mnist)
6
+
7
+ ## Run ONNX model with trtexec
8
+
9
+ * FP32 precisons with fixed batch size 1
10
+ * `./trtexec --explicitBatch --onnx=mnist.onnx --workspace=1024`
11
+ * Other precisions
12
+ * Add `--fp16` for FP16 and `--int8` for INT8.
13
+
14
+ ## Run safety ONNX model with sampleSafeMNIST
15
+
16
+ * Build safe engine
17
+ * `./sample_mnist_safe_build`
18
+ * Inference
19
+ * `./sample_mnist_safe_infer`
20
+ * See sample READEME for more details.
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/mnist/mnist.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2f06e72de813a8635c9bc0397ac447a601bdbfa7df4bebc278723b958831c9bf
3
+ size 26454
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/README.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Models
2
+
3
+ ## UFF
4
+
5
+ resnet50-infer-5.uff
6
+ - trained by NVidia, based on ResNet50 V1 model from [TF-Slim](https://github.com/tensorflow/models/tree/master/research/slim)
7
+ - converted to UFF using `convert-to-uff`
8
+ - `convert-to-uff <models>/resnet_all-nlayer_50__precision0_randominit.pb -o tf2trt_resnet50.uff -t -O spatial_avg`
9
+
10
+ ## Caffe
11
+
12
+ ResNet50_N2.prototxt and ResNet50_fp32.caffemodel
13
+ - downloaded from https://github.com/KaimingHe/deep-residual-networks#models
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/ResNet50.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:78eecdb9354e71364b9df6f3b5824ecc48710938d5b4ea23724b9a2e9edbc4a6
3
+ size 102489423
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/airliner.ppm ADDED

Git LFS Details

  • SHA256: eac2811e99893115847d2e6ab24bae5a1e4ff64820a000a672333c07dc29e083
  • Pointer size: 131 Bytes
  • Size of remote file: 151 kB
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/binoculars.jpeg ADDED

Git LFS Details

  • SHA256: 0a44365fb4f2a5802eb379f7d788ddfc7da09ccbee5740283d1a9cd1f9928e8a
  • Pointer size: 131 Bytes
  • Size of remote file: 160 kB
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/class_labels.txt ADDED
@@ -0,0 +1,1000 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tench
2
+ goldfish
3
+ great white shark
4
+ tiger shark
5
+ hammerhead
6
+ electric ray
7
+ stingray
8
+ cock
9
+ hen
10
+ ostrich
11
+ brambling
12
+ goldfinch
13
+ house finch
14
+ junco
15
+ indigo bunting
16
+ robin
17
+ bulbul
18
+ jay
19
+ magpie
20
+ chickadee
21
+ water ouzel
22
+ kite
23
+ bald eagle
24
+ vulture
25
+ great grey owl
26
+ European fire salamander
27
+ common newt
28
+ eft
29
+ spotted salamander
30
+ axolotl
31
+ bullfrog
32
+ tree frog
33
+ tailed frog
34
+ loggerhead
35
+ leatherback turtle
36
+ mud turtle
37
+ terrapin
38
+ box turtle
39
+ banded gecko
40
+ common iguana
41
+ American chameleon
42
+ whiptail
43
+ agama
44
+ frilled lizard
45
+ alligator lizard
46
+ Gila monster
47
+ green lizard
48
+ African chameleon
49
+ Komodo dragon
50
+ African crocodile
51
+ American alligator
52
+ triceratops
53
+ thunder snake
54
+ ringneck snake
55
+ hognose snake
56
+ green snake
57
+ king snake
58
+ garter snake
59
+ water snake
60
+ vine snake
61
+ night snake
62
+ boa constrictor
63
+ rock python
64
+ Indian cobra
65
+ green mamba
66
+ sea snake
67
+ horned viper
68
+ diamondback
69
+ sidewinder
70
+ trilobite
71
+ harvestman
72
+ scorpion
73
+ black and gold garden spider
74
+ barn spider
75
+ garden spider
76
+ black widow
77
+ tarantula
78
+ wolf spider
79
+ tick
80
+ centipede
81
+ black grouse
82
+ ptarmigan
83
+ ruffed grouse
84
+ prairie chicken
85
+ peacock
86
+ quail
87
+ partridge
88
+ African grey
89
+ macaw
90
+ sulphur-crested cockatoo
91
+ lorikeet
92
+ coucal
93
+ bee eater
94
+ hornbill
95
+ hummingbird
96
+ jacamar
97
+ toucan
98
+ drake
99
+ red-breasted merganser
100
+ goose
101
+ black swan
102
+ tusker
103
+ echidna
104
+ platypus
105
+ wallaby
106
+ koala
107
+ wombat
108
+ jellyfish
109
+ sea anemone
110
+ brain coral
111
+ flatworm
112
+ nematode
113
+ conch
114
+ snail
115
+ slug
116
+ sea slug
117
+ chiton
118
+ chambered nautilus
119
+ Dungeness crab
120
+ rock crab
121
+ fiddler crab
122
+ king crab
123
+ American lobster
124
+ spiny lobster
125
+ crayfish
126
+ hermit crab
127
+ isopod
128
+ white stork
129
+ black stork
130
+ spoonbill
131
+ flamingo
132
+ little blue heron
133
+ American egret
134
+ bittern
135
+ crane
136
+ limpkin
137
+ European gallinule
138
+ American coot
139
+ bustard
140
+ ruddy turnstone
141
+ red-backed sandpiper
142
+ redshank
143
+ dowitcher
144
+ oystercatcher
145
+ pelican
146
+ king penguin
147
+ albatross
148
+ grey whale
149
+ killer whale
150
+ dugong
151
+ sea lion
152
+ Chihuahua
153
+ Japanese spaniel
154
+ Maltese dog
155
+ Pekinese
156
+ Shih-Tzu
157
+ Blenheim spaniel
158
+ papillon
159
+ toy terrier
160
+ Rhodesian ridgeback
161
+ Afghan hound
162
+ basset
163
+ beagle
164
+ bloodhound
165
+ bluetick
166
+ black-and-tan coonhound
167
+ Walker hound
168
+ English foxhound
169
+ redbone
170
+ borzoi
171
+ Irish wolfhound
172
+ Italian greyhound
173
+ whippet
174
+ Ibizan hound
175
+ Norwegian elkhound
176
+ otterhound
177
+ Saluki
178
+ Scottish deerhound
179
+ Weimaraner
180
+ Staffordshire bullterrier
181
+ American Staffordshire terrier
182
+ Bedlington terrier
183
+ Border terrier
184
+ Kerry blue terrier
185
+ Irish terrier
186
+ Norfolk terrier
187
+ Norwich terrier
188
+ Yorkshire terrier
189
+ wire-haired fox terrier
190
+ Lakeland terrier
191
+ Sealyham terrier
192
+ Airedale
193
+ cairn
194
+ Australian terrier
195
+ Dandie Dinmont
196
+ Boston bull
197
+ miniature schnauzer
198
+ giant schnauzer
199
+ standard schnauzer
200
+ Scotch terrier
201
+ Tibetan terrier
202
+ silky terrier
203
+ soft-coated wheaten terrier
204
+ West Highland white terrier
205
+ Lhasa
206
+ flat-coated retriever
207
+ curly-coated retriever
208
+ golden retriever
209
+ Labrador retriever
210
+ Chesapeake Bay retriever
211
+ German short-haired pointer
212
+ vizsla
213
+ English setter
214
+ Irish setter
215
+ Gordon setter
216
+ Brittany spaniel
217
+ clumber
218
+ English springer
219
+ Welsh springer spaniel
220
+ cocker spaniel
221
+ Sussex spaniel
222
+ Irish water spaniel
223
+ kuvasz
224
+ schipperke
225
+ groenendael
226
+ malinois
227
+ briard
228
+ kelpie
229
+ komondor
230
+ Old English sheepdog
231
+ Shetland sheepdog
232
+ collie
233
+ Border collie
234
+ Bouvier des Flandres
235
+ Rottweiler
236
+ German shepherd
237
+ Doberman
238
+ miniature pinscher
239
+ Greater Swiss Mountain dog
240
+ Bernese mountain dog
241
+ Appenzeller
242
+ EntleBucher
243
+ boxer
244
+ bull mastiff
245
+ Tibetan mastiff
246
+ French bulldog
247
+ Great Dane
248
+ Saint Bernard
249
+ Eskimo dog
250
+ malamute
251
+ Siberian husky
252
+ dalmatian
253
+ affenpinscher
254
+ basenji
255
+ pug
256
+ Leonberg
257
+ Newfoundland
258
+ Great Pyrenees
259
+ Samoyed
260
+ Pomeranian
261
+ chow
262
+ keeshond
263
+ Brabancon griffon
264
+ Pembroke
265
+ Cardigan
266
+ toy poodle
267
+ miniature poodle
268
+ standard poodle
269
+ Mexican hairless
270
+ timber wolf
271
+ white wolf
272
+ red wolf
273
+ coyote
274
+ dingo
275
+ dhole
276
+ African hunting dog
277
+ hyena
278
+ red fox
279
+ kit fox
280
+ Arctic fox
281
+ grey fox
282
+ tabby
283
+ tiger cat
284
+ Persian cat
285
+ Siamese cat
286
+ Egyptian cat
287
+ cougar
288
+ lynx
289
+ leopard
290
+ snow leopard
291
+ jaguar
292
+ lion
293
+ tiger
294
+ cheetah
295
+ brown bear
296
+ American black bear
297
+ ice bear
298
+ sloth bear
299
+ mongoose
300
+ meerkat
301
+ tiger beetle
302
+ ladybug
303
+ ground beetle
304
+ long-horned beetle
305
+ leaf beetle
306
+ dung beetle
307
+ rhinoceros beetle
308
+ weevil
309
+ fly
310
+ bee
311
+ ant
312
+ grasshopper
313
+ cricket
314
+ walking stick
315
+ cockroach
316
+ mantis
317
+ cicada
318
+ leafhopper
319
+ lacewing
320
+ dragonfly
321
+ damselfly
322
+ admiral
323
+ ringlet
324
+ monarch
325
+ cabbage butterfly
326
+ sulphur butterfly
327
+ lycaenid
328
+ starfish
329
+ sea urchin
330
+ sea cucumber
331
+ wood rabbit
332
+ hare
333
+ Angora
334
+ hamster
335
+ porcupine
336
+ fox squirrel
337
+ marmot
338
+ beaver
339
+ guinea pig
340
+ sorrel
341
+ zebra
342
+ hog
343
+ wild boar
344
+ warthog
345
+ hippopotamus
346
+ ox
347
+ water buffalo
348
+ bison
349
+ ram
350
+ bighorn
351
+ ibex
352
+ hartebeest
353
+ impala
354
+ gazelle
355
+ Arabian camel
356
+ llama
357
+ weasel
358
+ mink
359
+ polecat
360
+ black-footed ferret
361
+ otter
362
+ skunk
363
+ badger
364
+ armadillo
365
+ three-toed sloth
366
+ orangutan
367
+ gorilla
368
+ chimpanzee
369
+ gibbon
370
+ siamang
371
+ guenon
372
+ patas
373
+ baboon
374
+ macaque
375
+ langur
376
+ colobus
377
+ proboscis monkey
378
+ marmoset
379
+ capuchin
380
+ howler monkey
381
+ titi
382
+ spider monkey
383
+ squirrel monkey
384
+ Madagascar cat
385
+ indri
386
+ Indian elephant
387
+ African elephant
388
+ lesser panda
389
+ giant panda
390
+ barracouta
391
+ eel
392
+ coho
393
+ rock beauty
394
+ anemone fish
395
+ sturgeon
396
+ gar
397
+ lionfish
398
+ puffer
399
+ abacus
400
+ abaya
401
+ academic gown
402
+ accordion
403
+ acoustic guitar
404
+ aircraft carrier
405
+ airliner
406
+ airship
407
+ altar
408
+ ambulance
409
+ amphibian
410
+ analog clock
411
+ apiary
412
+ apron
413
+ ashcan
414
+ assault rifle
415
+ backpack
416
+ bakery
417
+ balance beam
418
+ balloon
419
+ ballpoint
420
+ Band Aid
421
+ banjo
422
+ bannister
423
+ barbell
424
+ barber chair
425
+ barbershop
426
+ barn
427
+ barometer
428
+ barrel
429
+ barrow
430
+ baseball
431
+ basketball
432
+ bassinet
433
+ bassoon
434
+ bathing cap
435
+ bath towel
436
+ bathtub
437
+ beach wagon
438
+ beacon
439
+ beaker
440
+ bearskin
441
+ beer bottle
442
+ beer glass
443
+ bell cote
444
+ bib
445
+ bicycle-built-for-two
446
+ bikini
447
+ binder
448
+ binoculars
449
+ birdhouse
450
+ boathouse
451
+ bobsled
452
+ bolo tie
453
+ bonnet
454
+ bookcase
455
+ bookshop
456
+ bottlecap
457
+ bow
458
+ bow tie
459
+ brass
460
+ brassiere
461
+ breakwater
462
+ breastplate
463
+ broom
464
+ bucket
465
+ buckle
466
+ bulletproof vest
467
+ bullet train
468
+ butcher shop
469
+ cab
470
+ caldron
471
+ candle
472
+ cannon
473
+ canoe
474
+ can opener
475
+ cardigan
476
+ car mirror
477
+ carousel
478
+ carpenter's kit
479
+ carton
480
+ car wheel
481
+ cash machine
482
+ cassette
483
+ cassette player
484
+ castle
485
+ catamaran
486
+ CD player
487
+ cello
488
+ cellular telephone
489
+ chain
490
+ chainlink fence
491
+ chain mail
492
+ chain saw
493
+ chest
494
+ chiffonier
495
+ chime
496
+ china cabinet
497
+ Christmas stocking
498
+ church
499
+ cinema
500
+ cleaver
501
+ cliff dwelling
502
+ cloak
503
+ clog
504
+ cocktail shaker
505
+ coffee mug
506
+ coffeepot
507
+ coil
508
+ combination lock
509
+ computer keyboard
510
+ confectionery
511
+ container ship
512
+ convertible
513
+ corkscrew
514
+ cornet
515
+ cowboy boot
516
+ cowboy hat
517
+ cradle
518
+ crane
519
+ crash helmet
520
+ crate
521
+ crib
522
+ Crock Pot
523
+ croquet ball
524
+ crutch
525
+ cuirass
526
+ dam
527
+ desk
528
+ desktop computer
529
+ dial telephone
530
+ diaper
531
+ digital clock
532
+ digital watch
533
+ dining table
534
+ dishrag
535
+ dishwasher
536
+ disk brake
537
+ dock
538
+ dogsled
539
+ dome
540
+ doormat
541
+ drilling platform
542
+ drum
543
+ drumstick
544
+ dumbbell
545
+ Dutch oven
546
+ electric fan
547
+ electric guitar
548
+ electric locomotive
549
+ entertainment center
550
+ envelope
551
+ espresso maker
552
+ face powder
553
+ feather boa
554
+ file
555
+ fireboat
556
+ fire engine
557
+ fire screen
558
+ flagpole
559
+ flute
560
+ folding chair
561
+ football helmet
562
+ forklift
563
+ fountain
564
+ fountain pen
565
+ four-poster
566
+ freight car
567
+ French horn
568
+ frying pan
569
+ fur coat
570
+ garbage truck
571
+ gasmask
572
+ gas pump
573
+ goblet
574
+ go-kart
575
+ golf ball
576
+ golfcart
577
+ gondola
578
+ gong
579
+ gown
580
+ grand piano
581
+ greenhouse
582
+ grille
583
+ grocery store
584
+ guillotine
585
+ hair slide
586
+ hair spray
587
+ half track
588
+ hammer
589
+ hamper
590
+ hand blower
591
+ hand-held computer
592
+ handkerchief
593
+ hard disc
594
+ harmonica
595
+ harp
596
+ harvester
597
+ hatchet
598
+ holster
599
+ home theater
600
+ honeycomb
601
+ hook
602
+ hoopskirt
603
+ horizontal bar
604
+ horse cart
605
+ hourglass
606
+ iPod
607
+ iron
608
+ jack-o'-lantern
609
+ jean
610
+ jeep
611
+ jersey
612
+ jigsaw puzzle
613
+ jinrikisha
614
+ joystick
615
+ kimono
616
+ knee pad
617
+ knot
618
+ lab coat
619
+ ladle
620
+ lampshade
621
+ laptop
622
+ lawn mower
623
+ lens cap
624
+ letter opener
625
+ library
626
+ lifeboat
627
+ lighter
628
+ limousine
629
+ liner
630
+ lipstick
631
+ Loafer
632
+ lotion
633
+ loudspeaker
634
+ loupe
635
+ lumbermill
636
+ magnetic compass
637
+ mailbag
638
+ mailbox
639
+ maillot
640
+ maillot
641
+ manhole cover
642
+ maraca
643
+ marimba
644
+ mask
645
+ matchstick
646
+ maypole
647
+ maze
648
+ measuring cup
649
+ medicine chest
650
+ megalith
651
+ microphone
652
+ microwave
653
+ military uniform
654
+ milk can
655
+ minibus
656
+ miniskirt
657
+ minivan
658
+ missile
659
+ mitten
660
+ mixing bowl
661
+ mobile home
662
+ Model T
663
+ modem
664
+ monastery
665
+ monitor
666
+ moped
667
+ mortar
668
+ mortarboard
669
+ mosque
670
+ mosquito net
671
+ motor scooter
672
+ mountain bike
673
+ mountain tent
674
+ mouse
675
+ mousetrap
676
+ moving van
677
+ muzzle
678
+ nail
679
+ neck brace
680
+ necklace
681
+ nipple
682
+ notebook
683
+ obelisk
684
+ oboe
685
+ ocarina
686
+ odometer
687
+ oil filter
688
+ organ
689
+ oscilloscope
690
+ overskirt
691
+ oxcart
692
+ oxygen mask
693
+ packet
694
+ paddle
695
+ paddlewheel
696
+ padlock
697
+ paintbrush
698
+ pajama
699
+ palace
700
+ panpipe
701
+ paper towel
702
+ parachute
703
+ parallel bars
704
+ park bench
705
+ parking meter
706
+ passenger car
707
+ patio
708
+ pay-phone
709
+ pedestal
710
+ pencil box
711
+ pencil sharpener
712
+ perfume
713
+ Petri dish
714
+ photocopier
715
+ pick
716
+ pickelhaube
717
+ picket fence
718
+ pickup
719
+ pier
720
+ piggy bank
721
+ pill bottle
722
+ pillow
723
+ ping-pong ball
724
+ pinwheel
725
+ pirate
726
+ pitcher
727
+ plane
728
+ planetarium
729
+ plastic bag
730
+ plate rack
731
+ plow
732
+ plunger
733
+ Polaroid camera
734
+ pole
735
+ police van
736
+ poncho
737
+ pool table
738
+ pop bottle
739
+ pot
740
+ potter's wheel
741
+ power drill
742
+ prayer rug
743
+ printer
744
+ prison
745
+ projectile
746
+ projector
747
+ puck
748
+ punching bag
749
+ purse
750
+ quill
751
+ quilt
752
+ racer
753
+ racket
754
+ radiator
755
+ radio
756
+ radio telescope
757
+ rain barrel
758
+ recreational vehicle
759
+ reel
760
+ reflex camera
761
+ refrigerator
762
+ remote control
763
+ restaurant
764
+ revolver
765
+ rifle
766
+ rocking chair
767
+ rotisserie
768
+ rubber eraser
769
+ rugby ball
770
+ rule
771
+ running shoe
772
+ safe
773
+ safety pin
774
+ saltshaker
775
+ sandal
776
+ sarong
777
+ sax
778
+ scabbard
779
+ scale
780
+ school bus
781
+ schooner
782
+ scoreboard
783
+ screen
784
+ screw
785
+ screwdriver
786
+ seat belt
787
+ sewing machine
788
+ shield
789
+ shoe shop
790
+ shoji
791
+ shopping basket
792
+ shopping cart
793
+ shovel
794
+ shower cap
795
+ shower curtain
796
+ ski
797
+ ski mask
798
+ sleeping bag
799
+ slide rule
800
+ sliding door
801
+ slot
802
+ snorkel
803
+ snowmobile
804
+ snowplow
805
+ soap dispenser
806
+ soccer ball
807
+ sock
808
+ solar dish
809
+ sombrero
810
+ soup bowl
811
+ space bar
812
+ space heater
813
+ space shuttle
814
+ spatula
815
+ speedboat
816
+ spider web
817
+ spindle
818
+ sports car
819
+ spotlight
820
+ stage
821
+ steam locomotive
822
+ steel arch bridge
823
+ steel drum
824
+ stethoscope
825
+ stole
826
+ stone wall
827
+ stopwatch
828
+ stove
829
+ strainer
830
+ streetcar
831
+ stretcher
832
+ studio couch
833
+ stupa
834
+ submarine
835
+ suit
836
+ sundial
837
+ sunglass
838
+ sunglasses
839
+ sunscreen
840
+ suspension bridge
841
+ swab
842
+ sweatshirt
843
+ swimming trunks
844
+ swing
845
+ switch
846
+ syringe
847
+ table lamp
848
+ tank
849
+ tape player
850
+ teapot
851
+ teddy
852
+ television
853
+ tennis ball
854
+ thatch
855
+ theater curtain
856
+ thimble
857
+ thresher
858
+ throne
859
+ tile roof
860
+ toaster
861
+ tobacco shop
862
+ toilet seat
863
+ torch
864
+ totem pole
865
+ tow truck
866
+ toyshop
867
+ tractor
868
+ trailer truck
869
+ tray
870
+ trench coat
871
+ tricycle
872
+ trimaran
873
+ tripod
874
+ triumphal arch
875
+ trolleybus
876
+ trombone
877
+ tub
878
+ turnstile
879
+ typewriter keyboard
880
+ umbrella
881
+ unicycle
882
+ upright
883
+ vacuum
884
+ vase
885
+ vault
886
+ velvet
887
+ vending machine
888
+ vestment
889
+ viaduct
890
+ violin
891
+ volleyball
892
+ waffle iron
893
+ wall clock
894
+ wallet
895
+ wardrobe
896
+ warplane
897
+ washbasin
898
+ washer
899
+ water bottle
900
+ water jug
901
+ water tower
902
+ whiskey jug
903
+ whistle
904
+ wig
905
+ window screen
906
+ window shade
907
+ Windsor tie
908
+ wine bottle
909
+ wing
910
+ wok
911
+ wooden spoon
912
+ wool
913
+ worm fence
914
+ wreck
915
+ yawl
916
+ yurt
917
+ web site
918
+ comic book
919
+ crossword puzzle
920
+ street sign
921
+ traffic light
922
+ book jacket
923
+ menu
924
+ plate
925
+ guacamole
926
+ consomme
927
+ hot pot
928
+ trifle
929
+ ice cream
930
+ ice lolly
931
+ French loaf
932
+ bagel
933
+ pretzel
934
+ cheeseburger
935
+ hotdog
936
+ mashed potato
937
+ head cabbage
938
+ broccoli
939
+ cauliflower
940
+ zucchini
941
+ spaghetti squash
942
+ acorn squash
943
+ butternut squash
944
+ cucumber
945
+ artichoke
946
+ bell pepper
947
+ cardoon
948
+ mushroom
949
+ Granny Smith
950
+ strawberry
951
+ orange
952
+ lemon
953
+ fig
954
+ pineapple
955
+ banana
956
+ jackfruit
957
+ custard apple
958
+ pomegranate
959
+ hay
960
+ carbonara
961
+ chocolate sauce
962
+ dough
963
+ meat loaf
964
+ pizza
965
+ potpie
966
+ burrito
967
+ red wine
968
+ espresso
969
+ cup
970
+ eggnog
971
+ alp
972
+ bubble
973
+ cliff
974
+ coral reef
975
+ geyser
976
+ lakeside
977
+ promontory
978
+ sandbar
979
+ seashore
980
+ valley
981
+ volcano
982
+ ballplayer
983
+ groom
984
+ scuba diver
985
+ rapeseed
986
+ daisy
987
+ yellow lady's slipper
988
+ corn
989
+ acorn
990
+ hip
991
+ buckeye
992
+ coral fungus
993
+ agaric
994
+ gyromitra
995
+ stinkhorn
996
+ earthstar
997
+ hen-of-the-woods
998
+ bolete
999
+ ear
1000
+ toilet tissue
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/reflex_camera.jpeg ADDED
g0plus_dockerfile/docker-assets/data/TensorRT-10.13.0.35/data/resnet50/tabby_tiger_cat.jpg ADDED

Git LFS Details

  • SHA256: d5f516d7cde858db080760927ea73b1d5bab21a38ca0d4a1aea5b0e6f884969c
  • Pointer size: 131 Bytes
  • Size of remote file: 111 kB