Compare commits

..

8 Commits

Author SHA1 Message Date
faff84dd4c YACWC 2025-07-11 16:30:54 -04:00
74eff0a1fa YACWC 2025-06-30 14:20:08 -04:00
c8dbef2c0f YACWC 2025-06-30 14:19:58 -04:00
21b7ccb794 bump 2025-06-30 14:19:57 -04:00
1d87063655 YACWC 2025-06-17 14:08:34 -04:00
81bb9a702a stuff 2025-06-17 14:08:25 -04:00
f31aa282dd YACWC 2025-06-16 14:08:32 -04:00
6778393bfd YACWC 2025-06-13 18:34:45 -04:00
21 changed files with 100681 additions and 33 deletions

1361
' Normal file

File diff suppressed because it is too large Load Diff

5
.gitignore vendored
View File

@@ -1,4 +1,9 @@
*.mp4 *.mp4
*.engine *.engine
*.pt *.pt
*.onnx
*.trt
*.whl
*.npy
*.npz
runs/ runs/

Binary file not shown.

View File

@@ -1,6 +1,9 @@
import numpy as np
import json import json
datum = np.load('dump.npz.npy')
import numpy as np
#datum = np.load('dump.npz.npy')
datum = np.load('dump_so400m.npy')
with open('dump.json','r') as rr: with open('dump.json','r') as rr:
@@ -29,25 +32,15 @@ def cosine_sim(emb_in_1, emb_in_2):
arr_in_deepstream = np.asarray([y for _,y in emb_dict.items()]) arr_in_deepstream = np.asarray([y for _,y in emb_dict.items()])
normed = np.divide(datum.T, np.linalg.norm(datum, axis=1)).T normed = np.divide(datum.T, np.linalg.norm(datum, axis=1)).T
print('_________________________') print('_________________________')
print(len(emb_dict))
print(len(datum))
for fr, emb in emb_dict.items(): for fr, emb in emb_dict.items():
emb1 = np.linalg.norm(emb) emb1 = np.linalg.norm(emb)
emb2 = np.linalg.norm(datum[fr]) emb2 = np.linalg.norm(datum[fr])
# print( cosine_sim(emb, datum[fr])) print( cosine_sim(emb, datum[fr]))
print('Deepstream and Actual norm')
print(np.max(np.dot(arr_in_deepstream, normed.T),axis=1))
print('_________________________')
for dat in datum:
# print(cosine_sim(dat, datum[0]))
pass
#print(cosine_sim(datum[fr], datum[fr+1]))
#print(cosine_sim(emb_dict[fr], emb_dict[fr+1]))

1
deepstream_obj_det.py Executable file → Normal file
View File

@@ -380,6 +380,7 @@ def run_inference(file_path):
nugget_detector.link(fakesink1) nugget_detector.link(fakesink1)
nugget_embedder.link(fakesink2) nugget_embedder.link(fakesink2)
print(get_pipeline_string(pipeline))
# create an event loop and feed gstreamer bus mesages to it # create an event loop and feed gstreamer bus mesages to it

545
deepstream_obj_det_pre_queue.py Executable file
View File

@@ -0,0 +1,545 @@
import sys
sys.path.append("/opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/apps")
import os
import gi
gi.require_version("Gst", "1.0")
import argparse
import ctypes
from functools import partial
import numpy as np
import pyds
from common.bus_call import bus_call
from common.platform_info import PlatformInfo
from CommonCode.settings import LogColorize, get_logger
from gi.repository import GLib, Gst
pfm = LogColorize.watch_and_fix_permissions
logger = get_logger(
__name__,
"/var/log/ml_vision_logs/00_watch_and_fix_permissions",
stdout=True,
systemd=False,
)
Gst.debug_set_default_threshold(Gst.DebugLevel.ERROR)
os.environ.pop("DISPLAY", ":0")
target_width_detect = 1280
target_height_detect = 720
os.environ["GST_DEBUG_DUMP_DOT_DIR"] = "/tmp"
os.putenv("GST_DEBUG_DUMP_DIR_DIR", "/tmp")
target_width_embed = 512
target_height_embed = 512
MUXER_BATCH_TIMEOUT_USEC = 1000000
def print_pipeline_structure(pipeline):
"""
Recursively prints elements in the pipeline and their properties.
"""
if not isinstance(pipeline, Gst.Pipeline):
print("Not a valid GStreamer pipeline.")
return
def _print_element_properties(element, indent=0):
spaces = " " * indent
print(
spaces
+ f"Element: {element.get_name()} (Type: {element.get_factory().get_name()})"
)
# Print its properties
for prop in element.list_properties():
try:
val = element.get_property(prop.name)
if val != prop.default_value: # Display only non-default properties
print(spaces + f" - {prop.name}: {val}")
except:
pass
def _print_pipeline_structure(element, indent=0):
spaces = " " * indent
children = element.children if hasattr(element, "children") else []
if len(children) > 0:
print(spaces + f"[{element.get_name()}]")
for child in children:
_print_pipeline_structure(child, indent + 2)
else:
_print_element_properties(element, indent)
print("\nPipeline Structure:")
print("===================")
_print_pipeline_structure(pipeline)
print("===================\n")
def get_detailed_pipeline_string(pipeline):
"""Generate a more detailed pipeline string with properties"""
if not isinstance(pipeline, Gst.Pipeline):
return None
def get_element_string(element):
# Get element factory name
factory = element.get_factory()
if factory:
element_str = factory.get_name()
else:
element_str = element.get_name()
# Add properties
props = []
for prop in element.list_properties():
# Skip some properties that are typically not set in command line
if prop.name in ("name", "parent"):
continue
try:
val = element.get_property(prop.name)
if val is not None and val != prop.default_value:
# Format value appropriately based on type
if isinstance(val, str):
props.append(f'{prop.name}="{val}"')
elif isinstance(val, bool):
props.append(f"{prop.name}={str(val).lower()}")
else:
props.append(f"{prop.name}={val}")
except:
# Skip properties that can't be read
pass
if props:
element_str += " " + " ".join(props)
return element_str
result = []
# Simple approach - just gets top-level elements
iterator = pipeline.iterate_elements()
while True:
ret, element = iterator.next()
if ret != Gst.IteratorResult.OK:
break
result.append(get_element_string(element))
return " ! ".join(result)
def embed_results_probe(pad, info, u_data, list_add, frame_num=0):
gst_buffer = info.get_buffer()
print("HEY I AM PROBING EMBEDDINGS")
if not gst_buffer:
print("Unable to get GstBuffer ")
return
batch_meta = pyds.gst_buffer_get_nvds_batch_meta(hash(gst_buffer))
l_frame = batch_meta.frame_meta_list
while l_frame is not None:
try:
# Note that l_frame.data needs a cast to pyds.NvDsFrameMeta
# The casting also keeps ownership of the underlying memory
# in the C code, so the Python garbage collector will leave
# it alone.
frame_meta = pyds.NvDsFrameMeta.cast(l_frame.data)
except StopIteration:
break
frame_number = frame_meta.frame_num
l_user = frame_meta.frame_user_meta_list
while l_user is not None:
try:
# Note that l_user.data needs a cast to pyds.NvDsUserMeta
# The casting also keeps ownership of the underlying memory
# in the C code, so the Python garbage collector will leave
# it alone.
user_meta = pyds.NvDsUserMeta.cast(l_user.data)
except StopIteration:
break
if (
user_meta.base_meta.meta_type
!= pyds.NvDsMetaType.NVDSINFER_TENSOR_OUTPUT_META
):
continue
tensor_meta = pyds.NvDsInferTensorMeta.cast(user_meta.user_meta_data)
# Boxes in the tensor meta should be in network resolution which is
# found in tensor_meta.network_info. Use this info to scale boxes to
# the input frame resolution.
layers_info = []
if True:
for i in range(tensor_meta.num_output_layers):
layer = pyds.get_nvds_LayerInfo(tensor_meta, i)
if layer.layerName == "output":
ptr = ctypes.cast(
pyds.get_ptr(layer.buffer), ctypes.POINTER(ctypes.c_float)
)
num_elements = layer.inferDims.numElements
v = list(np.ctypeslib.as_array(ptr, shape=(num_elements,)))
v = [float(x) for x in v]
list_add.append({"frame_number": frame_number, "vector": v})
try:
l_user = l_user.next
except StopIteration:
break
try:
# indicate inference is performed on the frame
frame_meta.bInferDone = True
l_frame = l_frame.next
except StopIteration:
break
return Gst.PadProbeReturn.OK
def detector_results_probe(pad, info, u_data, list_add, frame_num=0):
frame_number = 0
num_rects = 0
got_fps = False
print("HEY I AM PROBING DETECTIONS")
gst_buffer = info.get_buffer()
if not gst_buffer:
print("Unable to get GstBuffer ")
return
batch_meta = pyds.gst_buffer_get_nvds_batch_meta(hash(gst_buffer))
l_frame = batch_meta.frame_meta_list
while l_frame is not None:
try:
frame_meta = pyds.NvDsFrameMeta.cast(l_frame.data)
except StopIteration:
break
frame_number = frame_meta.frame_num
l_obj = frame_meta.obj_meta_list
num_rects = frame_meta.num_obj_meta
l_user = frame_meta.frame_user_meta_list
while l_obj is not None:
try:
# Casting l_obj.data to pyds.NvDsObjectMeta
obj_meta = pyds.NvDsObjectMeta.cast(l_obj.data)
except StopIteration:
break
# param_extract = ['left','top','width','height']
# strc = ''
# for param in param_extract:
# strc+=str(getattr(obj_meta.rect_params, param))
# strc+=' '
# target_width
# target_height
score = obj_meta.confidence
label = obj_meta.obj_label
left = obj_meta.rect_params.left
top = obj_meta.rect_params.top
width = obj_meta.rect_params.width
height = obj_meta.rect_params.height
frame_number = frame_number
class_id = obj_meta.class_id
d_add = {
"score": score,
"label": label,
"left": left,
"top": top,
"width": width,
"height": height,
"frame_number": frame_number,
"class_id": class_id,
}
list_add.append(d_add)
print(frame_number, label, score)
if frame_number % 100 == 0:
str_pr = "FRAME_PROGRESS: " + pfm(
str(frame_number) + "/" + str(frame_num)
)
logger.info(str_pr)
try:
l_obj = l_obj.next
except StopIteration:
break
# Update frame rate through this probe
stream_index = "stream{0}".format(frame_meta.pad_index)
try:
l_frame = l_frame.next
except StopIteration:
break
return Gst.PadProbeReturn.OK
def cb_newpad(decodebin, decoder_src_pad, data):
caps = decoder_src_pad.get_current_caps()
if not caps:
caps = decoder_src_pad.query_caps()
gststruct = caps.get_structure(0)
gstname = gststruct.get_name()
source_bin = data
features = caps.get_features(0)
# Need to check if the pad created by the decodebin is for video and not
# audio.
print("gstname=", gstname)
if gstname.find("video") != -1:
# Link the decodebin pad only if decodebin has picked nvidia
# decoder plugin nvdec_*. We do this by checking if the pad caps contain
# NVMM memory features.
print("features=", features)
if features.contains("memory:NVMM"):
# Get the source bin ghost pad
bin_ghost_pad = source_bin.get_static_pad("src")
if not bin_ghost_pad.set_target(decoder_src_pad):
sys.stderr.write(
"Failed to link decoder src pad to source bin ghost pad\n"
)
else:
sys.stderr.write(" Error: Decodebin did not pick nvidia decoder plugin.\n")
def decodebin_child_added(child_proxy, Object, name, user_data):
print("Decodebin child added:", name, "\n")
if name.find("decodebin") != -1:
Object.connect("child-added", decodebin_child_added, user_data)
if "source" in name:
source_element = child_proxy.get_by_name("source")
if source_element.find_property("drop-on-latency") != None:
Object.set_property("drop-on-latency", True)
def create_source_bin(uri):
bin_name = "source-bin-any-format"
nbin = Gst.Bin.new(bin_name)
if not nbin:
sys.stderr.write(" Unable to create source bin \n")
uri_decode_bin = Gst.ElementFactory.make("uridecodebin", "uri-decode-bin")
if not uri_decode_bin:
sys.stderr.write(" Unable to create uri decode bin \n")
uri_decode_bin.set_property("uri", uri)
uri_decode_bin.connect("pad-added", cb_newpad, nbin)
uri_decode_bin.connect("child-added", decodebin_child_added, nbin)
Gst.Bin.add(nbin, uri_decode_bin)
bin_pad = nbin.add_pad(Gst.GhostPad.new_no_target("src", Gst.PadDirection.SRC))
if not bin_pad:
sys.stderr.write(" Failed to add ghost pad in source bin \n")
return None
return nbin
# def run_inference(file_path):
if True:
file_path = "/home/thebears/local/source/short.mp4"
os.environ.pop("DISPLAY", None)
if not file_path.startswith("file://"):
file_path = "file://" + file_path
platform_info = PlatformInfo()
Gst.init(None)
pipeline = Gst.Pipeline()
source_file = create_source_bin(file_path)
tee = Gst.ElementFactory.make("tee", "nvsink-tee")
# DETECT
queue_detect = Gst.ElementFactory.make("queue", "nvtee-detect")
streammux_detect = Gst.ElementFactory.make("nvstreammux", "Stream-muxer-detector")
streammux_detect.set_property("width", target_width_detect)
streammux_detect.set_property("height", target_height_detect)
streammux_detect.set_property("batched-push-timeout", MUXER_BATCH_TIMEOUT_USEC)
streammux_detect.set_property("enable-padding", 1)
streammux_detect.set_property("batch-size", 4)
nugget_detector = Gst.ElementFactory.make("nvinfer", "primary-inference")
nugget_detector.set_property(
"config-file-path",
"/home/thebears/DeepStream-Yolo/config_infer_primary_yoloV7.txt",
)
fakesink_detect = Gst.ElementFactory.make("fakesink", "fakesink")
fakesink_detect.set_property("enable-last-sample", 0)
fakesink_detect.set_property("sync", 0)
# EMBED
queue_embed = Gst.ElementFactory.make("queue", "nvtee-que-embed")
streammux_embed = Gst.ElementFactory.make("nvstreammux", "Stream-muxer-embed")
streammux_embed.set_property("width", target_width_embed)
streammux_embed.set_property("height", target_height_embed)
streammux_embed.set_property("batched-push-timeout", MUXER_BATCH_TIMEOUT_USEC)
streammux_embed.set_property("enable-padding", 0)
streammux_embed.set_property("batch-size", 1)
nugget_embed = Gst.ElementFactory.make("nvinfer", "primary-inference")
nugget_embed.set_property(
"config-file-path", "/home/thebears/DeepStream-Yolo/embedder.txt"
)
# nugget_embed.set_property('config-file-path', "/home/thebears/DeepStream-Yolo/config_infer_primary_yoloV7.txt")
fakesink_embed = Gst.ElementFactory.make("fakesink", "fakesink2")
fakesink_embed.set_property("enable-last-sample", 0)
fakesink_embed.set_property("sync", 0)
# LINKING
# Ensure NVMM caps with a capsfilter
# capsfilter = Gst.ElementFactory.make("capsfilter", "capsfilter")
# capsfilter.set_property("caps", Gst.Caps.from_string("video/x-raw(memory:NVMM), format=NV12"))
# pipeline.add(capsfilter)
pipeline.add(source_file)
pipeline.add(tee)
nvvidconv = Gst.ElementFactory.make("nvvidconv", "nvvidconv")
pipeline.add(nvvidconv)
source_file.link(nvvidconv)
# nvvidconv.link(capsfilter)
# capsfilter.link(tee)
nvvidconv.link(tee)
if False:
pipeline.add(queue_detect)
pipeline.add(streammux_detect)
pipeline.add(nugget_detector)
pipeline.add(fakesink_detect)
tee.get_request_pad("src_%u").link(queue_detect.get_static_pad("sink"))
queue_detect.get_static_pad("src").link(
streammux_detect.get_request_pad("sink_0")
)
streammux_detect.link(nugget_detector)
nugget_detector.link(fakesink_detect)
os.environ["GST_DEBUG_DUMP_DOT_DIR"] = "/tmp"
os.putenv("GST_DEBUG_DUMP_DIR_DIR", "/tmp")
if True:
pipeline.add(queue_embed)
pipeline.add(streammux_embed)
pipeline.add(nugget_embed)
pipeline.add(fakesink_embed)
tee.get_request_pad("src_%u").link(queue_embed.get_static_pad("sink"))
queue_embed.get_static_pad("src").link(
streammux_embed.get_request_pad("sink_0")
)
streammux_embed.link(nugget_embed)
nugget_embed.link(fakesink_embed)
Gst.debug_bin_to_dot_file(pipeline, Gst.DebugGraphDetails.ALL, "pipeline")
print_pipeline_structure(pipeline)
cmd = f"/usr/bin/ffprobe -v error -select_streams v:0 -count_packets -show_entries stream=nb_read_packets -of csv=p=0 {file_path}" # /srv/ftp/railing/2025/02/28/railing_00_20250228115800.mp4
try:
frames = int(os.popen(cmd).read().strip())
except:
frames = 0
logger.info(f"TOTAL_FRAMES: {frames}")
embed_list = list()
Gst.debug_bin_to_dot_file(pipeline, Gst.DebugGraphDetails.ALL, "pipeline_structure")
embed_results = partial(embed_results_probe, list_add=embed_list, frame_num=frames)
nugget_embed.get_static_pad("src").add_probe(
Gst.PadProbeType.BUFFER, embed_results, 0
)
Gst.debug_bin_to_dot_file(
pipeline,
Gst.DebugGraphDetails.ALL,
"/home/thebears/local/source/pipeline_structure",
)
detector_list = list()
detector_results = partial(
detector_results_probe, list_add=detector_list, frame_num=frames
)
nugget_detector.get_static_pad("src").add_probe(
Gst.PadProbeType.BUFFER, detector_results, 0
)
print("AFTER SETTING STATIC PADS")
def get_pipeline_string(pipeline):
if not isinstance(pipeline, Gst.Pipeline):
return None
elements = []
iterator = pipeline.iterate_elements()
while True:
result, element = iterator.next()
if result != Gst.IteratorResult.OK:
break
elements.append(element.get_name())
return " ! ".join(elements)
Gst.debug_bin_to_dot_file(pipeline, Gst.DebugGraphDetails.ALL, "pipeline_structure")
# create an event loop and feed gstreamer bus mesages to it
loop = GLib.MainLoop()
bus = pipeline.get_bus()
bus.add_signal_watch()
bus.connect("message", bus_call, loop)
# start play back and listen to events
print("Starting pipeline \n")
pipeline.set_state(Gst.State.PLAYING)
try:
loop.run()
except:
pass
# cleanup
pipeline.set_state(Gst.State.NULL)
# return detector_list, embed_list\\
out = [detector_list, embed_list ]
import json
with open("dump.json", "w") as ff:
json.dump([out[0], out[1]], ff)
sys.exit()
if __name__ == "__main__":
cpath = sys.argv[1]
if cpath.endswith("-i"):
cpath = "/home/thebears/local/source/short.mp4"
if not cpath.startswith("file"):
cpath = os.path.abspath(cpath)
out = run_inference(cpath)
import json

