Compare commits

..

11 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
3e25de8e55 YACWC 2025-06-12 11:33:55 -04:00
372d9e97a3 added git 2025-06-12 11:33:39 -04:00
74967abe7d added git 2025-06-12 11:33:13 -04:00
23 changed files with 100685 additions and 32 deletions

1361
' Normal file

File diff suppressed because it is too large Load Diff

9
.gitignore vendored Normal file
View File

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

Binary file not shown.

View File

@@ -1,6 +1,9 @@
import numpy as np
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:
@@ -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()])
normed = np.divide(datum.T, np.linalg.norm(datum, axis=1)).T
print('_________________________')
print(len(emb_dict))
print(len(datum))
for fr, emb in emb_dict.items():
emb1 = np.linalg.norm(emb)
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_embedder.link(fakesink2)
print(get_pipeline_string(pipeline))
# 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

1
dump.json Normal file

File diff suppressed because one or more lines are too long

BIN
dump.npz.npy Normal file

Binary file not shown.

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

0
out Normal file
View File

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 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/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'
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"
cap = cv2.VideoCapture(cmd, cv2.CAP_GSTREAMER)
import time
st = time.time()
fr = 0
arrays_to_score = list()
imgs = list()
array = list()
while True:
good, frf = cap.read()
fr += 1
@@ -27,7 +32,169 @@ while True:
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()
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)
# %%