embeded/jetson2022. 3. 29. 11:27

'embeded > jetson' 카테고리의 다른 글

deepstream part.3  (0) 2022.03.29
deepstream onnx part.2  (0) 2022.03.29
deepstream onnx  (0) 2022.03.28
azure custom vision - precision, recall  (0) 2022.03.28
flud nvidia cuda  (0) 2022.03.28
Posted by 구차니
embeded/jetson2022. 3. 28. 17:03

 

[링크 : https://towardsdatascience.com/how-to-deploy-onnx-models-on-nvidia-jetson-nano-using-deepstream-b2872b99a031]

git clone https://github.com/thatbrguy/Deep-Stream-ONNX.git
cd Deep-Stream-ONNX

wget https://github.com/onnx/models/blob/main/vision/object_detection_segmentation/tiny-yolov2/model/tinyyolov2-8.tar.gz
wget https://github.com/onnx/models/blob/main/vision/object_detection_segmentation/tiny-yolov2/model/tinyyolov2-8.tar.gz
# 구글 드라이브 다운로드

tar -xvf sample.tar.gz
tar -xvf tinyyolov2-7.tar.gz
cp tiny_yolov2/Model.onnx tiny_yolov2.onnx

cd custom_bbox_parser/
$ git diff
diff --git a/custom_bbox_parser/Makefile b/custom_bbox_parser/Makefile
index 5bab5a4..b764725 100644
--- a/custom_bbox_parser/Makefile
+++ b/custom_bbox_parser/Makefile
@@ -1,7 +1,8 @@
 CUDA_VER:=10
 SRCFILES:=nvdsparsebbox_tiny_yolo.cpp
 TARGET_LIB:=libnvdsinfer_custom_bbox_tiny_yolo.so
-DEEPSTREAM_PATH:=/home/nano/deepstream_sdk_v4.0_jetson
+#DEEPSTREAM_PATH:=/home/nano/deepstream_sdk_v4.0_jetson
+DEEPSTREAM_PATH:=/opt/nvidia/deepstream/deepstream-6.0

 ifeq ($(CUDA_VER),)
   $(error "CUDA_VER is not set")
diff --git a/custom_bbox_parser/nvdsparsebbox_tiny_yolo.cpp b/custom_bbox_parser/nvdsparsebbox_tiny_yolo.cpp
index c6251e5..0825e68 100644
--- a/custom_bbox_parser/nvdsparsebbox_tiny_yolo.cpp
+++ b/custom_bbox_parser/nvdsparsebbox_tiny_yolo.cpp
@@ -432,7 +432,7 @@ extern "C" bool NvDsInferParseCustomYoloV2Tiny(

     // Obtaining the output layer.
     const NvDsInferLayerInfo &layer = outputLayersInfo[0];
-    assert (layer.dims.numDims == 3);
+    assert (layer.inferDims.numDims == 3);

     // Decoding the output tensor of TinyYOLOv2 to the NvDsInferParseObjectInfo format.
     std::vector<NvDsInferParseObjectInfo> objects =

 

[링크 : https://github.com/thatbrguy/Deep-Stream-ONNX]

 

 

 *** DeepStream: Launched RTSP Streaming at rtsp://localhost:8554/ds-test ***

Opening in BLOCKING MODE
Opening in BLOCKING MODE

Using winsys: x11
WARNING: [TRT]: Detected invalid timing cache, setup a local cache instead
INFO: [Implicit Engine Info]: layers num: 2
0   INPUT  kFLOAT image           3x416x416
1   OUTPUT kFLOAT grid            125x13x13


Runtime commands:
        h: Print this help
        q: Quit

        p: Pause
        r: Resume

NOTE: To expand a source in the 2D tiled display and view object details, left-click on the source.
      To go back to the tiled display, right-click anywhere on the window.


**PERF:  FPS 0 (Avg)    FPS 1 (Avg)     FPS 2 (Avg)     FPS 3 (Avg)
**PERF:  0.00 (0.00)    0.00 (0.00)     0.00 (0.00)     0.00 (0.00)
** INFO: <bus_callback:194>: Pipeline ready

Opening in BLOCKING MODE
Opening in BLOCKING MODE
Opening in BLOCKING MODE
Opening in BLOCKING MODE
** INFO: <bus_callback:180>: Pipeline running



-------------------------------
0:00:00.369440298  8235     0x31571330 WARN                 nvinfer gstnvinfer.cpp:635:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::initialize() <nvdsinfer_context_impl.cpp:1161> [UID = 1]: Warning, OpenCV has been deprecated. Using NMS for clustering instead of cv::groupRectangles with topK = 20 and NMS Threshold = 0.5
ERROR: Deserialize engine failed because file path: /home/jetson/work/Deep-Stream-ONNX/config/../tiny_yolov2.onnx_b1_fp16.engine open error
0:00:01.781999412  8235     0x31571330 WARN                 nvinfer gstnvinfer.cpp:635:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1889> [UID = 1]: deserialize engine from file :/home/jetson/work/Deep-Stream-ONNX/config/../tiny_yolov2.onnx_b1_fp16.engine failed
0:00:01.782126640  8235     0x31571330 WARN                 nvinfer gstnvinfer.cpp:635:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:1996> [UID = 1]: deserialize backend context from engine from file :/home/jetson/work/Deep-Stream-ONNX/config/../tiny_yolov2.onnx_b1_fp16.engine failed, try rebuild
0:00:01.782165021  8235     0x31571330 INFO                 nvinfer gstnvinfer.cpp:638:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1914> [UID = 1]: Trying to create engine from model files
0:01:43.015792426  8235     0x31571330 INFO                 nvinfer gstnvinfer.cpp:638:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1947> [UID = 1]: serialize cuda engine to file: /home/jetson/work/Deep-Stream-ONNX/tiny_yolov2.onnx_b1_gpu0_fp16.engine successfully
0:01:43.196589822  8235     0x31571330 INFO                 nvinfer gstnvinfer_impl.cpp:313:notifyLoadModelStatus:<primary_gie> [UID 1]: Load new model:/home/jetson/work/Deep-Stream-ONNX/config/config_infer_custom_yolo.txt sucessfully
NvMMLiteOpen : Block : BlockType = 261
NvMMLiteOpen : Block : BlockType = 261
NvMMLiteOpen : Block : BlockType = 261
NvMMLiteOpen : Block : BlockType = 261
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 261
NvMMLiteBlockCreate : Block : BlockType = 261
NvMMLiteBlockCreate : Block : BlockType = 261
NvMMLiteBlockCreate : Block : BlockType = 261
NvMMLiteOpen : Block : BlockType = 4
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
NvMMLiteBlockCreate : Block : BlockType = 4
H264: Profile = 66, Level = 0
H264: Profile = 66, Level = 0
NVMEDIA_ENC: bBlitMode is set to TRUE
NVMEDIA_ENC: bBlitMode is set to TRUE
 

'embeded > jetson' 카테고리의 다른 글

deepstream onnx part.2  (0) 2022.03.29
jetson nano python numpy Illegal instruction (core dumped)  (0) 2022.03.29
azure custom vision - precision, recall  (0) 2022.03.28
flud nvidia cuda  (0) 2022.03.28
jetson nano deepstream  (0) 2022.02.10
Posted by 구차니
embeded/jetson2022. 3. 28. 15:59

ms azure의 custon vision 서비스(?)를 이용해서 학습을 시도하는데

"하나의 태그당 15개 이상의 이미지 필요" 라는 제약조건이 걸려있다.

 

학습 시간에 따라서도 다르게 나오긴 한데

4시간 학습 걸어놨는데 1시간 조금 넘어서 멈춘걸 보면

학습치가 수렴하면 자동 종료하게 해둔 듯 한다.

 

 

 

 

 

precision이야 정확도일 것 같고, recall 번역이 안되네 -_ㅠ

"옳을 것으로 예상되어진 모든 태그들 중에 올바르게 찾은 퍼센트"

 

precision은 결과값에 대한 true가 true 인 조건

recall은 원본 데이터의 true에 대한 결과의 true가 true인 조건

 

+

Recall이 낮아졌다가 다시 높아졌는데 어느게 좋은건가 찾아보니 Precision과 Recall도 둘다 높은게 좋은거라고

[링크 : https://sumniya.tistory.com/26]

 

다운로드 받으면 metadata_properties.json 파일이 존재하는데 (tflite, onnx, onnx float16 확인)

학습시 별다른 옵션이 없던걸 봐서는 azure custom vision은 SSD 알고리즘만 지원하는 듯.

{
    "CustomVision.Metadata.AdditionalModelInfo": "",
    "CustomVision.Metadata.Version": "1.2",
    "CustomVision.Postprocess.Method": "SSD",
    "CustomVision.Postprocess.Yolo.Biases": "[]",
    "CustomVision.Postprocess.Yolo.NmsThreshold": "0.0",
    "CustomVision.Preprocess.CropHeight": "0",
    "CustomVision.Preprocess.CropMethod": "NoCrop",
    "CustomVision.Preprocess.CropWidth": "0",
    "CustomVision.Preprocess.MaxDimension": "0",
    "CustomVision.Preprocess.MaxScale": "0.0",
    "CustomVision.Preprocess.MinDimension": "0",
    "CustomVision.Preprocess.MinScale": "0.0",
    "CustomVision.Preprocess.NormalizeMean": "[0.0, 0.0, 0.0]",
    "CustomVision.Preprocess.NormalizeStd": "[1.0, 1.0, 1.0]",
    "CustomVision.Preprocess.ResizeMethod": "Stretch",
    "CustomVision.Preprocess.TargetHeight": "320",
    "CustomVision.Preprocess.TargetWidth": "320",
    "Image.BitmapPixelFormat": "Rgb8",
    "Image.ColorSpaceGamma": "SRGB",
    "Image.NominalPixelRange": "Normalized_0_1"
}

 

'embeded > jetson' 카테고리의 다른 글

jetson nano python numpy Illegal instruction (core dumped)  (0) 2022.03.29
deepstream onnx  (0) 2022.03.28
flud nvidia cuda  (0) 2022.03.28
jetson nano deepstream  (0) 2022.02.10
jetson nano developer board(구형) 부팅 문제  (0) 2022.02.09
Posted by 구차니
embeded/jetson2022. 3. 28. 15:02

nvidia jetson nano 4GB

 

--- 과거 아키이빙 이미지 끌어옴

nvidia ion

[링크 : https://minimonk.tistory.com/4579]

 

8800GT 혹은 8600GT 추정

[링크 : https://minimonk.tistory.com/2116]

'embeded > jetson' 카테고리의 다른 글

deepstream onnx  (0) 2022.03.28
azure custom vision - precision, recall  (0) 2022.03.28
jetson nano deepstream  (0) 2022.02.10
jetson nano developer board(구형) 부팅 문제  (0) 2022.02.09
nvidia jetson nano 2gb / csi  (0) 2022.01.21
Posted by 구차니

가서 전에 예약한 것들 구매해 오는데

강호의 도리가 떨어졌는지 무료 나눔해서

무언가 보답으로 받은게 하나 뿐이라는게 참.. 씁쓸하다.

 

무료나눔이니 소소하게 빵이라도 하나 이런게 정일텐데

무료니까 가는 정도 없는건가.. 그게 옳은건가 싶기도 하네.

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

연차  (0) 2022.04.05
헌혈  (0) 2022.04.03
마인크래프트 + 키보드 청소  (0) 2022.03.26
정신없는 주말이 끝  (0) 2022.03.13
스트레스 만땅  (0) 2022.03.07
Posted by 구차니

애들 둘다 시켜줘보는데

둘째는 좀 귀찮아서 안가르쳐주니 금세 흥미를 잃고

첫째는 라즈베리 버전이 더 쉽다고 데모버전 안하려고 하고 ㅋㅋ

 

키보드는 청소하고 꽂았는데

사진으로 비교 안하고 했떠니 +와 - 위치

그리고 자잘한(?) 윈도우키, 펑션키 등의 위치를 잘 못꽂음 ㅋㅋ

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

헌혈  (0) 2022.04.03
굿바이 키즈카페  (0) 2022.03.27
정신없는 주말이 끝  (0) 2022.03.13
스트레스 만땅  (0) 2022.03.07
샤오미 미에어2 분해!!  (0) 2022.03.05
Posted by 구차니
Programming/node.js2022. 3. 25. 17:43

전에 보기만 했지 다뤄본적은 없는데 크윽..

일단 웹을 통해서 소켓을 만드니까.. HTTPS 하면 자동으로 보안도 올라가고

릴레이 해주면 websocket - socket 도 가능하고..

 

[링크 : https://www.npmjs.com/package/websocket]

[링크 : https://niceman.tistory.com/109]

'Programming > node.js' 카테고리의 다른 글

node.js 웹소켓 채팅 서버 예제  (0) 2022.07.14
ubuntu 18.04 / nodej.s 18.x 실패  (0) 2022.05.19
broadway / jsmpeg  (0) 2020.09.16
node.js array.sort() 주의사항  (0) 2020.02.01
node.js postgresql transaction  (0) 2020.01.31
Posted by 구차니
Linux API/network2022. 3. 25. 14:12

복붙하면 "와 ' 가 문제가 생기고

우분투 18.04 에서 빌드하면 client 쪽의 소스에서

SSLv3_client_method() 함수가 없다고 나오니, SSLv23_client_method 으로 바꾸어 주어야 한다.

[링크 : http://pchero21.com/?p=603]

 

실행하면 보안인증서 경로 문제로 실행이 안되는데 인증서는 어떻게 생성해야 하려나..

[링크 : https://m.blog.naver.com/espeniel/221845133507]

 

 

+ 빌드

$ sudo apt-get install libssl-dev

[링크 : https://stackoverflow.com/questions/43131708/fatal-error-openssl-rsa-h-no-such-file-or-directory]

 

-lssl 옵션을 주고 빌드하는데 아래와 같은 에러 발생시에는

/usr/bin/ld: /tmp/ccHIcKux.o: undefined reference to symbol 'ERR_print_errors_fp@@OPENSSL_1_1_0'
//usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

 

-lcrytpo 까지 추가해주면 해결!

% gcc -o test test.c -L/usr/lib -lssl -lcrypto

[링크 : https://stackoverflow.com/questions/12917731/linking-issues-using-openssl-in-ubuntu]

 

+

nc 테스트

접속시 connection from이 뜨고

sadf를 입력하니 error가 나오며 접속이 종료된다.

$ ./srv
Enter PEM pass phrase:
Connection from 100007f, port 96c5
140278452101568:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:332:

 

$ nc localhost 1111

sadf

'Linux API > network' 카테고리의 다른 글

AF_PACKET로 link layer 열기  (0) 2022.06.09
linux tcp server listen accept connect  (0) 2022.05.11
TCP timeout  (0) 2020.09.29
UDS (Unix Domain Socket)  (0) 2020.09.01
raw socker과 promiscous mode  (0) 2019.07.03
Posted by 구차니
Apple2022. 3. 25. 10:14

아.. 우분투 마렵다(?)

 

% open -a TextEdit filename

[링크 : https://apple.stackexchange.com/questions/25844/can-i-open-files-in-textedit-from-the-terminal-in-mac-os-x]

'Apple' 카테고리의 다른 글

mac 에서 rtl-sdr 시도..  (0) 2022.04.02
macos 더블클릭 드래그  (0) 2022.04.01
mac 패키지 분석.. 2?  (0) 2022.03.25
macos ssh 서버 구동  (0) 2022.03.25
macos python opengl  (0) 2022.03.21
Posted by 구차니
Apple2022. 3. 25. 10:08

마인크래프트 한번 해보려고 받았는데 안되네.. 

되면 좋지만 안되면 그것 나름대로 원인을 분석해봐야 하는데

그걸 떠나서 패키지가 어떻게 되나 궁금해서 분석 ㄱㄱ!

 

마인크래프트 패키지는 dmg 확장자에 zlib compressed data라는 포맷으로 인식된다.

% file *
Minecraft.dmg: zlib compressed data

 

근데 해당 파일을 실행하면 알아서 마운트 되고

 

~/Desktop 에서는 보이지 않는 Minecraft 라는 폴더가 생긴다.(맥에서는 폴더라고 하나 디렉토리라고 하나..?)

Desktop % ls -al
total 6432
drwx------+  9 minimonk staff      288  3 25 09:15 .
drwxr-xr-x+ 23 minimonk staff      736  3 25 09:11 ..
-rw-r--r--@  1 minimonk staff     8196  3 25 09:15 .DS_Store
-rw-r--r--   1 minimonk staff        0  3 19 16:50 .localized
-rw-r--r--@  1 minimonk staff  2053616  3 21 10:13 스크린샷 2022-03-21 오전 10.13.11.png
-rw-r--r--@  1 minimonk staff   897651  3 25 09:15 스크린샷 2022-03-25 오전 9.14.55.png
-rw-r--r--@  1 minimonk staff    91529  3 25 09:15 스크린샷 2022-03-25 오전 9.15.04.png
-rw-r--r--@  1 minimonk staff   220589  3 25 09:15 스크린샷 2022-03-25 오전 9.15.28.png

 

바탕화면에 생긴 Minecraft 디렉토리는 "볼륨" 타입으로 출력된다.

일단 mount 명령을 통해 경로를 찾아 들어가보면

% mount | grep Mine
/dev/disk2s1 on /Volumes/Minecraft (hfs, local, nodev, nosuid, read-only, noowners, quarantine, mounted by shin)

 

다른건 딱히 눈에 띄는건 없고.. laucher 라는 실행 파일 하나만 보인다.

% tree
.
├── Applications -> /Applications
└── Minecraft.app
    └── Contents
        ├── Info.plist
        ├── MacOS
        │   └── launcher
        ├── Minecraft Updater.app
        │   └── Contents
        │       ├── Info.plist
        │       ├── MacOS
        │       │   └── nativeUpdater
        │       ├── Resources
        │       │   ├── NativeUpdater.nib
        │       │   ├── PkgInfo
        │       │   └── favicon.icns
        │       └── _CodeSignature
        │           └── CodeResources
        ├── Resources
        │   ├── MainMenu.nib
        │   ├── PkgInfo
        │   └── favicon.icns
        └── _CodeSignature
            └── CodeResources


11 directories, 12 files

 

흐음.. file 설명이 특이하네.. Mach-O? 마하 커널용 오브젝트의 약자일려나?

% file *
launcher: Mach-O 64-bit executable x86_64

 

 

 

이번에는 zoom 클라이언트

파일 자체는 xar로 압축되었다는데 tar 옵션주듯 풀면 풀린다.

% file Zoom.pkg 
Zoom.pkg: xar archive compressed TOC: 6106, SHA-1 checksum

 

% tree
.
├── Distribution
├── Resources
│   ├── de.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── en.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── es.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── fr.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── it.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── ja.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── ko.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── pl.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── pt.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── ru.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── tr.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── vi.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   ├── zh-Hans.lproj
│   │   ├── Localizable.strings
│   │   └── Welcome.rtf
│   └── zh-Hant.lproj
│       ├── Localizable.strings
│       └── Welcome.rtf
└── zoomus.pkg
    ├── Bom
    ├── PackageInfo
    ├── Payload
    └── Scripts


16 directories, 33 files

 

 

% file *
Bom:         Mac OS X bill of materials (BOM) file
PackageInfo: XML 1.0 document text, ASCII text
Payload:     gzip compressed data, from Unix, original size modulo 2^32 88226304
Scripts:     gzip compressed data, from Unix, original size modulo 2^32 12800

 

'Apple' 카테고리의 다른 글

macos 더블클릭 드래그  (0) 2022.04.01
mac console에서 gui 프로그램 실행하기  (0) 2022.03.25
macos ssh 서버 구동  (0) 2022.03.25
macos python opengl  (0) 2022.03.21
dmg 파일 분해  (0) 2022.03.21
Posted by 구차니