File diff suppressed because one or more lines are too long

736
js.json Normal file

File diff suppressed because one or more lines are too long

336
min_repro.py Normal file
View File

@@ -0,0 +1,336 @@
import io
import tensorrt as trt
import torch
import torch.nn as nn
import torch.nn.functional as F
class AttentionUsingScaledDotProduct(nn.Module):
"""
An alternative implementation of the Attention layer using `F.scaled_dot_product_attention`, which is ~50% faster,
but doesn't compile correctly when using TensorRT v10.
"""
def __init__(
self,
dim,
num_heads=8,
qkv_bias=False,
qk_scale=None,
attn_drop=0.0,
proj_drop=0.0,
attn_head_dim=None,
):
super().__init__()
self.num_heads = num_heads
head_dim = dim // num_heads
if attn_head_dim is not None:
head_dim = attn_head_dim
all_head_dim = head_dim * self.num_heads
self.scale = qk_scale or head_dim**-0.5
self.qkv = nn.Linear(dim, all_head_dim * 3, bias=False)
if qkv_bias:
self.q_bias = nn.Parameter(torch.zeros(all_head_dim))
self.v_bias = nn.Parameter(torch.zeros(all_head_dim))
else:
self.q_bias = None
self.v_bias = None
self.attn_drop = nn.Dropout(attn_drop)
self.proj = nn.Linear(all_head_dim, dim)
self.proj_drop = nn.Dropout(proj_drop)
def forward(self, x):
B, N, C = x.shape
qkv_bias = None
if self.q_bias is not None:
qkv_bias = torch.cat(
(
self.q_bias,
torch.zeros_like(self.v_bias, requires_grad=False),
self.v_bias,
)
)
qkv = F.linear(input=x, weight=self.qkv.weight, bias=qkv_bias)
qkv = qkv.reshape(B, N, 3, self.num_heads, -1).permute(2, 0, 3, 1, 4)
q, k, v = qkv.unbind(0)
x = F.scaled_dot_product_attention(
q,
k,
v,
dropout_p=self.attn_drop.p if self.training else 0.0,
scale=self.scale,
)
x = x.transpose(1, 2).reshape(B, N, -1)
x = self.proj(x)
x = self.proj_drop(x)
return x
class ExplicitAttention(nn.Module):
"""
The explicit, original version of the Attention layer from the VideoMAEv2 codebase.
"""
def __init__(
self,
dim,
num_heads=8,
qkv_bias=False,
qk_scale=None,
attn_drop=0.0,
proj_drop=0.0,
attn_head_dim=None,
):
super().__init__()
self.num_heads = num_heads
head_dim = dim // num_heads
if attn_head_dim is not None:
head_dim = attn_head_dim
all_head_dim = head_dim * self.num_heads
self.scale = qk_scale or head_dim**-0.5
self.qkv = nn.Linear(dim, all_head_dim * 3, bias=False)
if qkv_bias:
self.q_bias = nn.Parameter(torch.zeros(all_head_dim))
self.v_bias = nn.Parameter(torch.zeros(all_head_dim))
else:
self.q_bias = None
self.v_bias = None
self.attn_drop = nn.Dropout(attn_drop)
self.proj = nn.Linear(all_head_dim, dim)
self.proj_drop = nn.Dropout(proj_drop)
def forward(self, x):
B, N, C = x.shape
qkv_bias = None
if self.q_bias is not None:
qkv_bias = torch.cat(
(
self.q_bias,
torch.zeros_like(self.v_bias, requires_grad=False),
self.v_bias,
)
)
qkv = F.linear(input=x, weight=self.qkv.weight, bias=qkv_bias)
qkv = qkv.reshape(B, N, 3, self.num_heads, -1).permute(2, 0, 3, 1, 4)
q, k, v = qkv.unbind(0)
q = q * self.scale
attn = q @ k.transpose(-2, -1)
attn = attn.softmax(dim=-1)
attn = self.attn_drop(attn)
x = (attn @ v).transpose(1, 2).reshape(B, N, -1)
x = self.proj(x)
x = self.proj_drop(x)
return x
class AttentionUsingMHAForward(nn.Module):
def __init__(
self,
dim,
num_heads=8,
qkv_bias=False,
qk_scale=None,
attn_drop=0.0,
proj_drop=0.0,
attn_head_dim=None,
):
super().__init__()
self.num_heads = num_heads
head_dim = dim // num_heads
if attn_head_dim is not None:
head_dim = attn_head_dim
all_head_dim = head_dim * self.num_heads
self.scale = qk_scale or head_dim**-0.5
self.qkv = nn.Linear(dim, all_head_dim * 3, bias=False)
if qkv_bias:
self.q_bias = nn.Parameter(torch.zeros(all_head_dim))
self.v_bias = nn.Parameter(torch.zeros(all_head_dim))
else:
self.q_bias = None
self.v_bias = None
self.attn_drop = nn.Dropout(attn_drop)
self.proj = nn.Linear(all_head_dim, dim)
self.proj_drop = nn.Dropout(proj_drop)
def forward(self, x):
B, N, C = x.shape
qkv_bias = None
if self.q_bias is not None:
qkv_bias = torch.cat(
(
self.q_bias,
torch.zeros_like(self.v_bias, requires_grad=False),
self.v_bias,
)
)
qkv = F.linear(input=x, weight=self.qkv.weight, bias=qkv_bias)
qkv = qkv.reshape(B, N, 3, self.num_heads, -1).permute(2, 0, 3, 1, 4)
q, k, v = qkv.unbind(0)
# MHA expects [sequence, batch, embed_dim].
x_t = x.transpose(0, 1) # => [N, B, C]
attn_out, _ = F.multi_head_attention_forward(
x_t,
x_t,
x_t,
embed_dim_to_check=C,
num_heads=self.num_heads,
# Since use_separate_proj_weight=False (default), then according to the docs:
# "in_proj_weight will be used, which is a combination of q_proj_weight, k_proj_weight, v_proj_weight."
in_proj_weight=self.qkv.weight,
in_proj_bias=qkv_bias,
bias_k=None,
bias_v=None,
add_zero_attn=False,
dropout_p=self.attn_drop.p,
out_proj_weight=self.proj.weight,
out_proj_bias=self.proj.bias,
training=self.training,
key_padding_mask=None,
need_weights=False,
attn_mask=None,
)
# Transpose back to [B, N, C].
x = attn_out.transpose(0, 1)
return x
def onnx_to_trt(onnx_bytes: bytes) -> bytes:
TRT_LOGGER = trt.Logger(trt.Logger.INFO)
builder = trt.Builder(TRT_LOGGER)
network = builder.create_network()
parser = trt.OnnxParser(network, TRT_LOGGER)
parser.parse(onnx_bytes)
config = builder.create_builder_config()
config.builder_optimization_level = 0
engine = builder.build_serialized_network(network, config)
return engine
def build_trt_module(model, x):
onnx_bytes = io.BytesIO()
torch.onnx.export(
model,
(x,),
onnx_bytes,
export_params=True,
opset_version=17,
do_constant_folding=True,
input_names=["x"],
output_names=["y"],
)
trt_engine = onnx_to_trt(onnx_bytes.getvalue())
return trt_engine
#@torch.inference_mode()
#def main():
with torch.no_grad():
torch.manual_seed(0)
EMB_DIM = 384
x = torch.rand((6, 1568, EMB_DIM))
explicit_attention = ExplicitAttention(EMB_DIM)
sdpa = AttentionUsingScaledDotProduct(EMB_DIM)
mha_fwd = AttentionUsingMHAForward(EMB_DIM)
# Use the same params for all.
sdpa.load_state_dict(explicit_attention.state_dict())
mha_fwd.load_state_dict(explicit_attention.state_dict())
sdpa_torch_y = sdpa(x)
explicit_attention_torch_y = explicit_attention(x)
mha_fwd_torch_y = mha_fwd(x)
print(
"Torch: [explicit<->sdpa] Is allclose?",
sdpa_torch_y.allclose(explicit_attention_torch_y, atol=0.0001),
)
print(
"Torch: [explicit<->mha_fwd] Is allclose?",
mha_fwd_torch_y.allclose(explicit_attention_torch_y, atol=0.0001),
)
print(
"Torch: [explicit<->sdpa] Total difference:",
(sdpa_torch_y - explicit_attention_torch_y).abs().sum(),
)
print(
"Torch: [explicit<->mha_fwd] Total difference:",
(mha_fwd_torch_y - explicit_attention_torch_y).abs().sum(),
)
assert sdpa_torch_y.allclose(explicit_attention_torch_y, atol=0.0001), "Precheck"
assert mha_fwd_torch_y.allclose(explicit_attention_torch_y, atol=0.0001), "Precheck"
# %%
explicit_attention_trt = build_trt_module(explicit_attention, x)
with open('explicit_attention_trt.trt','wb') as ea:
ea.write(explicit_attention_trt)
sdpa_trt_model = build_trt_module(sdpa, x)
with open('sdpa_trt.trt','wb') as ea:
ea.write(sdpa_trt_model)
mha_fwd_trt_model = build_trt_module(mha_fwd, x)
with open('mha_trt.trt','wb') as ea:
ea.write(mha_fwd_trt_model)
# %%
# %%
explicit_attention_y = explicit_attention_trt(x.cuda())
sdpa_y = sdpa_trt_model(x.cuda())
mha_fwd_y = mha_fwd_trt_model(x.cuda())
print(
"TRT: [explicit<->sdpa] Is allclose?",
sdpa_y.allclose(explicit_attention_y, atol=0.0001),
)
print(
"TRT: [explicit<->sdpa] Total difference:",
(sdpa_y - explicit_attention_y).abs().sum(),
)
print(
"TRT: [explicit<->mha_fwd] Is allclose?",
mha_fwd_y.allclose(explicit_attention_y, atol=0.0001),
)
print(
"TRT: [explicit<->mha_fwd] Total difference:",
(mha_fwd_y - explicit_attention_y).abs().sum(),
)
print("TRT: Explicit Attention:", explicit_attention_y[0, 0, :32])
print("TRT: Scaled Dot Product Attention:", sdpa_y[0, 0, :32])
print("TRT: MHA Forward:", mha_fwd_y[0, 0, :32])
if __name__ == "__main__":
main()

8
ml_run.py Normal file
View File

@@ -0,0 +1,8 @@
from model_runner import ModelRunner
mr = ModelRunner()
# %%
mr.init_model_det()
mr.init_model_clip()
# %%
scored_results = mr.score_video('/home/thebears/source/ml_code/short.mp4')
print(scored_results)

310
model_runner.py Normal file
View File

