반응형

1장의 JPEG image 반복으로 display하기

 $ gst-launch-1.0 multifilesrc location=<FILE LOCATION> ! jpegdec ! videoconvert  ! autovideosink

1장의 mp4파일 demux하여 video만 display하기

 $ gst-launch-1.0 filesrc location=<FILE LOCATION> ! qtdemux ! decodebin ! videoconvert ! autovideosink

output 비디오 FPS 변경하기

 $ gst-launch-1.0  ... ! videorate ! video/x-raw,framerate=10/1 ! ...

output 비디오 scale 변경하시

 $ gst-launch-1.0 ... ! videoscale ! video/x-raw,width=640,height=360 ! ...

dot 파일 생성하여, Pipeline 도식화 하기

 $ GST_DEBUG_DUMP_DOT_DIR=./<PATH> gst-launch-1.0 ...

dot 파일 생성

#!/bin/bash

DOT_FILES_DIR="."
PNG_FILES_DIR="."

DOT_FILES=`ls $DOT_FILES_DIR | grep dot`

for D in $DOT_FILES; do
        PNG_FILE=`echo $D | sed s/.dot/.png/`
        echo "dot -Tpng $DOT_FILES_DIR/$D > $PNG_FILES_DIR/$PNG_FILE"
        dot -Tpng $DOT_FILES_DIR/$D > $PNG_FILES_DIR/$PNG_FILE

done

현재 폴더 전체 DOT파일 JPEG파일로 변경

Memory Leak 테스트

 $ GST_TRACERS="leaks(GstBuffer)=TRUE" gst-launch-1.0 ...

Plugin latency 테스트

 $ GST_TRACERS="latency" gst-launch-1.0 ...

Log file 생성

 $ GST_DEBUG_FILE=<FILENAME.log> gst-launch-1.0
반응형
반응형

목적

ONNX Model의 검증이 필요할 때에 간략하게 테스트 하는 방법

Dependency package

Pillow가 없을 경우 pip 설치가 필요함

출력

해당 모델은 customized된 Resnet 모델로 Output이 10개 이하임.
그래서 수치의 결과물을 보기 위한 것으로, 모든 값을 한 행에 출력을 하게끔 작성함.
필요에 따라 적절한 수정이 필요함.

Python Code

import os
import onnxruntime as rt
from PIL import Image
import numpy as np

model_path = 'model path str'
image_dir = 'image path str'
width = 224
height = 224

sess = rt.InferenceSession(model_path)

for filename in os.listdir(image_dir):
    if filename.endswith('.jpg') or filename.endswith('.jpeg'):
        img = Image.open(os.path.join(image_dir, filename))

        img = img.resize((width, height))
        img = np.array(img).astype('float32')

        img = np.expand_dims(img, axis=0)
        img = np.transpose(img, (0, 3, 2, 1))

        input_name = sess.get_inputs()[0].name
        result = sess.run(None, {input_name: img})

        result = np.reshape(result, (-1))
        print("{}: {}".format(filename, ', '.join(np.array2string(r.flatten(), separator=', ', max_line_width=np.inf) for r in result)))
반응형

+ Recent posts