Compare commits
8 Commits
3e25de8e55
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| faff84dd4c | |||
| 74eff0a1fa | |||
| c8dbef2c0f | |||
| 21b7ccb794 | |||
| 1d87063655 | |||
| 81bb9a702a | |||
| f31aa282dd | |||
| 6778393bfd |
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,4 +1,9 @@
|
||||
*.mp4
|
||||
*.engine
|
||||
*.pt
|
||||
*.onnx
|
||||
*.trt
|
||||
*.whl
|
||||
*.npy
|
||||
*.npz
|
||||
runs/
|
||||
|
||||
BIN
__pycache__/model_runner.cpython-310.pyc
Normal file
BIN
__pycache__/model_runner.cpython-310.pyc
Normal file
Binary file not shown.
25
compare.py
25
compare.py
@@ -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
1
deepstream_obj_det.py
Executable file → Normal 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
545
deepstream_obj_det_pre_queue.py
Executable 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
|
||||
|
||||
336
min_repro.py
Normal file
336
min_repro.py
Normal 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
8
ml_run.py
Normal 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
310
model_runner.py
Normal 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
171
models/try_decode.py
Normal 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
79
new_temp.py
Normal 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
228
new_test.py
Normal 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()
|
||||
817
output
Normal file
817
output
Normal 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
253
random_stuff.py
Normal 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
95638
report_dynamo_export.sarif
Normal file
File diff suppressed because one or more lines are too long
193
try_decode.py
193
try_decode.py
@@ -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)
|
||||
|
||||
|
||||
# %%
|
||||
|
||||
Reference in New Issue
Block a user