@@ -0,0 +1,310 @@
import sys
sys.path.insert(0, "/home/thebears/source/models/yolov7")
import time
import base64 as b64
from datetime import datetime
import cv2
import numpy as np
import json
from pymediainfo import MediaInfo
import inspect
import open_clip
import sys
import torch
import yaml
from models.experimental import attempt_load
from utils.general import check_img_size, non_max_suppression
from torchvision import transforms
import torch.nn.functional as F
import os
device = torch.device("cuda")
# %%
class ModelRunner:
def __init__(self):
self.pretrained_name = "webli"
self.model_name = "ViT-SO400M-16-SigLIP2-512"
self.det_root_path = "/home/thebears/source/model_weights"
def init_model_clip(self):
if hasattr(self, 'clip_preprocess'):
return
model_name = self.model_name
pretrained_name = self.pretrained_name
clip_model, _, clip_preprocess_og = open_clip.create_model_and_transforms(
model_name, pretrained=pretrained_name
)
tokenizer = open_clip.get_tokenizer("hf-hub:timm/" + model_name)
clip_model = clip_model.half().to(device)
clip_dtype = next(clip_model.parameters()).dtype
clip_img_size = clip_preprocess_og.transforms[0].size
clip_model.encode_image(
torch.rand(1, 3, *clip_img_size, dtype=clip_dtype, device=device))
clip_preprocess = transforms.Compose(
[clip_preprocess_og.transforms[x] for x in [0, 3]]
)
self.clip_model = clip_model
self.clip_preprocess_og = clip_preprocess_og
self.clip_tokenizer = tokenizer
self.clip_dtype = clip_dtype
self.clip_img_size = clip_img_size
self.clip_preprocess = clip_preprocess
def init_model_det(self):
if hasattr(self, 'det_model'):
return
det_root_path = self.det_root_path
det_model_weights_root = os.path.join(det_root_path, "yolov7")
det_model_weights_path = os.path.join(det_model_weights_root, "best.pt")
det_data_yaml_path = os.path.join(det_model_weights_root, "inaturalist.yaml")
det_model = attempt_load(det_model_weights_path, map_location=device)
det_model = det_model.half().to(device)
det_dtype = next(det_model.parameters()).dtype
det_imgsz = 1280
det_stride = int(det_model.stride.max())
det_imgsz = check_img_size(det_imgsz, s=det_stride)
_ = det_model(
torch.zeros(1, 3, det_imgsz, det_imgsz, dtype=det_dtype).to(device)
)
with open(det_data_yaml_path, "r") as ff:
det_model_info = yaml.safe_load(ff)
det_labels = det_model_info["names"]
self.det_dtype = det_dtype
self.det_imgsz = det_imgsz
self.det_stride = det_stride
self.det_model_info = det_model_info
self.det_labels = det_labels
self.det_model = det_model
def get_det_vid_preprocessor(self, vid_h, vid_w):
if not hasattr(self, "_det_vid_preprocessors"):
self._det_vid_preprocessors = dict()
self.curr_det_vid_preprocessor = None
dict_key = (vid_h, vid_w)
det_stride = self.det_stride
if dict_key in self._det_vid_preprocessors:
self.curr_det_vid_preprocessor = self._det_vid_preprocessors[dict_key]
return self.curr_det_vid_preprocessor
target_max = self.det_imgsz
if vid_h > vid_w:
target_h = target_max
target_w = target_max * vid_w / vid_h
elif vid_h == vid_w:
target_h = target_max
target_w = target_max
elif vid_h < vid_w:
target_h = target_max * vid_h / vid_w
target_w = target_max
target_h = int(target_h)
target_w = int(target_w)
pad_amt = [None, None, None, None]
if target_w % det_stride != 0:
off = det_stride - target_w % det_stride
new_w = target_w + off
pad_diff = new_w - target_w
pad_left = round(pad_diff / 2)
pad_right = pad_diff - pad_left
pad_amt[0] = pad_left
pad_amt[2] = pad_right
else:
pad_amt[0] = 0
pad_amt[2] = 0
if target_h % det_stride != 0:
off = det_stride - target_h % det_stride
new_h = target_h + off
pad_diff = new_h - target_h
pad_up = round(pad_diff / 2)
pad_down = pad_diff - pad_up
pad_amt[1] = pad_up
pad_amt[3] = pad_down
else:
pad_amt[1] = 0
pad_amt[3] = 0
det_vid_preprocess = transforms.Compose(
[transforms.Resize((target_h, target_w)), transforms.Pad(pad_amt, fill=127)]
)
self.target_h = target_h
self.target_w = target_w
self.pad_amt = pad_amt
self._det_vid_preprocessors[dict_key] = det_vid_preprocess
self.curr_det_vid_preprocessor = self._det_vid_preprocessors[dict_key]
return self.curr_det_vid_preprocessor
def score_frames_det(self, array_score, det_vid_preprocess=None):
det_model = self.det_model
if det_vid_preprocess is None:
det_vid_preprocess = self.curr_det_vid_preprocessor
frame_numbers = [x[0] for x in array_score]
frame_values = [x[1] for x in array_score]
frame_as_tensor = (
torch.from_numpy(np.stack(frame_values)[:, :, :, 0:3])
.to(torch.float16)
.to(device)
.permute([0, 3, 1, 2])
)
with torch.no_grad():
frame_for_model = det_vid_preprocess(frame_as_tensor).div(255)[
:, [2, 1, 0], :, :
]
det_preds = det_model(frame_for_model)[0]
det_pred_post_nms = non_max_suppression(det_preds, 0.25, 0.5)
det_cpu_pred = [x.detach().cpu().numpy() for x in det_pred_post_nms]
return {"det": det_cpu_pred, "fr#": frame_numbers}
def score_frames_clip(self, clip_array_score):
frame_numbers = [x[0] for x in clip_array_score]
frame_values = [x[1] for x in clip_array_score]
frame_as_tensor = (
torch.from_numpy(np.stack(frame_values)[:, :, :, 0:3])
.to(torch.float16)
.to(device)
.permute([0, 3, 1, 2])
)
with torch.no_grad():
frame_for_clip = self.clip_preprocess(frame_as_tensor[:, [0, 1, 2], :, :])
clip_pred = self.clip_model.encode_image(frame_for_clip).detach().cpu().numpy()
return {"clip": clip_pred, "fr#": frame_numbers}
def get_video_info(self, file_path):
file_info = MediaInfo.parse(file_path)
video_info = None
frame_count = 0
if len(file_info.video_tracks) > 0:
video_info = file_info.video_tracks[0]
video_info.frame_count = int(video_info.frame_count)
return video_info
def score_video(self, file_to_score, batch_size = 6, clip_interval = 10):
video_info = self.get_video_info(file_to_score)
vid_decoder = "h264parse"
if video_info.format.lower() == "HEVC".lower():
vid_decoder = "h265parse"
gst_cmd = "filesrc location={file_to_score} ! qtdemux name=demux demux.video_0 ! queue ! {vid_decoder} ! nvv4l2decoder ! nvvidconv ! videoscale method=1 add-borders=false ! video/x-raw,width=1280,height=1280 ! appsink sync=false".format(
file_to_score=file_to_score, vid_decoder=vid_decoder
)
cap_handle = cv2.VideoCapture(gst_cmd, cv2.CAP_GSTREAMER)
vid_h = video_info.height
vid_w = video_info.width
vid_preprocessor = self.get_det_vid_preprocessor(vid_h, vid_w)
target_w = self.target_w
target_h = self.target_h
pad_amt = self.pad_amt
array_score = list()
final_output = dict()
final_output["start_score_time"] = time.time()
final_output["num_frames"] = video_info.frame_count
st = time.time()
frame_numbers = list()
det_results = list()
clip_results = list()
clip_frame_numbers = list()
clip_array = list()
for i in range(video_info.frame_count):
success, frame_matrix = cap_handle.read()
if not success:
break
array_score.append((i, frame_matrix))
if len(array_score) >= batch_size:
score_result = self.score_frames_det(array_score, det_vid_preprocess = vid_preprocessor)
det_results.extend(score_result["det"])
frame_numbers.extend(score_result["fr#"])
array_score = list()
if not (i % clip_interval):
clip_score_result = self.score_frames_clip([(i, frame_matrix)])
clip_results.extend(clip_score_result["clip"])
clip_frame_numbers.extend(clip_score_result["fr#"])
if len(array_score) > 0:
score_result = self.score_frames_det(array_score, det_vid_preprocess = vid_preprocessor)
det_results.extend(score_result["det"])
frame_numbers.extend(score_result["fr#"])
cap_handle.release()
final_output["end_score_time"] = time.time()
final_output["video"] = {
"w": vid_w,
"h": vid_h,
"path": file_to_score,
"target_w": target_w,
"target_h": target_h,
"pad_amt": pad_amt,
}
try:
final_output["scoring_fps"] = final_output["num_frames"] / (
final_output["end_score_time"] - final_output["start_score_time"]
)
except Exception as e:
pass
final_output["scores"] = list()
clip_results_as_np = np.asarray(clip_results)
for frame_number, frame in zip(frame_numbers, det_results):
cframe_dict = dict()
cframe_dict["frame"] = frame_number
cframe_dict["detections"] = list()
for det in frame:
data = dict()
data["coords"] = [float(x) for x in list(det[0:4])]
data["score"] = float(det[4])
data["idx"] = int(det[5])
try:
data["name"] = det_labels[data["idx"]]
except:
data["name"] = "Code failed"
cframe_dict["detections"].append(data)
final_output["scores"].append(cframe_dict)
emb_dict = dict()
emb_dict["frame_numbers"] = clip_frame_numbers
emb_dict["array_size"] = clip_results_as_np.shape
emb_dict["array_dtype"] = str(clip_results_as_np.dtype)
emb_dict["array_binary"] = b64.b64encode(clip_results_as_np).decode()
final_output["embeds"] = emb_dict
return final_output

171
models/try_decode.py Normal file
View File

@@ -0,0 +1,171 @@
import time
import cv2
import numpy
import numpy as np
import onnxruntime as rt
import open_clip
import pycuda.autoinit
import pycuda.driver as cuda
import tensorrt as trt
import torch
import os
from cuda import cuda as ccuda
from cuda import cudart
cmd = "filesrc location=/home/thebears/local/source/full.mp4 ! qtdemux name=demux demux.video_0 ! queue ! h265parse ! nvv4l2decoder ! nvvidconv ! videoscale method=1 add-borders=false ! video/x-raw,width=1280,height=1280 ! appsink sync=false"
cap = cv2.VideoCapture(cmd, cv2.CAP_GSTREAMER)
st = time.time()
fr = 0
arrays_to_score = list()
array = list()
while True:
good, frf = cap.read()
fr += 1
print(good, fr)
if not good:
break
array.append(frf)
if len(array) > 8:
arrays_to_score.append(torch.from_numpy(np.asarray(array)))
array = list()
break
if len(array) > 0:
arrays_to_score.append(torch.from_numpy(np.asarray(array)))
et = time.time()
print(et - st, fr / (st - et))
# %%
pretrained_name = "webli"
model_name = "ViT-L-16-SigLIP2-512"
#model_name, pretrained_name = ('ViT-B-16-quickgelu', 'openai')
model, _, preprocess = open_clip.create_model_and_transforms(
model_name, pretrained=pretrained_name
)
# %%
with torch.no_grad():
et = time.time()
if True:
# tensor_raw = arrays_to_score[0][0,:,:,0:3][None,:,:,:]
# tensor_perm = tensor_raw.permute([0, 3, 1, 2]).to(torch.float32) / 255
tensor_perm = torch.rand(1,3,512,512)
tensor_reshaped = preprocess.transforms[0](tensor_perm)
tensor_mean = preprocess.transforms[-1](tensor_reshaped)
else:
tensor_raw = torch.concat(arrays_to_score)[0:4, :, :, 0:3]
tensor_perm = tensor_raw.permute([0, 3, 1, 2]).to(torch.float32) / 255
tensor_reshaped = preprocess.transforms[1](preprocess.transforms[0](tensor_perm))
tensor_mean = preprocess.transforms[-1](tensor_reshaped)
imp = model.encode_image(tensor_mean)
st = time.time()
# print((st - et) / tensor_raw.shape[0], tensor_raw.shape[0]/(st - et) )
from_model_on_gpu = imp.cpu().numpy()
# %%
# %%
#ONNX_FILE_PATH = "/home/thebears/local/source/engine_siglip2_512.onnx"
#ONNX_FILE_PATH = "/home/thebears/local/source/engine_small.onnx"
ONNX_FILE_PATH = "in_docker.onnx"
torch.onnx.export(
model.visual,
tensor_mean,
ONNX_FILE_PATH,
input_names=["input"],
output_names=["output"],
)
# %%
X_test = tensor_mean.cpu().numpy()
sess = rt.InferenceSession(
ONNX_FILE_PATH, providers=rt.get_available_providers())
input_name = sess.get_inputs()[0].name
pred_onx = sess.run(None, {input_name: X_test.astype(numpy.float32)})[0]
print(pred_onx)
def norm(v):
return np.divide(v.T,np.linalg.norm(v,axis=1)).T
print(np.dot(norm(pred_onx), norm(from_model_on_gpu).T))
# %%
TRT_LOGGER = trt.Logger()
def build_engine_from_onnx(onnx_file_path, use_fp16=True):
"""
Convert ONNX model to TensorRT engine with FP16 precision
Args:
onnx_file_path: Path to ONNX model
use_fp16: Boolean to enable FP16 mode
Returns:
TensorRT engine
"""
# Logger to capture info/warning/errors
TRT_LOGGER = trt.Logger(trt.Logger.WARNING)
# Create builder and network
builder = trt.Builder(TRT_LOGGER)
network = builder.create_network(
1 << int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH)
)
# Create ONNX parser and parse model
parser = trt.OnnxParser(network, TRT_LOGGER)
with open(onnx_file_path, "rb") as model:
if not parser.parse(model.read()):
for error in range(parser.num_errors):
print(f"ONNX parse error: {parser.get_error(error)}")
raise ValueError(f"Failed to parse ONNX file: {onnx_file_path}")
# Create optimization config
config = builder.create_builder_config()
config.set_memory_pool_limit(trt.MemoryPoolType.WORKSPACE, 1 << 20) # 1 MiB
# Enable FP16 precision if requested and if the GPU supports it
if use_fp16:
if builder.platform_has_fast_fp16:
# config.set_flag(trt.BuilderFlag.FP16)
print("FP16 enabled successfully")
else:
print("Warning: GPU doesn't support fast FP16, using FP32 instead")
# Set optimization profile for dynamic shapes (if needed)
# If you have dynamic shapes, you'd need to set min/opt/max dimensions
# Build and serialize engine
engine = builder.build_serialized_network(network, config)
return engine
ENGINE_FILE_PATH = os.path.splitext(ONNX_FILE_PATH)[0]+'.trt'
engine = build_engine_from_onnx(ONNX_FILE_PATH, use_fp16=False)
with open(ENGINE_FILE_PATH, "wb") as f:
f.write(engine)
# %%

79
new_temp.py Normal file
View File

@@ -0,0 +1,79 @@
import gi
gi.require_version('Gst', '1.0')
#gi.require_version('GstNv', '1.0')
from gi.repository import Gst, GObject
# Initialize GStreamer
Gst.init(None)
def main():
# Create a pipeline
pipeline = Gst.Pipeline()
# Source element: File or Camera
source_bin = Gst.ElementFactory.make("filesrc", "file-source")
source_bin.set_property("location", '/opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.mp4')
decodebin = Gst.ElementFactory.make("decodebin", "decode-bin")
source_bin.link(decodebin)
# Queue 1 for decodebin output
queue1 = Gst.ElementFactory.make("queue", "queue1")
pipeline.add(queue1)
# Splitter: Tee Element
tee = Gst.ElementFactory.make("tee", "splitter")
pipeline.add(tee)
# Resizer branch
queue_resizer = Gst.ElementFactory.make("queue", "resizer-queue")
resizer = Gst.ElementFactory.make("nvvideoconvert", "video-converter")
capsfilter = Gst.ElementFactory.make("capsfilter", "caps-filter")
capsfilter.set_property("caps", Gst.Caps.from_string("video/x-raw(memory:NVMM), width=300, height=300"))
# Model inference element
nvinfer = Gst.ElementFactory.make("nvinfer", "primary-inference")
nvinfer.set_property("config-file-path", "path_to_config_file.txt")
# Create a sink for visualizing output
fakesink_detect = Gst.ElementFactory.make("fakesink","fakesink")
fakesink_detect.set_property('enable-last-sample', 0)
fakesink_detect.set_property('sync', 0)
sink = fakesink_detect
# Add and link all elements (Resizer Branch)
for element in [queue_resizer, resizer, capsfilter, nvinfer, sink]:
pipeline.add(element)
decodebin.connect("pad-added", lambda decode, src_pad: src_pad.link(queue1.get_static_pad("sink")))
queue1.link(tee)
# Link the tee to the resizer pipeline
tee_src_pad1 = tee.get_request_pad("src_%u")
queue_resizer_sink_pad = queue_resizer.get_static_pad("sink")
tee_src_pad1.link(queue_resizer_sink_pad)
queue_resizer.link(resizer)
resizer.link(capsfilter)
capsfilter.link(nvinfer)
nvinfer.link(sink)
# Start the pipeline
pipeline.set_state(Gst.State.PLAYING)
# Run a main loop to listen for EOS or error
loop = GObject.MainLoop()
try:
loop.run()
except KeyboardInterrupt:
pass
pipeline.set_state(Gst.State.NULL)
if __name__ == "__main__":
main()

228
new_test.py Normal file
View File

