Skip to content

Commit b32f850

Browse files
Merge pull request #14 from NVIDIA-ISAAC-ROS/release-3.2
Update benchmarks for Jetson Orin Nano Super
2 parents 7263941 + f6a0e27 commit b32f850

File tree

178 files changed

+14055
-16962
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+14055
-16962
lines changed

README.md

Lines changed: 37 additions & 37 deletions
Large diffs are not rendered by default.

benchmarks/isaac_ros_rtdetr_benchmark/scripts/isaac_ros_rtdetr_graph.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,9 @@ def launch_setup(container_prefix, container_sigterm_timeout):
139139
plugin='nvidia::isaac_ros::dnn_inference::ReshapeNode',
140140
parameters=[{
141141
'output_tensor_name': 'input_tensor',
142-
'input_tensor_shape': [3, NETWORK_RESOLUTION['width'], NETWORK_RESOLUTION['height']],
142+
'input_tensor_shape': [3, NETWORK_RESOLUTION['height'], NETWORK_RESOLUTION['width']],
143143
'output_tensor_shape': [
144-
1, 3, NETWORK_RESOLUTION['width'], NETWORK_RESOLUTION['height']]
144+
1, 3, NETWORK_RESOLUTION['height'], NETWORK_RESOLUTION['width']]
145145
}],
146146
remappings=[
147147
('tensor', 'planar_tensor')

benchmarks/isaac_ros_tensor_rt_benchmark/scripts/isaac_ros_tensor_rt_ps_node.py

Lines changed: 82 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,7 @@
3838
import time
3939

4040

41-
from ament_index_python.packages import get_package_share_directory
4241
from isaac_ros_benchmark import TRTConverter
43-
from launch.actions import IncludeLaunchDescription
44-
from launch.launch_description_sources import PythonLaunchDescriptionSource
4542
from launch_ros.actions import ComposableNodeContainer
4643
from launch_ros.descriptions import ComposableNode
4744

@@ -71,7 +68,7 @@ def launch_setup(container_prefix, container_sigterm_timeout):
7168
'output_tensor_names': ['output'],
7269
'output_tensor_formats': ['nitros_tensor_list_nhwc_rgb_f32'],
7370
'input_tensor_names': ['input_tensor'],
74-
'input_binding_names': ['input_2:0'],
71+
'input_binding_names': ['input_2'],
7572
'input_tensor_formats': ['nitros_tensor_list_nchw_rgb_f32'],
7673
'verbose': False,
7774
'force_engine_update': False,
@@ -87,27 +84,82 @@ def launch_setup(container_prefix, container_sigterm_timeout):
8784
('hawk_0_left_rgb_camera_info', 'data_loader/camera_info')]
8885
)
8986

90-
encoder_dir = get_package_share_directory('isaac_ros_dnn_image_encoder')
91-
encoder_node_launch = IncludeLaunchDescription(
92-
PythonLaunchDescriptionSource(
93-
[os.path.join(encoder_dir, 'launch', 'dnn_image_encoder.launch.py')]
94-
),
95-
launch_arguments={
96-
'input_image_width': str(IMAGE_RESOLUTION['width']),
97-
'input_image_height': str(IMAGE_RESOLUTION['height']),
98-
'network_image_width': str(NETWORK_RESOLUTION['width']),
99-
'network_image_height': str(NETWORK_RESOLUTION['height']),
100-
'image_mean': str([0.5, 0.5, 0.5]),
101-
'image_stddev': str([0.5, 0.5, 0.5]),
102-
'encoding_desired': 'rgb8',
103-
'image_input_topic': 'data_loader/image',
104-
'camera_info_input_topic': 'data_loader/camera_info',
105-
'tensor_output_topic': 'buffer/input',
106-
'attach_to_shared_component_container': 'True',
107-
'component_container_name':
108-
f'{TestIsaacROSTensorRTNode.generate_namespace()}/tensor_rt_container',
109-
'dnn_image_encoder_namespace': TestIsaacROSTensorRTNode.generate_namespace(),
110-
}.items(),
87+
resize_node = ComposableNode(
88+
name='ResizeNode',
89+
namespace=TestIsaacROSTensorRTNode.generate_namespace(),
90+
package='isaac_ros_image_proc',
91+
plugin='nvidia::isaac_ros::image_proc::ResizeNode',
92+
parameters=[{
93+
'input_width': IMAGE_RESOLUTION['width'],
94+
'input_height': IMAGE_RESOLUTION['height'],
95+
'output_width': NETWORK_RESOLUTION['width'],
96+
'output_height': NETWORK_RESOLUTION['height'],
97+
'keep_aspect_ratio': True,
98+
'encoding_desired': 'rgb8'
99+
}],
100+
remappings=[
101+
('image', 'data_loader/image'),
102+
('camera_info', 'data_loader/camera_info')
103+
]
104+
)
105+
106+
image_format_converter_node = ComposableNode(
107+
name='ImageFormatConverter',
108+
namespace=TestIsaacROSTensorRTNode.generate_namespace(),
109+
package='isaac_ros_image_proc',
110+
plugin='nvidia::isaac_ros::image_proc::ImageFormatConverterNode',
111+
parameters=[{
112+
'encoding_desired': 'rgb8',
113+
'image_width': NETWORK_RESOLUTION['width'],
114+
'image_height': NETWORK_RESOLUTION['height']
115+
}],
116+
remappings=[
117+
('image_raw', 'resize/image'),
118+
('image', 'image_rgb')]
119+
)
120+
121+
image_to_tensor_node = ComposableNode(
122+
name='ImageToTensorNode',
123+
namespace=TestIsaacROSTensorRTNode.generate_namespace(),
124+
package='isaac_ros_tensor_proc',
125+
plugin='nvidia::isaac_ros::dnn_inference::ImageToTensorNode',
126+
parameters=[{
127+
'scale': False,
128+
'tensor_name': 'image',
129+
}],
130+
remappings=[
131+
('image', 'image_rgb')
132+
]
133+
)
134+
135+
normalize_node = ComposableNode(
136+
name='NormalizeNode',
137+
namespace=TestIsaacROSTensorRTNode.generate_namespace(),
138+
package='isaac_ros_tensor_proc',
139+
plugin='nvidia::isaac_ros::dnn_inference::ImageTensorNormalizeNode',
140+
parameters=[{
141+
'mean': [0.5, 0.5, 0.5],
142+
'stddev': [0.5, 0.5, 0.5],
143+
'input_tensor_name': 'image',
144+
'output_tensor_name': 'image'
145+
}]
146+
)
147+
148+
reshape_node = ComposableNode(
149+
name='ReshapeNode',
150+
namespace=TestIsaacROSTensorRTNode.generate_namespace(),
151+
package='isaac_ros_tensor_proc',
152+
plugin='nvidia::isaac_ros::dnn_inference::ReshapeNode',
153+
parameters=[{
154+
'output_tensor_name': 'input_tensor',
155+
'input_tensor_shape': [NETWORK_RESOLUTION['height'], NETWORK_RESOLUTION['width'], 3],
156+
'output_tensor_shape': [
157+
1, NETWORK_RESOLUTION['height'], NETWORK_RESOLUTION['width'], 3]
158+
}],
159+
remappings=[
160+
('tensor', 'normalized_tensor'),
161+
('reshaped_tensor', 'buffer/input')
162+
],
111163
)
112164

113165
playback_node = ComposableNode(
@@ -144,14 +196,16 @@ def launch_setup(container_prefix, container_sigterm_timeout):
144196
sigterm_timeout=container_sigterm_timeout,
145197
composable_node_descriptions=[
146198
data_loader_node,
199+
resize_node, image_format_converter_node,
200+
image_to_tensor_node, normalize_node, reshape_node,
147201
playback_node,
148-
monitor_node,
149-
tensor_rt_node
202+
tensor_rt_node,
203+
monitor_node
150204
],
151205
output='screen'
152206
)
153207

154-
return [composable_node_container, encoder_node_launch]
208+
return [composable_node_container]
155209

156210

157211
def generate_test_description():

benchmarks/isaac_ros_triton_benchmark/scripts/isaac_ros_triton_ps_node.py

Lines changed: 85 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,7 @@
3939
import shutil
4040
import time
4141

42-
from ament_index_python.packages import get_package_share_directory
4342
from isaac_ros_benchmark import TRTConverter
44-
from launch.actions import IncludeLaunchDescription
45-
from launch.launch_description_sources import PythonLaunchDescriptionSource
4643
from launch_ros.actions import ComposableNodeContainer
4744
from launch_ros.descriptions import ComposableNode
4845

@@ -72,7 +69,7 @@ def launch_setup(container_prefix, container_sigterm_timeout):
7269
'model_repository_paths': [ENGINE_ROOT],
7370
'max_batch_size': 0,
7471
'input_tensor_names': ['input_tensor'],
75-
'input_binding_names': ['input_2:0'],
72+
'input_binding_names': ['input_2'],
7673
'input_tensor_formats': ['nitros_tensor_list_nchw_rgb_f32'],
7774
'output_tensor_names': ['output'],
7875
'output_binding_names': ['argmax_1'],
@@ -90,27 +87,82 @@ def launch_setup(container_prefix, container_sigterm_timeout):
9087
('hawk_0_left_rgb_camera_info', 'data_loader/camera_info')]
9188
)
9289