@@ -0,0 +1,228 @@
import sys
import gi
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst, GLib
# Initialize GStreamer
Gst.init(None)
def create_source_bin(uri, source_id):
# Create a source bin element
bin_name = "source-bin-%02d" % source_id
source_bin = Gst.Bin.new(bin_name)
if not source_bin:
sys.stderr.write("Unable to create source bin\n")
return None
# Create elements
uri_decode_bin = Gst.ElementFactory.make("uridecodebin", "uri-decode-bin")
if not uri_decode_bin:
sys.stderr.write("Unable to create uri decode bin\n")
return None
# Set properties
uri_decode_bin.set_property("uri", uri)
# Add the URI decode bin to the source bin
source_bin.add(uri_decode_bin)
# Add pad probe for data flow
pad = Gst.Ghost.Pad.new_no_target("src", Gst.PadDirection.SRC)
if not pad:
sys.stderr.write("Failed to add ghost pad in source bin\n")
return None
source_bin.add_pad(pad)
# Connect to the "pad-added" signal of the decoder
uri_decode_bin.connect("pad-added", cb_newpad, source_bin)
return source_bin
def cb_newpad(decoder, pad, source_bin):
# Check the media type of the pad
pad_caps = pad.get_current_caps()
gst_struct = pad_caps.get_structure(0)
pad_type = gst_struct.get_name()
if pad_type.startswith("video"):
# Link the decoder to the ghost pad
sink_pad = source_bin.get_static_pad("src")
if not sink_pad.is_linked():
pad.link(sink_pad)
def main():
# Create the main pipeline
pipeline = Gst.Pipeline()
# Create the source bin
source_bin = create_source_bin("file:///path/to/video.mp4", 0)
# Create a tee element to split the stream
tee = Gst.ElementFactory.make("tee", "tee")
# Create two streammux elements
streammux1 = Gst.ElementFactory.make("nvstreammux", "stream-muxer1")
streammux2 = Gst.ElementFactory.make("nvstreammux", "stream-muxer2")
# Set streammux properties
streammux1.set_property("width", 1920)
streammux1.set_property("height", 1080)
streammux1.set_property("batch-size", 1)
streammux1.set_property("batched-push-timeout", 4000000)
streammux2.set_property("width", 1280)
streammux2.set_property("height", 720)
streammux2.set_property("batch-size", 1)
streammux2.set_property("batched-push-timeout", 4000000)
# Create queue elements for each branch
queue1 = Gst.ElementFactory.make("queue", "queue1")
queue2 = Gst.ElementFactory.make("queue", "queue2")
# Add all elements to the pipeline
pipeline.add(source_bin)
pipeline.add(tee)
pipeline.add(queue1)
pipeline.add(queue2)
pipeline.add(streammux1)
pipeline.add(streammux2)
# Link the source bin to the tee
source_bin.link(tee)
# Link tee to the first queue and then to streammux1
tee_pad1 = tee.get_request_pad("src_%u")
queue1_pad = queue1.get_static_pad("sink")
tee_pad1.link(queue1_pad)
# Link the queue1 to streammux1
sinkpad1 = streammux1.get_request_pad("sink_0")
srcpad1 = queue1.get_static_pad("src")
srcpad1.link(sinkpad1)
# Link tee to the second queue and then to streammux2
tee_pad2 = tee.get_request_pad("src_%u")
queue2_pad = queue2.get_static_pad("sink")
tee_pad2.link(queue2_pad)
# Link the queue2 to streammux2
sinkpad2 = streammux2.get_request_pad("sink_0")
srcpad2 = queue2.get_static_pad("src")
srcpad2.link(sinkpad2)
# Continue building your pipeline with the two streammux outputs
# For example, you can add nvinfer, nvtracker, nvvideoconvert, etc.
# Start the pipeline
pipeline.set_state(Gst.State.PLAYING)
# Run the main loop
loop = GLib.MainLoop()
loop.run()
# Clean up
pipeline.set_state(Gst.State.NULL)
if __name__ == "__main__":
main()
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst, GObject
def main():
# Initialize GStreamer
Gst.init(None)
# Create the pipeline
pipeline = Gst.Pipeline()
# Create a source bin (e.g., decodebin from a file source or cameras)
source_bin = create_source_bin("file://path/to/your/video")
pipeline.add(source_bin)
# Create the tee element
tee = Gst.ElementFactory.make("tee", "tee")
pipeline.add(tee)
# Create two nvstreammux elements
streammux1 = Gst.ElementFactory.make("nvstreammux", "streammux1")
streammux1.set_property("batch-size", 1)
pipeline.add(streammux1)
streammux2 = Gst.ElementFactory.make("nvstreammux", "streammux2")
streammux2.set_property("batch-size", 1)
pipeline.add(streammux2)
# Request pads from the tee element
tee_src_pad_1 = tee.get_request_pad("src_%u")
tee_src_pad_2 = tee.get_request_pad("src_%u")
# Create two queues for each branch
queue1 = Gst.ElementFactory.make("queue", "queue1")
queue2 = Gst.ElementFactory.make("queue", "queue2")
pipeline.add(queue1)
pipeline.add(queue2)
# Link tee to the queues
tee_src_pad_1.link(queue1.get_static_pad("sink"))
tee_src_pad_2.link(queue2.get_static_pad("sink"))
# Link queue1 -> streammux1 and queue2 -> streammux2
queue1.link(streammux1)
queue2.link(streammux2)
# Add other elements (e.g., processing, display sinks) after each streammux as required.
# For simplicity, you can just add a fakesink at the end of each branch for now.
fake_sink_1 = Gst.ElementFactory.make("fakesink", "fakesink1")
fake_sink_2 = Gst.ElementFactory.make("fakesink2")
pipeline.add(fake_sink_1)
pipeline.add(fake_sink_2)
streammux1.link(fake_sink_1)
streammux2.link(fake_sink_2)
# Connect the source bin to the tee
source_bin_src_pad = source_bin.get_static_pad("src")
tee_sink_pad = tee.get_static_pad("sink")
source_bin_src_pad.link(tee_sink_pad)
# Start the pipeline
pipeline.set_state(Gst.State.PLAYING)
# Run the pipeline
loop = GObject.MainLoop()
try:
loop.run()
except KeyboardInterrupt:
print("Exiting...")
pipeline.set_state(Gst.State.NULL)
def create_source_bin(uri):
# Create the source bin (file or live source)
uridecodebin = Gst.ElementFactory.make("uridecodebin", "source-bin")
uridecodebin.set_property("uri", uri)
bin_pad = uridecodebin.get_static_pad("src")
return uridecodebin
if __name__ == "__main__":
main()

BIN
orin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

817
output Normal file
View File