93-
encoder_dir = get_package_share_directory('isaac_ros_dnn_image_encoder')
94-
encoder_node_launch = IncludeLaunchDescription(
95-
PythonLaunchDescriptionSource(
96-
[os.path.join(encoder_dir, 'launch', 'dnn_image_encoder.launch.py')]
97-
),
98-
launch_arguments={
99-
'input_image_width': str(IMAGE_RESOLUTION['width']),
100-
'input_image_height': str(IMAGE_RESOLUTION['height']),
101-
'network_image_width': str(NETWORK_RESOLUTION['width']),
102-
'network_image_height': str(NETWORK_RESOLUTION['height']),
103-
'image_mean': str([0.5, 0.5, 0.5]),
104-
'image_stddev': str([0.5, 0.5, 0.5]),
105-
'encoding_desired': 'rgb8',
106-
'image_input_topic': 'data_loader/image',
107-
'camera_info_input_topic': 'data_loader/camera_info',
108-
'tensor_output_topic': 'buffer/input',
109-
'attach_to_shared_component_container': 'True',
110-
'component_container_name':
111-
f'{TestIsaacROSTritonNode.generate_namespace()}/triton_container',
112-
'dnn_image_encoder_namespace': TestIsaacROSTritonNode.generate_namespace(),
113-
}.items(),
90+
resize_node = ComposableNode(
91+
name='ResizeNode',
92+
namespace=TestIsaacROSTritonNode.generate_namespace(),
93+
package='isaac_ros_image_proc',
94+
plugin='nvidia::isaac_ros::image_proc::ResizeNode',
95+
parameters=[{
96+
'input_width': IMAGE_RESOLUTION['width'],
97+
'input_height': IMAGE_RESOLUTION['height'],
98+
'output_width': NETWORK_RESOLUTION['width'],
99+
'output_height': NETWORK_RESOLUTION['height'],
100+
'keep_aspect_ratio': True,
101+
'encoding_desired': 'rgb8'
102+
}],
103+
remappings=[
104+
('image', 'data_loader/image'),
105+
('camera_info', 'data_loader/camera_info')
106+
]
107+
)
108+
109+
image_format_converter_node = ComposableNode(
110+
name='ImageFormatConverter',
111+
namespace=TestIsaacROSTritonNode.generate_namespace(),
112+
package='isaac_ros_image_proc',
113+
plugin='nvidia::isaac_ros::image_proc::ImageFormatConverterNode',
114+
parameters=[{
115+
'encoding_desired': 'rgb8',
116+
'image_width': NETWORK_RESOLUTION['width'],
117+
'image_height': NETWORK_RESOLUTION['height']
118+
}],
119+
remappings=[
120+
('image_raw', 'resize/image'),
121+
('image', 'image_rgb')]
122+
)
123+
124+
image_to_tensor_node = ComposableNode(
125+
name='ImageToTensorNode',
126+
namespace=TestIsaacROSTritonNode.generate_namespace(),
127+
package='isaac_ros_tensor_proc',
128+
plugin='nvidia::isaac_ros::dnn_inference::ImageToTensorNode',
129+
parameters=[{
130+
'scale': False,
131+
'tensor_name': 'image',
132+
}],
133+
remappings=[
134+
('image', 'image_rgb')
135+
]
136+
)
137+
138+
normalize_node = ComposableNode(
139+
name='NormalizeNode',
140+
namespace=TestIsaacROSTritonNode.generate_namespace(),
141+
package='isaac_ros_tensor_proc',
142+
plugin='nvidia::isaac_ros::dnn_inference::ImageTensorNormalizeNode',
143+
parameters=[{
144+
'mean': [0.5, 0.5, 0.5],
145+
'stddev': [0.5, 0.5, 0.5],
146+
'input_tensor_name': 'image',
147+
'output_tensor_name': 'image'
148+
}]
149+
)
150+
151+
reshape_node = ComposableNode(
152+
name='ReshapeNode',
153+
namespace=TestIsaacROSTritonNode.generate_namespace(),
154+
package='isaac_ros_tensor_proc',
155+
plugin='nvidia::isaac_ros::dnn_inference::ReshapeNode',
156+
parameters=[{
157+
'output_tensor_name': 'input_tensor',
158+
'input_tensor_shape': [NETWORK_RESOLUTION['height'], NETWORK_RESOLUTION['width'], 3],
159+
'output_tensor_shape': [
160+
1, NETWORK_RESOLUTION['height'], NETWORK_RESOLUTION['width'], 3]
161+
}],
162+
remappings=[
163+
('tensor', 'normalized_tensor'),
164+
('reshaped_tensor', 'buffer/input')
165+
],
114166
)
115167

116168
playback_node = ComposableNode(
@@ -147,14 +199,16 @@ def launch_setup(container_prefix, container_sigterm_timeout):
147199
sigterm_timeout=container_sigterm_timeout,
148200
composable_node_descriptions=[
149201
data_loader_node,
202+
resize_node, image_format_converter_node,
203+
image_to_tensor_node, normalize_node, reshape_node,
150204
playback_node,
151-
monitor_node,
152-
triton_node
205+
triton_node,
206+
monitor_node
153207
],
154208
output='screen'
155209
)
156210

157-
return [composable_node_container, encoder_node_launch]
211+
return [composable_node_container]
158212

159213

160214
def generate_test_description():
@@ -171,9 +225,9 @@ def generate_test_description():
171225
f'--onnx={MODELS_ROOT}/{MODEL_NAME}/peoplesemsegnet_shuffleseg.onnx',
172226
f'--saveEngine={ENGINE_FILE_PATH}',
173227
'--fp16',
174-
'--minShapes=input_2:0:1x3x544x960',
175-
'--optShapes=input_2:0:1x3x544x960',
176-
'--maxShapes=input_2:0:16x3x544x960',
228+
'--minShapes=input_2:1x544x960x3',
229+
'--optShapes=input_2:1x544x960x3',
230+
'--maxShapes=input_2:16x544x960x3',
177231
'--skipInference',
178232
]
179233
TRTConverter()(trtexec_args)

0 commit comments

Comments
 (0)