@@ -0,0 +1,817 @@
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following packages were automatically installed and are no longer required:
gdal-data libarmadillo10 libarpack2 libavcodec58 libavfilter7 libavformat58
libavutil56 libblosc1 libcfitsio9 libcharls2 libfreexl1 libfyba0 libgdal30
libgdcm-dev libgdcm3.0 libgeos-c1v5 libgeos3.10.2 libgeotiff5 libgl2ps1.4
libgphoto2-dev libhdf4-0-alt libkmlbase1 libkmldom1 libkmlengine1
libminizip1 libmysqlclient21 libnetcdf19 libodbc2 libodbcinst2 libogdi4.1
libopencv-calib3d4.5d libopencv-contrib4.5d libopencv-dnn4.5d
libopencv-features2d4.5d libopencv-flann4.5d libopencv-highgui4.5d
libopencv-imgcodecs4.5d libopencv-imgproc4.5d libopencv-ml4.5d
libopencv-objdetect4.5d libopencv-photo4.5d libopencv-shape4.5d
libopencv-stitching4.5d libopencv-superres4.5d libopencv-video4.5d
libopencv-videoio4.5d libopencv-videostab4.5d libopencv-viz4.5d
libpostproc55 libpq5 libproj22 librttopo1 libsocket++1 libspatialite7
libssh-gcrypt-4 libsuperlu5 libswresample3 libswscale5 liburiparser1
libvdpau1 libvtk9.1 libxerces-c3.2 mysql-common proj-data unixodbc-common
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
libopencv-calib3d-dev libopencv-contrib-dev libopencv-core-dev
libopencv-dnn-dev libopencv-features2d-dev libopencv-flann-dev
libopencv-highgui-dev libopencv-imgcodecs-dev libopencv-imgproc-dev
libopencv-ml-dev libopencv-objdetect-dev libopencv-photo-dev
libopencv-shape-dev libopencv-stitching-dev libopencv-superres-dev
libopencv-video-dev libopencv-videoio-dev libopencv-videostab-dev
libopencv-viz-dev
The following NEW packages will be installed:
libcudnn9-headers-cuda-12 ubuntu-pro-client ubuntu-pro-client-l10n
The following packages will be upgraded:
apport apport-gtk apt bind9-host bind9-libs binutils
binutils-aarch64-linux-gnu binutils-common bluez bluez-obexd containerd.io
cryptsetup-bin cuda-cccl-12-6 cuda-crt-12-6 cuda-cudart-12-6
cuda-cudart-dev-12-6 cuda-cuobjdump-12-6 cuda-cupti-12-6 cuda-cupti-dev-12-6
cuda-cuxxfilt-12-6 cuda-documentation-12-6 cuda-driver-dev-12-6
cuda-gdb-12-6 cuda-nvcc-12-6 cuda-nvdisasm-12-6 cuda-nvml-dev-12-6
cuda-nvprune-12-6 cuda-nvrtc-12-6 cuda-nvrtc-dev-12-6 cuda-nvtx-12-6
cuda-nvvm-12-6 cuda-profiler-api-12-6 cuda-sanitizer-12-6
cuda-toolkit-12-6-config-common cuda-toolkit-12-config-common
cuda-toolkit-config-common dirmngr distro-info-data dmeventd dmsetup
dns-root-data docker-buildx-plugin docker-ce docker-ce-cli
docker-ce-rootless-extras docker-compose-plugin ethtool fonts-opensymbol
ghostscript ghostscript-x gir1.2-gstreamer-1.0 gir1.2-javascriptcoregtk-4.0
gir1.2-nm-1.0 gir1.2-packagekitglib-1.0 gir1.2-soup-2.4 gir1.2-webkit2-4.0
git-man gnome-shell gnome-shell-common gnupg gnupg-l10n gnupg-utils gnupg2
gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm gpgv
gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-packagekit
gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps
gstreamer1.0-pulseaudio gstreamer1.0-x initramfs-tools initramfs-tools-bin
initramfs-tools-core ldap-utils libabsl20210324 libaom3 libapt-pkg6.0
libbinutils libbluetooth3 libc-bin libc-dev-bin libc6 libc6-dbg libc6-dev
libcap2 libcap2-bin libcryptsetup12 libctf-nobfd0 libctf0 libcublas-12-6
libcublas-dev-12-6 libcudla-12-6 libcudla-dev-12-6 libcudnn9-cuda-12
libcudnn9-dev-cuda-12 libcudnn9-samples libcufft-12-6 libcufft-dev-12-6
libcurand-12-6 libcurand-dev-12-6 libcurl3-gnutls libcusolver-12-6
libcusolver-dev-12-6 libcusparse-12-6 libcusparse-dev-12-6 libcusparselt-dev
libcusparselt0 libdebuginfod-common libdebuginfod1 libdevmapper-event1.02.1
libdevmapper1.02.1 libdw-dev libdw1 libegl-mesa0 libelf-dev libelf1
libexpat1 libexpat1-dev libfreetype-dev libfreetype6 libfreetype6-dev
libgbm-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri libglapi-mesa
libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev
libglib2.0-dev-bin libglib2.0-doc libglib2.0-tests libglx-mesa0
libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev libgnutls30
libgnutlsxx28 libgs9 libgs9-common libgssapi-krb5-2 libgstreamer1.0-0
libgstreamer1.0-dev libiniparser1 libipa-hbac0 libjavascriptcoregtk-4.0-18
libk5crypto3 libkrb5-3 libkrb5support0 libldap-2.5-0 liblvm2cmd2.03
libmalcontent-0-0 libmbim-glib4 libmbim-proxy libmysqlclient21
libnautilus-extension1a libnm0 libnss-sss libnss-systemd libnvfatbin-12-6
libnvfatbin-dev-12-6 libnvidia-container-tools libnvidia-container1
libnvinfer-bin libnvinfer-dev libnvinfer-dispatch-dev libnvinfer-dispatch10
libnvinfer-headers-dev libnvinfer-headers-plugin-dev libnvinfer-lean-dev
libnvinfer-lean10 libnvinfer-plugin-dev libnvinfer-plugin10
libnvinfer-samples libnvinfer-vc-plugin-dev libnvinfer-vc-plugin10
libnvinfer10 libnvjitlink-12-6 libnvjitlink-dev-12-6 libnvonnxparsers-dev
libnvonnxparsers10 libopencv-dev libpackagekit-glib2-18 libpam-modules
libpam-modules-bin libpam-runtime libpam-sss libpam-systemd libpam0g
libperl5.34 libpoppler-glib8 libpoppler118 libpq5 libpython2.7
libpython2.7-minimal libpython2.7-stdlib libpython3.10 libpython3.10-dev
libpython3.10-minimal libpython3.10-stdlib librados2 libraptor2-0 libraw20
librbd1 libreoffice-base-core libreoffice-calc libreoffice-common
libreoffice-core libreoffice-draw libreoffice-gnome libreoffice-gtk3
libreoffice-impress libreoffice-math libreoffice-pdfimport
libreoffice-style-breeze libreoffice-style-colibre
libreoffice-style-elementary libreoffice-style-yaru libreoffice-writer
libseccomp2 libsndfile1 libsnmp-base libsnmp40 libsoup-gnome2.4-1
libsoup2.4-1 libsoup2.4-common libsqlite3-0 libsss-certmap0 libsss-idmap0
libsss-nss-idmap0 libsystemd-dev libsystemd0 libtasn1-6 libtasn1-6-dev
libudev-dev libudev1 libunbound8 libuno-cppu3 libuno-cppuhelpergcc3-3
libuno-purpenvhelpergcc3-3 libuno-sal3 libuno-salhelpergcc3-3 libvpx7
libwebkit2gtk-4.0-37 libxml2 libxml2-dev libxslt1.1 libyelp0 linux-base
linux-firmware linux-libc-dev locales lvm2 nautilus nautilus-data net-tools
network-manager network-manager-config-connectivity-ubuntu
nvidia-container-toolkit nvidia-container-toolkit-base openssh-client
openssh-server openssh-sftp-server openssl packagekit packagekit-tools
pci.ids perl perl-base perl-modules-5.34 poppler-utils python2.7
python2.7-minimal python3-apport python3-libnvinfer python3-libnvinfer-dev
python3-libnvinfer-dispatch python3-libnvinfer-lean python3-paramiko
python3-pkg-resources python3-problem-report python3-protobuf
python3-requests python3-setuptools python3-setuptools-whl python3-sss
python3-uno python3-update-manager python3.10 python3.10-dev
python3.10-minimal python3.10-venv rsync snapd sssd sssd-ad sssd-ad-common
sssd-common sssd-ipa sssd-krb5 sssd-krb5-common sssd-ldap sssd-proxy systemd
systemd-journal-remote systemd-oomd systemd-sysv systemd-timesyncd tensorrt
tensorrt-libs thunderbird thunderbird-gnome-support tzdata
ubuntu-advantage-tools udev uno-libs-private update-manager
update-manager-core ure vim vim-common vim-runtime wireless-regdb
wpasupplicant xserver-common xserver-xephyr xserver-xorg-core
xserver-xorg-legacy xwayland xxd yelp yelp-xsl
341 upgraded, 3 newly installed, 19 to remove and 0 not upgraded.
Inst libperl5.34 [5.34.0-3ubuntu1.3] (5.34.0-3ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [perl:arm64 ]
Inst perl [5.34.0-3ubuntu1.3] (5.34.0-3ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst perl-base [5.34.0-3ubuntu1.3] (5.34.0-3ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Conf perl-base (5.34.0-3ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst perl-modules-5.34 [5.34.0-3ubuntu1.3] (5.34.0-3ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst libc6-dbg [2.35-0ubuntu3.8] (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libc6-dev [2.35-0ubuntu3.8] (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libc-dev-bin [2.35-0ubuntu3.8] (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst linux-libc-dev [5.15.0-126.136] (5.15.0-141.151 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libc6 [2.35-0ubuntu3.8] (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libc6 (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libc-bin [2.35-0ubuntu3.8] (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libc-bin (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libsystemd-dev [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libnss-systemd [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst xserver-common [2:21.1.4-2ubuntu1.7~22.04.12] (2:21.1.4-2ubuntu1.7~22.04.14 Ubuntu:22.04/jammy-updates [all]) []
Inst xserver-xorg-legacy [2:21.1.4-2ubuntu1.7~22.04.12] (2:21.1.4-2ubuntu1.7~22.04.14 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libudev-dev [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libsystemd0 [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [systemd:arm64 ]
Conf libsystemd0 (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [systemd:arm64 ]
Inst xserver-xorg-core [2:21.1.4-2ubuntu1.7~22.04.12] (2:21.1.4-2ubuntu1.7~22.04.14 Ubuntu:22.04/jammy-updates [arm64]) [systemd:arm64 ]
Inst systemd-timesyncd [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [systemd:arm64 ]
Inst systemd-sysv [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [systemd:arm64 ]
Inst systemd-oomd [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [systemd:arm64 ]
Inst systemd-journal-remote [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [systemd:arm64 ]
Inst libpam-systemd [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [systemd:arm64 ]
Inst systemd [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst bluez [5.64-0ubuntu1.3] (5.64-0ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst udev [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libudev1 [249.11-0ubuntu3.12] (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libudev1 (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libglib2.0-dev [2.72.4-0ubuntu2.4] (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libglib2.0-dev-bin [2.72.4-0ubuntu2.4] (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libglib2.0-data [2.72.4-0ubuntu2.4] (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all]) []
Inst libelf-dev [0.186-1build1] (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libdw-dev [0.186-1build1] (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libdebuginfod-common [0.186-1build1] (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all]) []
Inst libgnutls28-dev [3.7.3-4ubuntu1.5] (3.7.3-4ubuntu1.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libgnutls-openssl27 [3.7.3-4ubuntu1.5] (3.7.3-4ubuntu1.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libgnutlsxx28 [3.7.3-4ubuntu1.5] (3.7.3-4ubuntu1.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libtasn1-6-dev [4.18.0-4build1] (4.18.0-4ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libtasn1-6 [4.18.0-4build1] (4.18.0-4ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Conf libtasn1-6 (4.18.0-4ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libunbound8 [1.13.1-1ubuntu5.8] (1.13.1-1ubuntu5.10 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libgnutls-dane0 [3.7.3-4ubuntu1.5] (3.7.3-4ubuntu1.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libgnutls30 [3.7.3-4ubuntu1.5] (3.7.3-4ubuntu1.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Conf libgnutls30 (3.7.3-4ubuntu1.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libk5crypto3 [1.19.2-2ubuntu0.4] (1.19.2-2ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Conf libk5crypto3 (1.19.2-2ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libkrb5support0 [1.19.2-2ubuntu0.4] (1.19.2-2ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [libkrb5-3:arm64 ]
Conf libkrb5support0 (1.19.2-2ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [libkrb5-3:arm64 ]
Inst libkrb5-3 [1.19.2-2ubuntu0.4] (1.19.2-2ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [libgssapi-krb5-2:arm64 ]
Conf libkrb5-3 (1.19.2-2ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [libgssapi-krb5-2:arm64 ]
Inst libgssapi-krb5-2 [1.19.2-2ubuntu0.4] (1.19.2-2ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Conf libgssapi-krb5-2 (1.19.2-2ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst ldap-utils [2.5.18+dfsg-0ubuntu0.22.04.2] (2.5.19+dfsg-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libldap-2.5-0 [2.5.18+dfsg-0ubuntu0.22.04.2] (2.5.19+dfsg-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libcurl3-gnutls [7.81.0-1ubuntu1.19] (7.81.0-1ubuntu1.20 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libdebuginfod1 [0.186-1build1] (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libdw1 [0.186-1build1] (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libelf1 [0.186-1build1] (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libglib2.0-bin [2.72.4-0ubuntu2.4] (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst python3.10-dev [3.10.12-1~22.04.8] (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libexpat1-dev [2.4.7-1ubuntu0.4] (2.4.7-1ubuntu0.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libexpat1 [2.4.7-1ubuntu0.4] (2.4.7-1ubuntu0.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libpython3.10-dev [3.10.12-1~22.04.8] (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libpython3.10 [3.10.12-1~22.04.8] (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libsqlite3-0 [3.37.2-2ubuntu0.3] (3.37.2-2ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst python3.10-venv [3.10.12-1~22.04.8] (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst python3.10 [3.10.12-1~22.04.8] (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libpython3.10-stdlib [3.10.12-1~22.04.8] (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst python3.10-minimal [3.10.12-1~22.04.8] (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libpython3.10-minimal [3.10.12-1~22.04.8] (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst python3-setuptools-whl [59.6.0-1.2ubuntu0.22.04.2] (59.6.0-1.2ubuntu0.22.04.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all]) []
Inst libglib2.0-tests [2.72.4-0ubuntu2.4] (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libglib2.0-0 [2.72.4-0ubuntu2.4] (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libcap2 [1:2.44-1ubuntu0.22.04.1] (1:2.44-1ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libcap2 (1:2.44-1ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libgl1-mesa-dri [23.2.1-1ubuntu3.1~22.04.2] (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libglx-mesa0 [23.2.1-1ubuntu3.1~22.04.2] (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libegl-mesa0 [23.2.1-1ubuntu3.1~22.04.2] (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libglapi-mesa [23.2.1-1ubuntu3.1~22.04.2] (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libgbm-dev [23.2.1-1ubuntu3.1~22.04.2] (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libgbm1 [23.2.1-1ubuntu3.1~22.04.2] (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64])
Inst libpam0g [1.4.0-11ubuntu2.4] (1.4.0-11ubuntu2.5 Ubuntu:22.04/jammy-updates [arm64])
Conf libpam0g (1.4.0-11ubuntu2.5 Ubuntu:22.04/jammy-updates [arm64])
Inst libpam-modules-bin [1.4.0-11ubuntu2.4] (1.4.0-11ubuntu2.5 Ubuntu:22.04/jammy-updates [arm64]) [libpam-modules:arm64 on libpam-modules-bin:arm64] [libpam-modules:arm64 ]
Conf libpam-modules-bin (1.4.0-11ubuntu2.5 Ubuntu:22.04/jammy-updates [arm64]) [libpam-modules:arm64 ]
Inst libpam-modules [1.4.0-11ubuntu2.4] (1.4.0-11ubuntu2.5 Ubuntu:22.04/jammy-updates [arm64])
Conf libpam-modules (1.4.0-11ubuntu2.5 Ubuntu:22.04/jammy-updates [arm64])
Inst libpam-runtime [1.4.0-11ubuntu2.4] (1.4.0-11ubuntu2.5 Ubuntu:22.04/jammy-updates [all])
Conf libpam-runtime (1.4.0-11ubuntu2.5 Ubuntu:22.04/jammy-updates [all])
Inst libdevmapper1.02.1 [2:1.02.175-2.1ubuntu4] (2:1.02.175-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Inst libcryptsetup12 [2:2.4.3-1ubuntu1.2] (2:2.4.3-1ubuntu1.3 Ubuntu:22.04/jammy-updates [arm64])
Inst libseccomp2 [2.5.3-2ubuntu2] (2.5.3-2ubuntu3~22.04.1 Ubuntu:22.04/jammy-updates [arm64])
Conf libseccomp2 (2.5.3-2ubuntu3~22.04.1 Ubuntu:22.04/jammy-updates [arm64])
Inst libapt-pkg6.0 [2.4.13] (2.4.14 Ubuntu:22.04/jammy-updates [arm64])
Conf libapt-pkg6.0 (2.4.14 Ubuntu:22.04/jammy-updates [arm64])
Inst gpg-wks-client [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [gnupg:arm64 ]
Inst dirmngr [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [gnupg:arm64 ]
Inst gpg-wks-server [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [gnupg:arm64 ]
Inst gnupg-utils [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [gnupg:arm64 ]
Inst gpg-agent [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [gnupg:arm64 ]
Inst gpg [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [gnupg:arm64 ]
Inst gpgconf [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [gnupg:arm64 gpgsm:arm64 ]
Inst gnupg-l10n [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all]) [gnupg:arm64 gpgsm:arm64 ]
Inst gnupg [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all]) [gpgsm:arm64 ]
Inst gpgsm [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst gpgv [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gpgv (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst apt [2.4.13] (2.4.14 Ubuntu:22.04/jammy-updates [arm64])
Conf apt (2.4.14 Ubuntu:22.04/jammy-updates [arm64])
Remv libopencv-videostab-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-dev:arm64 ]
Remv libopencv-calib3d-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-stitching-dev:arm64 libopencv-dev:arm64 ]
Remv libopencv-stitching-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-dev:arm64 ]
Remv libopencv-objdetect-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-dev:arm64 ]
Remv libopencv-ml-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-dev:arm64 libopencv-features2d-dev:arm64 ]
Remv libopencv-core-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-features2d-dev:arm64 libopencv-dnn-dev:arm64 libopencv-flann-dev:arm64 libopencv-imgproc-dev:arm64 ]
Remv libopencv-dnn-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-features2d-dev:arm64 libopencv-flann-dev:arm64 libopencv-imgproc-dev:arm64 ]
Remv libopencv-features2d-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-flann-dev:arm64 libopencv-imgproc-dev:arm64 ]
Remv libopencv-flann-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-imgproc-dev:arm64 ]
Remv libopencv-highgui-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-imgproc-dev:arm64 ]
Remv libopencv-superres-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-imgproc-dev:arm64 ]
Remv libopencv-videoio-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-imgproc-dev:arm64 ]
Remv libopencv-imgcodecs-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-imgproc-dev:arm64 ]
Remv libopencv-shape-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-imgproc-dev:arm64 ]
Remv libopencv-video-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-imgproc-dev:arm64 ]
Remv libopencv-imgproc-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 libopencv-photo-dev:arm64 ]
Remv libopencv-photo-dev [4.5.4+dfsg-9ubuntu4] [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 libopencv-dev:arm64 ]
Inst libopencv-dev [4.5.4+dfsg-9ubuntu4] (4.8.0-1-g6371ee1 L4T Jetson r36.4:stable [arm64]) [libopencv-contrib-dev:arm64 libopencv-viz-dev:arm64 ]
Remv libopencv-contrib-dev [4.5.4+dfsg-9ubuntu4] [libopencv-viz-dev:arm64 ]
Remv libopencv-viz-dev [4.5.4+dfsg-9ubuntu4]
Inst rsync [3.2.7-0ubuntu0.22.04.2] (3.2.7-0ubuntu0.22.04.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst docker-ce-cli [5:27.5.1-1~ubuntu.22.04~jammy] (5:28.2.2-1~ubuntu.22.04~jammy Docker CE:jammy [arm64])
Inst containerd.io [1.7.25-1] (1.7.27-1 Docker CE:jammy [arm64])
Inst docker-ce [5:27.5.1-1~ubuntu.22.04~jammy] (5:28.2.2-1~ubuntu.22.04~jammy Docker CE:jammy [arm64])
Inst libdevmapper-event1.02.1 [2:1.02.175-2.1ubuntu4] (2:1.02.175-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Inst dmsetup [2:1.02.175-2.1ubuntu4] (2:1.02.175-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Inst liblvm2cmd2.03 [2.03.11-2.1ubuntu4] (2.03.11-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Inst dmeventd [2:1.02.175-2.1ubuntu4] (2:1.02.175-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Inst lvm2 [2.03.11-2.1ubuntu4] (2.03.11-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Inst openssh-sftp-server [1:8.9p1-3ubuntu0.10] (1:8.9p1-3ubuntu0.13 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst openssh-server [1:8.9p1-3ubuntu0.10] (1:8.9p1-3ubuntu0.13 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst openssh-client [1:8.9p1-3ubuntu0.10] (1:8.9p1-3ubuntu0.13 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libpython2.7 [2.7.18-13ubuntu1.4] (2.7.18-13ubuntu1.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst python2.7 [2.7.18-13ubuntu1.4] (2.7.18-13ubuntu1.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libpython2.7-stdlib [2.7.18-13ubuntu1.4] (2.7.18-13ubuntu1.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst python2.7-minimal [2.7.18-13ubuntu1.4] (2.7.18-13ubuntu1.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libpython2.7-minimal [2.7.18-13ubuntu1.4] (2.7.18-13ubuntu1.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst distro-info-data [0.52ubuntu0.8] (0.52ubuntu0.9 Ubuntu:22.04/jammy-updates [all])
Inst libcap2-bin [1:2.44-1ubuntu0.22.04.1] (1:2.44-1ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libxml2-dev [2.9.13+dfsg-1ubuntu0.4] (2.9.13+dfsg-1ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libxml2 [2.9.13+dfsg-1ubuntu0.4] (2.9.13+dfsg-1ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst locales [2.35-0ubuntu3.8] (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst openssl [3.0.2-0ubuntu1.18] (3.0.2-0ubuntu1.19 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst python3-setuptools [59.6.0-1.2ubuntu0.22.04.2] (59.6.0-1.2ubuntu0.22.04.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all]) []
Inst python3-pkg-resources [59.6.0-1.2ubuntu0.22.04.2] (59.6.0-1.2ubuntu0.22.04.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst tzdata [2024a-0ubuntu0.22.04.1] (2025b-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst ubuntu-advantage-tools [30~22.04] (35.1ubuntu0~22.04 Ubuntu:22.04/jammy-updates [all]) []
Inst ubuntu-pro-client (35.1ubuntu0~22.04 Ubuntu:22.04/jammy-updates [arm64])
Inst ubuntu-pro-client-l10n (35.1ubuntu0~22.04 Ubuntu:22.04/jammy-updates [arm64])
Inst vim [2:8.2.3995-1ubuntu2.21] (2:8.2.3995-1ubuntu2.24 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst vim-runtime [2:8.2.3995-1ubuntu2.21] (2:8.2.3995-1ubuntu2.24 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all]) []
Inst xxd [2:8.2.3995-1ubuntu2.21] (2:8.2.3995-1ubuntu2.24 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst vim-common [2:8.2.3995-1ubuntu2.21] (2:8.2.3995-1ubuntu2.24 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst bind9-host [1:9.18.28-0ubuntu0.22.04.1] (1:9.18.30-0ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst bind9-libs [1:9.18.28-0ubuntu0.22.04.1] (1:9.18.30-0ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst pci.ids [0.0~2022.01.22-1] (0.0~2022.01.22-1ubuntu0.1 Ubuntu:22.04/jammy-updates [all])
Inst gnome-shell [42.9-0ubuntu2.2] (42.9-0ubuntu2.3 Ubuntu:22.04/jammy-updates [arm64]) []
Inst gnome-shell-common [42.9-0ubuntu2.2] (42.9-0ubuntu2.3 Ubuntu:22.04/jammy-updates [all])
Inst libgstreamer1.0-dev [1.20.3-0ubuntu1] (1.20.3-0ubuntu1.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libgstreamer1.0-0 [1.20.3-0ubuntu1] (1.20.3-0ubuntu1.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst gir1.2-gstreamer-1.0 [1.20.3-0ubuntu1] (1.20.3-0ubuntu1.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libbluetooth3 [5.64-0ubuntu1.3] (5.64-0ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst network-manager [1.36.6-0ubuntu2] (1.36.6-0ubuntu2.1 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libnm0 [1.36.6-0ubuntu2] (1.36.6-0ubuntu2.1 Ubuntu:22.04/jammy-updates [arm64])
Inst gir1.2-nm-1.0 [1.36.6-0ubuntu2] (1.36.6-0ubuntu2.1 Ubuntu:22.04/jammy-updates [arm64])
Inst libsoup2.4-common [2.74.2-3ubuntu0.1] (2.74.2-3ubuntu0.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst gir1.2-soup-2.4 [2.74.2-3ubuntu0.1] (2.74.2-3ubuntu0.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libsoup-gnome2.4-1 [2.74.2-3ubuntu0.1] (2.74.2-3ubuntu0.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libsoup2.4-1 [2.74.2-3ubuntu0.1] (2.74.2-3ubuntu0.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst gir1.2-webkit2-4.0 [2.46.3-0ubuntu0.22.04.1] (2.48.3-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst gir1.2-javascriptcoregtk-4.0 [2.46.3-0ubuntu0.22.04.1] (2.48.3-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libwebkit2gtk-4.0-37 [2.46.3-0ubuntu0.22.04.1] (2.48.3-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libjavascriptcoregtk-4.0-18 [2.46.3-0ubuntu0.22.04.1] (2.48.3-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst gstreamer1.0-plugins-base [1.20.1-1ubuntu0.2] (1.20.1-1ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libfreetype-dev [2.11.1+dfsg-1ubuntu0.2] (2.11.1+dfsg-1ubuntu0.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [libfreetype6-dev:arm64 ]
Inst libfreetype6-dev [2.11.1+dfsg-1ubuntu0.2] (2.11.1+dfsg-1ubuntu0.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libfreetype6 [2.11.1+dfsg-1ubuntu0.2] (2.11.1+dfsg-1ubuntu0.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libxslt1.1 [1.1.34-4ubuntu0.22.04.1] (1.1.34-4ubuntu0.22.04.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst python3-update-manager [1:22.04.21] (1:22.04.22 Ubuntu:22.04/jammy-updates [all]) [update-manager-core:arm64 ]
Inst update-manager-core [1:22.04.21] (1:22.04.22 Ubuntu:22.04/jammy-updates [all]) [update-manager:arm64 ]
Inst update-manager [1:22.04.21] (1:22.04.22 Ubuntu:22.04/jammy-updates [all])
Inst python3-problem-report [2.20.11-0ubuntu82.6] (2.20.11-0ubuntu82.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst python3-apport [2.20.11-0ubuntu82.6] (2.20.11-0ubuntu82.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst apport [2.20.11-0ubuntu82.6] (2.20.11-0ubuntu82.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst apport-gtk [2.20.11-0ubuntu82.6] (2.20.11-0ubuntu82.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst libctf0 [2.38-4ubuntu2.6] (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libctf-nobfd0 [2.38-4ubuntu2.6] (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst binutils-aarch64-linux-gnu [2.38-4ubuntu2.6] (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [binutils:arm64 ]
Inst libbinutils [2.38-4ubuntu2.6] (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [binutils:arm64 ]
Inst binutils [2.38-4ubuntu2.6] (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst binutils-common [2.38-4ubuntu2.6] (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst bluez-obexd [5.64-0ubuntu1.3] (5.64-0ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst cryptsetup-bin [2:2.4.3-1ubuntu1.2] (2:2.4.3-1ubuntu1.3 Ubuntu:22.04/jammy-updates [arm64])
Inst cuda-cccl-12-6 [12.6.37-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-toolkit-config-common [12.6.68-1] (12.9.79-1 NVIDIA CUDA:developer.download.nvidia.com [all])
Inst cuda-toolkit-12-config-common [12.6.68-1] (12.9.79-1 NVIDIA CUDA:developer.download.nvidia.com [all])
Inst cuda-toolkit-12-6-config-common [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [all])
Inst cuda-cudart-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-driver-dev-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-cudart-dev-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-nvcc-12-6 [12.6.68-1] (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst cuda-nvvm-12-6 [12.6.68-1] (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst cuda-crt-12-6 [12.6.68-1] (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-cuobjdump-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-cupti-12-6 [12.6.68-1] (12.6.80-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-cupti-dev-12-6 [12.6.68-1] (12.6.80-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-cuxxfilt-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-documentation-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-nvdisasm-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-gdb-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-nvml-dev-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-nvprune-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-nvrtc-12-6 [12.6.68-1] (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-nvrtc-dev-12-6 [12.6.68-1] (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-nvtx-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-profiler-api-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst cuda-sanitizer-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst dns-root-data [2023112702~ubuntu0.22.04.1] (2024071801~ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates [all])
Inst docker-buildx-plugin [0.20.0-1~ubuntu.22.04~jammy] (0.24.0-1~ubuntu.22.04~jammy Docker CE:jammy [arm64])
Inst docker-ce-rootless-extras [5:27.5.1-1~ubuntu.22.04~jammy] (5:28.2.2-1~ubuntu.22.04~jammy Docker CE:jammy [arm64])
Inst docker-compose-plugin [2.32.4-1~ubuntu.22.04~jammy] (2.36.2-1~ubuntu.22.04~jammy Docker CE:jammy [arm64])
Inst ethtool [1:5.16-1ubuntu0.1] (1:5.16-1ubuntu0.2 Ubuntu:22.04/jammy-updates [arm64])
Inst fonts-opensymbol [2:102.12+LibO7.3.7-0ubuntu0.22.04.7] (2:102.12+LibO7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst ghostscript-x [9.55.0~dfsg1-0ubuntu5.10] (9.55.0~dfsg1-0ubuntu5.11 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst ghostscript [9.55.0~dfsg1-0ubuntu5.10] (9.55.0~dfsg1-0ubuntu5.11 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libgs9 [9.55.0~dfsg1-0ubuntu5.10] (9.55.0~dfsg1-0ubuntu5.11 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libgs9-common [9.55.0~dfsg1-0ubuntu5.10] (9.55.0~dfsg1-0ubuntu5.11 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst libpackagekit-glib2-18 [1.2.5-2ubuntu2] (1.2.5-2ubuntu3 Ubuntu:22.04/jammy-updates [arm64])
Inst gir1.2-packagekitglib-1.0 [1.2.5-2ubuntu2] (1.2.5-2ubuntu3 Ubuntu:22.04/jammy-updates [arm64])
Inst git-man [1:2.34.1-1ubuntu1.11] (1:2.34.1-1ubuntu1.12 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst gstreamer1.0-alsa [1.20.1-1ubuntu0.2] (1.20.1-1ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst gstreamer1.0-gl [1.20.1-1ubuntu0.2] (1.20.1-1ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst gstreamer1.0-gtk3 [1.20.3-0ubuntu1.1] (1.20.3-0ubuntu1.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst packagekit-tools [1.2.5-2ubuntu2] (1.2.5-2ubuntu3 Ubuntu:22.04/jammy-updates [arm64]) []
Inst gstreamer1.0-packagekit [1.2.5-2ubuntu2] (1.2.5-2ubuntu3 Ubuntu:22.04/jammy-updates [arm64]) []
Inst packagekit [1.2.5-2ubuntu2] (1.2.5-2ubuntu3 Ubuntu:22.04/jammy-updates [arm64])
Inst gstreamer1.0-plugins-base-apps [1.20.1-1ubuntu0.2] (1.20.1-1ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst gstreamer1.0-pulseaudio [1.20.3-0ubuntu1.1] (1.20.3-0ubuntu1.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst gstreamer1.0-x [1.20.1-1ubuntu0.2] (1.20.1-1ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst initramfs-tools [0.140ubuntu13.4] (0.140ubuntu13.5 Ubuntu:22.04/jammy-updates [all]) []
Inst initramfs-tools-core [0.140ubuntu13.4] (0.140ubuntu13.5 Ubuntu:22.04/jammy-updates [all]) []
Inst initramfs-tools-bin [0.140ubuntu13.4] (0.140ubuntu13.5 Ubuntu:22.04/jammy-updates [arm64])
Inst linux-base [4.5ubuntu9] (4.5ubuntu9+22.04.1 Ubuntu:22.04/jammy-updates [all])
Inst libabsl20210324 [0~20210324.2-2] (0~20210324.2-2ubuntu0.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libaom3 [3.3.0-1] (3.3.0-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libcublas-12-6 [12.6.1.4-1] (12.6.4.1-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcublas-dev-12-6 [12.6.1.4-1] (12.6.4.1-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcudla-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcudla-dev-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcudnn9-dev-cuda-12 [9.3.0.75-1] (9.10.2.21-1 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libcudnn9-headers-cuda-12 (9.10.2.21-1 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libcudnn9-cuda-12 [9.3.0.75-1] (9.10.2.21-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcudnn9-samples [9.3.0.75-1] (9.10.2.21-1 NVIDIA CUDA:developer.download.nvidia.com [all])
Inst libcufft-12-6 [11.2.6.59-1] (11.3.0.4-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcufft-dev-12-6 [11.2.6.59-1] (11.3.0.4-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcurand-12-6 [10.3.7.68-1] (10.3.7.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcurand-dev-12-6 [10.3.7.68-1] (10.3.7.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcusolver-12-6 [11.6.4.69-1] (11.7.1.2-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcusolver-dev-12-6 [11.6.4.69-1] (11.7.1.2-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcusparse-12-6 [12.5.3.3-1] (12.5.4.2-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcusparse-dev-12-6 [12.5.3.3-1] (12.5.4.2-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcusparselt0 [0.7.0.0-1] (0.7.1.0-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libcusparselt-dev [0.7.0.0-1] (0.7.1.0-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libglib2.0-doc [2.72.4-0ubuntu2.4] (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst libiniparser1 [4.1-4ubuntu4.1] (4.1-4ubuntu4.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libmalcontent-0-0 [0.10.4-1] (0.10.4-1ubuntu0.22.04 Ubuntu:22.04/jammy-updates [arm64])
Inst libmbim-proxy [1.28.0-1~ubuntu20.04.1] (1.28.0-1~ubuntu20.04.2 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libmbim-glib4 [1.28.0-1~ubuntu20.04.1] (1.28.0-1~ubuntu20.04.2 Ubuntu:22.04/jammy-updates [arm64])
Inst libmysqlclient21 [8.0.40-0ubuntu0.22.04.1] (8.0.42-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst nautilus [1:42.6-0ubuntu1] (1:42.6-0ubuntu2 Ubuntu:22.04/jammy-updates [arm64]) []
Inst nautilus-data [1:42.6-0ubuntu1] (1:42.6-0ubuntu2 Ubuntu:22.04/jammy-updates [all]) []
Inst libnautilus-extension1a [1:42.6-0ubuntu1] (1:42.6-0ubuntu2 Ubuntu:22.04/jammy-updates [arm64])
Inst libnvfatbin-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libnvfatbin-dev-12-6 [12.6.68-1] (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libnvidia-container1 [1.16.2-1] (1.17.8-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libnvidia-container-tools [1.16.2-1] (1.17.8-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst tensorrt [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-bin [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst tensorrt-libs [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst python3-libnvinfer-dev [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst python3-libnvinfer [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-samples [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [all]) []
Inst libnvonnxparsers-dev [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvonnxparsers10 [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-vc-plugin-dev [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-headers-plugin-dev [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) [libnvinfer-plugin-dev:arm64 ]
Inst libnvinfer-plugin-dev [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-lean-dev [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-dispatch-dev [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-headers-dev [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) [libnvinfer-dev:arm64 ]
Inst libnvinfer-dev [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst python3-libnvinfer-dispatch [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-dispatch10 [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-vc-plugin10 [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-plugin10 [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst python3-libnvinfer-lean [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer-lean10 [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst libnvinfer10 [10.3.0.30-1+cuda12.5] (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libnvjitlink-12-6 [12.6.68-1] (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst libnvjitlink-dev-12-6 [12.6.68-1] (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst poppler-utils [22.02.0-2ubuntu0.5] (22.02.0-2ubuntu0.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libpoppler-glib8 [22.02.0-2ubuntu0.5] (22.02.0-2ubuntu0.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libpoppler118 [22.02.0-2ubuntu0.5] (22.02.0-2ubuntu0.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libpq5 [14.15-0ubuntu0.22.04.1] (14.18-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst librbd1 [17.2.7-0ubuntu0.22.04.1] (17.2.7-0ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst librados2 [17.2.7-0ubuntu0.22.04.1] (17.2.7-0ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libraptor2-0 [2.0.15-0ubuntu4] (2.0.15-0ubuntu4.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libraw20 [0.20.2-2ubuntu2.22.04.1] (0.20.2-2ubuntu2.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libuno-sal3 [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libuno-salhelpergcc3-3 [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libuno-cppu3 [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libuno-cppuhelpergcc3-3 [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst ure [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst uno-libs-private [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libuno-purpenvhelpergcc3-3 [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libreoffice-calc [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libreoffice-impress [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libreoffice-draw [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libreoffice-math [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libreoffice-common [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all]) []
Inst libreoffice-gnome [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libreoffice-gtk3 [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libreoffice-base-core [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [libreoffice-writer:arm64 ]
Inst python3-uno [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [libreoffice-writer:arm64 ]
Inst libreoffice-writer [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libreoffice-core [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libreoffice-style-colibre [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst libreoffice-style-breeze [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst libreoffice-style-elementary [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst libreoffice-style-yaru [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst libsndfile1 [1.0.31-2ubuntu0.1] (1.0.31-2ubuntu0.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst libsnmp-base [5.9.1+dfsg-1ubuntu2.6] (5.9.1+dfsg-1ubuntu2.8 Ubuntu:22.04/jammy-updates [all])
Inst libsnmp40 [5.9.1+dfsg-1ubuntu2.6] (5.9.1+dfsg-1ubuntu2.8 Ubuntu:22.04/jammy-updates [arm64])
Inst libvpx7 [1.11.0-2ubuntu2.3] (1.11.0-2ubuntu2.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst yelp-xsl [42.0-1] (42.0-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst yelp [42.1-1] (42.1-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) []
Inst libyelp0 [42.1-1] (42.1-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst linux-firmware [20220329.git681281e4-0ubuntu3.36] (20220329.git681281e4-0ubuntu3.37 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst net-tools [1.60+git20181103.0eebece-1ubuntu5] (1.60+git20181103.0eebece-1ubuntu5.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst network-manager-config-connectivity-ubuntu [1.36.6-0ubuntu2] (1.36.6-0ubuntu2.1 Ubuntu:22.04/jammy-updates [all])
Inst nvidia-container-toolkit [1.16.2-1] (1.17.8-1 NVIDIA CUDA:developer.download.nvidia.com [arm64]) []
Inst nvidia-container-toolkit-base [1.16.2-1] (1.17.8-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Inst python3-paramiko [2.9.3-0ubuntu1.2] (2.9.3-0ubuntu1.3 Ubuntu:22.04/jammy-updates [all])
Inst python3-protobuf [3.12.4-1ubuntu7.22.04.1] (3.12.4-1ubuntu7.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst python3-requests [2.25.1+dfsg-2ubuntu0.1] (2.25.1+dfsg-2ubuntu0.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst snapd [2.66.1+22.04] (2.67.1+22.04 Ubuntu:22.04/jammy-updates [arm64])
Inst thunderbird [1:115.16.0+build2-0ubuntu0.22.04.1] (1:115.18.0+build1-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64]) [thunderbird-gnome-support:arm64 ]
Inst thunderbird-gnome-support [1:115.16.0+build2-0ubuntu0.22.04.1] (1:115.18.0+build1-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst wireless-regdb [2022.06.06-0ubuntu1~22.04.1] (2024.10.07-0ubuntu1~22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst wpasupplicant [2:2.10-6ubuntu2.1] (2:2.10-6ubuntu2.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Inst xserver-xephyr [2:21.1.4-2ubuntu1.7~22.04.12] (2:21.1.4-2ubuntu1.7~22.04.14 Ubuntu:22.04/jammy-updates [arm64])
Inst xwayland [2:22.1.1-1ubuntu0.14] (2:22.1.1-1ubuntu0.18 Ubuntu:22.04/jammy-updates [arm64])
Inst gnupg2 [2.2.27-3ubuntu2.1] (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Inst libgl1-mesa-dev [23.2.1-1ubuntu3.1~22.04.2] (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64])
Inst sssd [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst python3-sss [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst sssd-proxy [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst sssd-krb5 [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst sssd-ad [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst sssd-ldap [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst sssd-ipa [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst sssd-krb5-common [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst sssd-ad-common [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst sssd-common [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libnss-sss [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libpam-sss [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libsss-certmap0 [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libsss-nss-idmap0 [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libsss-idmap0 [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64]) []
Inst libipa-hbac0 [2.6.3-1ubuntu3.4] (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Inst libreoffice-pdfimport [1:7.3.7-0ubuntu0.22.04.7] (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libperl5.34 (5.34.0-3ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf perl (5.34.0-3ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf perl-modules-5.34 (5.34.0-3ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libc6-dbg (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libc6-dev (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libc-dev-bin (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf linux-libc-dev (5.15.0-141.151 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libsystemd-dev (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libnss-systemd (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf xserver-common (2:21.1.4-2ubuntu1.7~22.04.14 Ubuntu:22.04/jammy-updates [all])
Conf xserver-xorg-legacy (2:21.1.4-2ubuntu1.7~22.04.14 Ubuntu:22.04/jammy-updates [arm64])
Conf libudev-dev (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf xserver-xorg-core (2:21.1.4-2ubuntu1.7~22.04.14 Ubuntu:22.04/jammy-updates [arm64])
Conf systemd-timesyncd (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf systemd-sysv (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf systemd-oomd (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf systemd-journal-remote (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpam-systemd (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf systemd (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf bluez (5.64-0ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf udev (249.11-0ubuntu3.16 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libglib2.0-dev (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libglib2.0-dev-bin (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libglib2.0-data (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libelf-dev (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libdw-dev (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libdebuginfod-common (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libgnutls28-dev (3.7.3-4ubuntu1.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libgnutls-openssl27 (3.7.3-4ubuntu1.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libgnutlsxx28 (3.7.3-4ubuntu1.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libtasn1-6-dev (4.18.0-4ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libunbound8 (1.13.1-1ubuntu5.10 Ubuntu:22.04/jammy-updates [arm64])
Conf libgnutls-dane0 (3.7.3-4ubuntu1.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf ldap-utils (2.5.19+dfsg-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates [arm64])
Conf libldap-2.5-0 (2.5.19+dfsg-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates [arm64])
Conf libcurl3-gnutls (7.81.0-1ubuntu1.20 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libdebuginfod1 (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libdw1 (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libelf1 (0.186-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libglib2.0-bin (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python3.10-dev (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libexpat1-dev (2.4.7-1ubuntu0.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libexpat1 (2.4.7-1ubuntu0.6 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpython3.10-dev (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpython3.10 (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libsqlite3-0 (3.37.2-2ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python3.10-venv (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python3.10 (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpython3.10-stdlib (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python3.10-minimal (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpython3.10-minimal (3.10.12-1~22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python3-setuptools-whl (59.6.0-1.2ubuntu0.22.04.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libglib2.0-tests (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libglib2.0-0 (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libgl1-mesa-dri (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64])
Conf libglx-mesa0 (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64])
Conf libegl-mesa0 (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64])
Conf libglapi-mesa (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64])
Conf libgbm-dev (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64])
Conf libgbm1 (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64])
Conf libdevmapper1.02.1 (2:1.02.175-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Conf libcryptsetup12 (2:2.4.3-1ubuntu1.3 Ubuntu:22.04/jammy-updates [arm64])
Conf gpg-wks-client (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf dirmngr (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gpg-wks-server (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gnupg-utils (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gpg-agent (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gpg (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gpgconf (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gnupg-l10n (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf gnupg (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf gpgsm (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libopencv-dev (4.8.0-1-g6371ee1 L4T Jetson r36.4:stable [arm64])
Conf rsync (3.2.7-0ubuntu0.22.04.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf docker-ce-cli (5:28.2.2-1~ubuntu.22.04~jammy Docker CE:jammy [arm64])
Conf containerd.io (1.7.27-1 Docker CE:jammy [arm64])
Conf docker-ce (5:28.2.2-1~ubuntu.22.04~jammy Docker CE:jammy [arm64])
Conf libdevmapper-event1.02.1 (2:1.02.175-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Conf dmsetup (2:1.02.175-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Conf liblvm2cmd2.03 (2.03.11-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Conf dmeventd (2:1.02.175-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Conf lvm2 (2.03.11-2.1ubuntu5 Ubuntu:22.04/jammy-updates [arm64])
Conf openssh-sftp-server (1:8.9p1-3ubuntu0.13 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf openssh-server (1:8.9p1-3ubuntu0.13 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf openssh-client (1:8.9p1-3ubuntu0.13 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpython2.7 (2.7.18-13ubuntu1.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python2.7 (2.7.18-13ubuntu1.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpython2.7-stdlib (2.7.18-13ubuntu1.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python2.7-minimal (2.7.18-13ubuntu1.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpython2.7-minimal (2.7.18-13ubuntu1.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf distro-info-data (0.52ubuntu0.9 Ubuntu:22.04/jammy-updates [all])
Conf libcap2-bin (1:2.44-1ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libxml2-dev (2.9.13+dfsg-1ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libxml2 (2.9.13+dfsg-1ubuntu0.7 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf locales (2.35-0ubuntu3.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf openssl (3.0.2-0ubuntu1.19 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python3-setuptools (59.6.0-1.2ubuntu0.22.04.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf python3-pkg-resources (59.6.0-1.2ubuntu0.22.04.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf tzdata (2025b-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf ubuntu-advantage-tools (35.1ubuntu0~22.04 Ubuntu:22.04/jammy-updates [all])
Conf ubuntu-pro-client (35.1ubuntu0~22.04 Ubuntu:22.04/jammy-updates [arm64])
Conf ubuntu-pro-client-l10n (35.1ubuntu0~22.04 Ubuntu:22.04/jammy-updates [arm64])
Conf vim (2:8.2.3995-1ubuntu2.24 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf vim-runtime (2:8.2.3995-1ubuntu2.24 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf xxd (2:8.2.3995-1ubuntu2.24 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf vim-common (2:8.2.3995-1ubuntu2.24 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf bind9-host (1:9.18.30-0ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf bind9-libs (1:9.18.30-0ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf pci.ids (0.0~2022.01.22-1ubuntu0.1 Ubuntu:22.04/jammy-updates [all])
Conf gnome-shell (42.9-0ubuntu2.3 Ubuntu:22.04/jammy-updates [arm64])
Conf gnome-shell-common (42.9-0ubuntu2.3 Ubuntu:22.04/jammy-updates [all])
Conf libgstreamer1.0-dev (1.20.3-0ubuntu1.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libgstreamer1.0-0 (1.20.3-0ubuntu1.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gir1.2-gstreamer-1.0 (1.20.3-0ubuntu1.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libbluetooth3 (5.64-0ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf network-manager (1.36.6-0ubuntu2.1 Ubuntu:22.04/jammy-updates [arm64])
Conf libnm0 (1.36.6-0ubuntu2.1 Ubuntu:22.04/jammy-updates [arm64])
Conf gir1.2-nm-1.0 (1.36.6-0ubuntu2.1 Ubuntu:22.04/jammy-updates [arm64])
Conf libsoup2.4-common (2.74.2-3ubuntu0.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf gir1.2-soup-2.4 (2.74.2-3ubuntu0.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libsoup-gnome2.4-1 (2.74.2-3ubuntu0.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libsoup2.4-1 (2.74.2-3ubuntu0.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gir1.2-webkit2-4.0 (2.48.3-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gir1.2-javascriptcoregtk-4.0 (2.48.3-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libwebkit2gtk-4.0-37 (2.48.3-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libjavascriptcoregtk-4.0-18 (2.48.3-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gstreamer1.0-plugins-base (1.20.1-1ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libfreetype-dev (2.11.1+dfsg-1ubuntu0.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libfreetype6-dev (2.11.1+dfsg-1ubuntu0.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libfreetype6 (2.11.1+dfsg-1ubuntu0.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libxslt1.1 (1.1.34-4ubuntu0.22.04.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python3-update-manager (1:22.04.22 Ubuntu:22.04/jammy-updates [all])
Conf update-manager-core (1:22.04.22 Ubuntu:22.04/jammy-updates [all])
Conf update-manager (1:22.04.22 Ubuntu:22.04/jammy-updates [all])
Conf python3-problem-report (2.20.11-0ubuntu82.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf python3-apport (2.20.11-0ubuntu82.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf apport (2.20.11-0ubuntu82.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf apport-gtk (2.20.11-0ubuntu82.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libctf0 (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libctf-nobfd0 (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf binutils-aarch64-linux-gnu (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libbinutils (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf binutils (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf binutils-common (2.38-4ubuntu2.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf bluez-obexd (5.64-0ubuntu1.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf cryptsetup-bin (2:2.4.3-1ubuntu1.3 Ubuntu:22.04/jammy-updates [arm64])
Conf cuda-cccl-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-toolkit-config-common (12.9.79-1 NVIDIA CUDA:developer.download.nvidia.com [all])
Conf cuda-toolkit-12-config-common (12.9.79-1 NVIDIA CUDA:developer.download.nvidia.com [all])
Conf cuda-toolkit-12-6-config-common (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [all])
Conf cuda-cudart-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-driver-dev-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-cudart-dev-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-nvcc-12-6 (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-nvvm-12-6 (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-crt-12-6 (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-cuobjdump-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-cupti-12-6 (12.6.80-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-cupti-dev-12-6 (12.6.80-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-cuxxfilt-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-documentation-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-nvdisasm-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-gdb-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-nvml-dev-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-nvprune-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-nvrtc-12-6 (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-nvrtc-dev-12-6 (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-nvtx-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-profiler-api-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf cuda-sanitizer-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf dns-root-data (2024071801~ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates [all])
Conf docker-buildx-plugin (0.24.0-1~ubuntu.22.04~jammy Docker CE:jammy [arm64])
Conf docker-ce-rootless-extras (5:28.2.2-1~ubuntu.22.04~jammy Docker CE:jammy [arm64])
Conf docker-compose-plugin (2.36.2-1~ubuntu.22.04~jammy Docker CE:jammy [arm64])
Conf ethtool (1:5.16-1ubuntu0.2 Ubuntu:22.04/jammy-updates [arm64])
Conf fonts-opensymbol (2:102.12+LibO7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf ghostscript-x (9.55.0~dfsg1-0ubuntu5.11 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf ghostscript (9.55.0~dfsg1-0ubuntu5.11 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libgs9 (9.55.0~dfsg1-0ubuntu5.11 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libgs9-common (9.55.0~dfsg1-0ubuntu5.11 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libpackagekit-glib2-18 (1.2.5-2ubuntu3 Ubuntu:22.04/jammy-updates [arm64])
Conf gir1.2-packagekitglib-1.0 (1.2.5-2ubuntu3 Ubuntu:22.04/jammy-updates [arm64])
Conf git-man (1:2.34.1-1ubuntu1.12 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf gstreamer1.0-alsa (1.20.1-1ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gstreamer1.0-gl (1.20.1-1ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gstreamer1.0-gtk3 (1.20.3-0ubuntu1.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf packagekit-tools (1.2.5-2ubuntu3 Ubuntu:22.04/jammy-updates [arm64])
Conf gstreamer1.0-packagekit (1.2.5-2ubuntu3 Ubuntu:22.04/jammy-updates [arm64])
Conf packagekit (1.2.5-2ubuntu3 Ubuntu:22.04/jammy-updates [arm64])
Conf gstreamer1.0-plugins-base-apps (1.20.1-1ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gstreamer1.0-pulseaudio (1.20.3-0ubuntu1.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf gstreamer1.0-x (1.20.1-1ubuntu0.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf initramfs-tools (0.140ubuntu13.5 Ubuntu:22.04/jammy-updates [all])
Conf initramfs-tools-core (0.140ubuntu13.5 Ubuntu:22.04/jammy-updates [all])
Conf initramfs-tools-bin (0.140ubuntu13.5 Ubuntu:22.04/jammy-updates [arm64])
Conf linux-base (4.5ubuntu9+22.04.1 Ubuntu:22.04/jammy-updates [all])
Conf libabsl20210324 (0~20210324.2-2ubuntu0.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libaom3 (3.3.0-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libcublas-12-6 (12.6.4.1-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcublas-dev-12-6 (12.6.4.1-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcudla-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcudla-dev-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcudnn9-dev-cuda-12 (9.10.2.21-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcudnn9-headers-cuda-12 (9.10.2.21-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcudnn9-cuda-12 (9.10.2.21-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcudnn9-samples (9.10.2.21-1 NVIDIA CUDA:developer.download.nvidia.com [all])
Conf libcufft-12-6 (11.3.0.4-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcufft-dev-12-6 (11.3.0.4-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcurand-12-6 (10.3.7.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcurand-dev-12-6 (10.3.7.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcusolver-12-6 (11.7.1.2-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcusolver-dev-12-6 (11.7.1.2-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcusparse-12-6 (12.5.4.2-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcusparse-dev-12-6 (12.5.4.2-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcusparselt0 (0.7.1.0-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libcusparselt-dev (0.7.1.0-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libglib2.0-doc (2.72.4-0ubuntu2.5 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libiniparser1 (4.1-4ubuntu4.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libmalcontent-0-0 (0.10.4-1ubuntu0.22.04 Ubuntu:22.04/jammy-updates [arm64])
Conf libmbim-proxy (1.28.0-1~ubuntu20.04.2 Ubuntu:22.04/jammy-updates [arm64])
Conf libmbim-glib4 (1.28.0-1~ubuntu20.04.2 Ubuntu:22.04/jammy-updates [arm64])
Conf libmysqlclient21 (8.0.42-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf nautilus (1:42.6-0ubuntu2 Ubuntu:22.04/jammy-updates [arm64])
Conf nautilus-data (1:42.6-0ubuntu2 Ubuntu:22.04/jammy-updates [all])
Conf libnautilus-extension1a (1:42.6-0ubuntu2 Ubuntu:22.04/jammy-updates [arm64])
Conf libnvfatbin-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvfatbin-dev-12-6 (12.6.77-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvidia-container1 (1.17.8-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvidia-container-tools (1.17.8-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf tensorrt (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-bin (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf tensorrt-libs (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf python3-libnvinfer-dev (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf python3-libnvinfer (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-samples (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [all])
Conf libnvonnxparsers-dev (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvonnxparsers10 (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-vc-plugin-dev (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-headers-plugin-dev (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-plugin-dev (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-lean-dev (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-dispatch-dev (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-headers-dev (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-dev (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf python3-libnvinfer-dispatch (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-dispatch10 (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-vc-plugin10 (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-plugin10 (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf python3-libnvinfer-lean (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer-lean10 (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvinfer10 (10.7.0.23-1+cuda12.6 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvjitlink-12-6 (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf libnvjitlink-dev-12-6 (12.6.85-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf poppler-utils (22.02.0-2ubuntu0.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpoppler-glib8 (22.02.0-2ubuntu0.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpoppler118 (22.02.0-2ubuntu0.8 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libpq5 (14.18-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf librbd1 (17.2.7-0ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf librados2 (17.2.7-0ubuntu0.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libraptor2-0 (2.0.15-0ubuntu4.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libraw20 (0.20.2-2ubuntu2.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libuno-sal3 (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libuno-salhelpergcc3-3 (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libuno-cppu3 (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libuno-cppuhelpergcc3-3 (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf ure (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf uno-libs-private (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libuno-purpenvhelpergcc3-3 (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libreoffice-calc (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libreoffice-impress (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libreoffice-draw (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libreoffice-math (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libreoffice-common (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libreoffice-gnome (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libreoffice-gtk3 (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libreoffice-base-core (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python3-uno (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libreoffice-writer (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libreoffice-core (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libreoffice-style-colibre (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libreoffice-style-breeze (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libreoffice-style-elementary (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libreoffice-style-yaru (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libsndfile1 (1.0.31-2ubuntu0.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libsnmp-base (5.9.1+dfsg-1ubuntu2.8 Ubuntu:22.04/jammy-updates [all])
Conf libsnmp40 (5.9.1+dfsg-1ubuntu2.8 Ubuntu:22.04/jammy-updates [arm64])
Conf libvpx7 (1.11.0-2ubuntu2.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf yelp-xsl (42.0-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf yelp (42.1-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf libyelp0 (42.1-1ubuntu0.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf linux-firmware (20220329.git681281e4-0ubuntu3.37 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf net-tools (1.60+git20181103.0eebece-1ubuntu5.4 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf network-manager-config-connectivity-ubuntu (1.36.6-0ubuntu2.1 Ubuntu:22.04/jammy-updates [all])
Conf nvidia-container-toolkit (1.17.8-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf nvidia-container-toolkit-base (1.17.8-1 NVIDIA CUDA:developer.download.nvidia.com [arm64])
Conf python3-paramiko (2.9.3-0ubuntu1.3 Ubuntu:22.04/jammy-updates [all])
Conf python3-protobuf (3.12.4-1ubuntu7.22.04.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf python3-requests (2.25.1+dfsg-2ubuntu0.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf snapd (2.67.1+22.04 Ubuntu:22.04/jammy-updates [arm64])
Conf thunderbird (1:115.18.0+build1-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf thunderbird-gnome-support (1:115.18.0+build1-0ubuntu0.22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf wireless-regdb (2024.10.07-0ubuntu1~22.04.1 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf wpasupplicant (2:2.10-6ubuntu2.2 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [arm64])
Conf xserver-xephyr (2:21.1.4-2ubuntu1.7~22.04.14 Ubuntu:22.04/jammy-updates [arm64])
Conf xwayland (2:22.1.1-1ubuntu0.18 Ubuntu:22.04/jammy-updates [arm64])
Conf gnupg2 (2.2.27-3ubuntu2.3 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])
Conf libgl1-mesa-dev (23.2.1-1ubuntu3.1~22.04.3 Ubuntu:22.04/jammy-updates [arm64])
Conf sssd (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf python3-sss (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf sssd-proxy (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf sssd-krb5 (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf sssd-ad (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf sssd-ldap (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf sssd-ipa (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf sssd-krb5-common (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf sssd-ad-common (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf sssd-common (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf libnss-sss (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf libpam-sss (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf libsss-certmap0 (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf libsss-nss-idmap0 (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf libsss-idmap0 (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf libipa-hbac0 (2.6.3-1ubuntu3.5 Ubuntu:22.04/jammy-updates [arm64])
Conf libreoffice-pdfimport (1:7.3.7-0ubuntu0.22.04.10 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [all])

253
random_stuff.py Normal file
View File

@@ -0,0 +1,253 @@
def element_to_string(element, include_props=True):
"""Convert a GStreamer element to string with properties"""
factory_name = element.get_factory().get_name()
result = factory_name
if include_props:
# Get interesting properties
for prop in element.list_properties():
# Skip default values
if element.get_property(prop.name) != prop.default_value:
value = element.get_property(prop.name)
result += f" {prop.name}={value}"
# For containers like bins, recursively process children
if isinstance(element, Gst.Bin):
children = []
for child in element.iterate_elements():
children.append(element_to_string(child, include_props))
if children:
result += " ( " + " ! ".join(children) + " )"
return result
# Example usage
#pipeline = Gst.parse_launch("videotestsrc pattern=ball ! videoconvert ! autovideosink")
#print(element_to_string(pipeline))
def pipeline_to_string(pipeline):
"""Convert a GStreamer pipeline to string representation"""
result = []
if isinstance(pipeline, Gst.Pipeline):
# Get top-level elements
iterator = pipeline.iterate_elements()
elements = list(iterator)
for i, element in enumerate(elements):
# Get element factory name
factory_name = element.get_factory().get_name()
result.append(factory_name)
# Add properties that differ from default
# (This is complex and incomplete)
# Add separator if not the last element
if i < len(elements) - 1:
result.append("!")
return " ".join(result)
# Example usage
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
# Initialize GStreamer
Gst.init(None)
# Create a pipeline
pipeline_description = "videotestsrc pattern=3 ! videoconvert ! autovideosink"
pipeline = Gst.parse_launch(pipeline_description)
def get_pipeline_string(element):
"""Recursively convert elements of a pipeline to a pipeline string."""
if not element:
return ""
iterator = element.iterate_elements()
pipeline_parts = []
while True:
result, elem = iterator.next()
if result == Gst.IteratorResult.OK:
# Get element name
elem_name = elem.get_name()
elem_factory_name = elem.get_factory().get_name()
# Fetch element properties
properties = elem.list_properties()
prop_strings = []
for prop in properties:
try:
prop_value = elem.get_property(prop.name)
prop_strings.append(f'{prop.name}={prop_value}')
except Exception:
pass # Skip properties that cannot be retrieved
# Build string representation of the element
if prop_strings:
element_string = f'{elem_factory_name} {",".join(prop_strings)}'
else:
element_string = elem_factory_name
pipeline_parts.append(element_string)
elif result != Gst.IteratorResult.OK:
break
return " ! ".join(pipeline_parts)
# Convert pipeline to a string
pipeline_string = get_pipeline_string(pipeline)
print(f"Pipeline String: {pipeline_string}")
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
# Initialize GStreamer
Gst.init(None)
# Create a pipeline
pipeline_description = "videotestsrc pattern=3 ! videoconvert ! autovideosink"
pipeline = Gst.parse_launch(pipeline_description)
def get_pipeline_string(element):
"""Recursively convert elements of a pipeline to a pipeline string."""
if not element:
return ""
iterator = element.iterate_elements()
pipeline_parts = []
while True:
result, elem = iterator.next()
if result == Gst.IteratorResult.OK:
# Get element name
elem_name = elem.get_name()
elem_factory_name = elem.get_factory().get_name()
# Fetch element properties
properties = elem.list_properties()
prop_strings = []
for prop in properties:
try:
prop_value = elem.get_property(prop.name)
prop_strings.append(f'{prop.name}={prop_value}')
except Exception:
pass # Skip properties that cannot be retrieved
# Build string representation of the element
if prop_strings:
element_string = f'{elem_factory_name} {",".join(prop_strings)}'
else:
element_string = elem_factory_name
pipeline_parts.append(element_string)
elif result != Gst.IteratorResult.OK:
break
return " ! ".join(pipeline_parts)
# Convert pipeline to a string
pipeline_string = get_pipeline_string(pipeline)
print(f"Pipeline String: {pipeline_string}")
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
# Initialize GStreamer
Gst.init(None)
# Create a pipeline
pipeline_description = "videotestsrc pattern=3 ! videoconvert ! autovideosink"
pipeline = Gst.parse_launch(pipeline_description)
def get_pipeline_string(element):
"""Recursively convert elements of a pipeline to a pipeline string."""
if not element:
return ""
iterator = element.iterate_elements()
pipeline_parts = []
while True:
result, elem = iterator.next()
if result == Gst.IteratorResult.OK:
# Get element name
elem_name = elem.get_name()
elem_factory_name = elem.get_factory().get_name()
# Fetch element properties
properties = elem.list_properties()
prop_strings = []
for prop in properties:
try:
prop_value = elem.get_property(prop.name)
prop_strings.append(f'{prop.name}={prop_value}')
except Exception:
pass # Skip properties that cannot be retrieved
# Build string representation of the element
if prop_strings:
element_string = f'{elem_factory_name} {",".join(prop_strings)}'
else:
element_string = elem_factory_name
pipeline_parts.append(element_string)
elif result != Gst.IteratorResult.OK:
break
return " ! ".join(pipeline_parts)
# Convert pipeline to a string
pipeline_string = get_pipeline_string(pipeline)
print(f"Pipeline String: {pipeline_string}")
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
# Initialize GStreamer
Gst.init(None)
# Create a pipeline
pipeline_description = "videotestsrc pattern=3 ! videoconvert ! autovideosink"
pipeline = Gst.parse_launch(pipeline_description)
def get_pipeline_string(element):
"""Recursively convert elements of a pipeline to a pipeline string."""
if not element:
return ""
iterator = element.iterate_elements()
pipeline_parts = []
while True:
result, elem = iterator.next()
if result == Gst.IteratorResult.OK:
# Get element name
elem_name = elem.get_name()
elem_factory_name = elem.get_factory().get_name()
# Fetch element properties
properties = elem.list_properties()
prop_strings = []
for prop in properties:
try:
prop_value = elem.get_property(prop.name)
prop_strings.append(f'{prop.name}={prop_value}')
except Exception:
pass # Skip properties that cannot be retrieved
# Build string representation of the element
if prop_strings:
element_string = f'{elem_factory_name} {",".join(prop_strings)}'
else:
element_string = elem_factory_name
pipeline_parts.append(element_string)
elif result != Gst.IteratorResult.OK:
break
return " ! ".join(pipeline_parts)

95638
report_dynamo_export.sarif Normal file

File diff suppressed because one or more lines are too long

BIN
saved.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

BIN
short.npz Executable file

Binary file not shown.

View File

@@ -1,24 +1,29 @@
import time
from datetime import datetime
import cv2 import cv2
import numpy
import numpy as np
import onnxruntime as rt
import open_clip
import pycuda.autoinit
import pycuda.driver as cuda
import tensorrt as trt
import torch
from cuda import cuda as ccuda
from cuda import cudart
#cap = cv2.VideoCapture("rtspsrc location=rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov ! application/x-rtp, media=video ! rtph264depay ! h264parse ! nvv4l2decoder ! nvvidconv ! video/x-raw, format=BGRx ! videoconvert ! video/x-raw, format=BGR ! appsink", cv2.CAP_GSTREAMER) cmd = "filesrc location=/home/thebears/local/source/short.mp4 ! qtdemux name=demux demux.video_0 ! queue ! h265parse ! nvv4l2decoder ! nvvidconv ! videoscale method=1 add-borders=false ! video/x-raw,width=1280,height=1280 ! appsink sync=false"
#cmd = 'filesrc location=/home/thebears/local/source/reduced.mp4 ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! nvv4l2decoder ! nvvidconv ! appsink'
cmd = 'filesrc location=/home/thebears/local/source/full.mp4 ! qtdemux name=demux demux.video_0 ! queue ! h265parse ! nvv4l2decoder ! nvvidconv ! appsink sync=false'
#cmd = 'filesrc location=/home/thebears/local/source/full.mp4 ! qtdemux name=demux demux.video_0 ! h265parse ! avdec_h265 ! videoconvert ! appsink'
#cmd = 'videotestsrc ! autovideosink'
cap = cv2.VideoCapture(cmd, cv2.CAP_GSTREAMER) cap = cv2.VideoCapture(cmd, cv2.CAP_GSTREAMER)
import time
st = time.time() st = time.time()
fr = 0 fr = 0
arrays_to_score = list()
imgs = list()
array = list()
while True: while True:
good, frf = cap.read() good, frf = cap.read()
fr += 1 fr += 1
@@ -27,7 +32,169 @@ while True:
break break
array.append(frf)
imgs.append(frf)
if len(array) > 8:
arrays_to_score.append(torch.from_numpy(np.asarray(array)))
array = list()
if len(array) > 0:
arrays_to_score.append(torch.from_numpy(np.asarray(array)))
et = time.time() et = time.time()
print(et - st, fr / (st - et)) print(et - st, fr / (st - et))
# %%
from datetime import datetime
pretrained_name = "webli"
#model_name = "ViT-L-16-SigLIP2-512"
model_name = 'ViT-SO400M-16-SigLIP2-512'
rt_dir ='/home/thebears/local/source/models/'
os.makedirs(rt_dir, exist_ok=True)
fname = model_name.replace('-','_').lower() + '_'+datetime.now().strftime('%Y%m%d')
ONNX_FILE_PATH=os.path.join(rt_dir, fname + '.onnx')
ENGINE_FILE_PATH = os.path.splitext(ONNX_FILE_PATH)[0]+'.engine'
# %%
model, _, preprocess = open_clip.create_model_and_transforms(
model_name, pretrained=pretrained_name
)
# %%
model_gpu = model.cuda()
scores = list()
all_means = list()
with torch.no_grad():
for fr_num, img in enumerate(imgs):
tensor_raw = torch.tensor(img[None,:,:,0:3])
tensor_perm = tensor_raw.permute([0, 3, 1, 2]).to(torch.float32) / 255
tensor_reshaped = preprocess.transforms[0](tensor_perm)
tensor_mean = preprocess.transforms[-1](tensor_reshaped)
all_means.append(tensor_mean)
imp = model_gpu.encode_image(tensor_mean.cuda())
print(fr_num)
scores.append((fr_num, imp.detach().cpu().numpy()))
# %%
np.save('dump_so400m',np.concatenate([x[1] for x in scores]))
# %%
with torch.no_grad():
et = time.time()
if True:
tensor_raw = torch.concat(arrays_to_score)[0:4, :, :, 0:3]
tensor_perm = tensor_raw.permute([0, 3, 1, 2]).to(torch.float32) / 255
tensor_reshaped = preprocess.transforms[0](tensor_perm)
tensor_mean = preprocess.transforms[-1](tensor_reshaped)
else:
tensor_raw = torch.concat(arrays_to_score)[0, :, :, 0:3]
tensor_perm = tensor_raw.permute([0, 3, 1, 2]).to(torch.float32) / 255
tensor_reshaped = preprocess.transforms[1](preprocess.transforms[0](tensor_perm))
tensor_mean = preprocess.transforms[-1](tensor_reshaped)
#imp = model.encode_image(tensor_mean)
imp = model_gpu.encode_image(tensor_mean.cuda())
st = time.time()
print((st - et) / tensor_raw.shape[0], tensor_raw.shape[0]/(st - et) )
from_model_on_gpu = imp.detach().cpu().numpy()
# %%
torch.onnx.export(
model.visual.cuda(),
tensor_mean.cuda(),
ONNX_FILE_PATH,
input_names=["input"],
output_names=["output"],
)
X_test = tensor_mean.cpu().numpy()
sess = rt.InferenceSession(
ONNX_FILE_PATH, providers=rt.get_available_providers())
input_name = sess.get_inputs()[0].name
pred_onx = sess.run(None, {input_name: X_test.astype(numpy.float32)})[0]
print(pred_onx)
def norm(v):
return np.divide(v.T,np.linalg.norm(v,axis=1)).T
print(np.dot(norm(pred_onx), norm(from_model_on_gpu).T))
TRT_LOGGER = trt.Logger()
def build_engine_from_onnx(onnx_file_path, use_fp16=True):
"""
Convert ONNX model to TensorRT engine with FP16 precision
Args:
onnx_file_path: Path to ONNX model
use_fp16: Boolean to enable FP16 mode
Returns:
TensorRT engine
"""
# Logger to capture info/warning/errors
TRT_LOGGER = trt.Logger(trt.Logger.WARNING)
# Create builder and network
builder = trt.Builder(TRT_LOGGER)
network = builder.create_network(
1 << int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH)
)
# Create ONNX parser and parse model
parser = trt.OnnxParser(network, TRT_LOGGER)
with open(onnx_file_path, "rb") as model:
if not parser.parse(model.read()):
for error in range(parser.num_errors):
print(f"ONNX parse error: {parser.get_error(error)}")
raise ValueError(f"Failed to parse ONNX file: {onnx_file_path}")
# Create optimization config
config = builder.create_builder_config()
config.set_memory_pool_limit(trt.MemoryPoolType.WORKSPACE, 1 << 20) # 1 MiB
# Enable FP16 precision if requested and if the GPU supports it
if use_fp16:
if builder.platform_has_fast_fp16:
config.set_flag(trt.BuilderFlag.FP16)
print("FP16 enabled successfully")
else:
print("Warning: GPU doesn't support fast FP16, using FP32 instead")
# Set optimization profile for dynamic shapes (if needed)
# If you have dynamic shapes, you'd need to set min/opt/max dimensions
# Build and serialize engine
engine = builder.build_serialized_network(network, config)
return engine
engine = build_engine_from_onnx(ONNX_FILE_PATH, use_fp16=True)
with open(ENGINE_FILE_PATH, "wb") as f:
f.write(engine)
# %%