반응형

Docker container 내에서 GUi를 사용하기

Host의 XServer를 컨테이너와 공유해서 Container 내에서 GUI를 사용하는 방법.
X11 Forwarding을 사용하거나, Display를 통해서 사용 가능
다만 Forwarding을 하거나 Display에 대한 DISPLAY 환경 변수를 미리 정의를 하고 생성해야됨.

Host에서 Docker와 xserver 통신 설정

$ xhost +local:docker

Docker run parameter

 --volume /tmp/.X11-unix:/tmp/.X11-unix:ro -e DISPLAY=unix$DISPLAY

혹시 안될 경우

 --volume /tmp/.X11-unix:/tmp/.X11-unix:ro -e DISPLAY=$DISPLAY

혹시 안될 경우

 --volume /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY
반응형
반응형

Plugin 개발 할 때에 Memory Leak에 대해서 확인해보기 위해서 valgrind를 붙여보았는데, valgrind를 붙이면 launcher가 정상 동작 하지 않는다. 원인을 찾을 수 없어서 GStreamer에서 Memory leak에 대한 수단을 제공하지 않을까 해서 찾아보니 아래와 같이 Debugging을 할 수 있는 방법이 있다.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="leaks" 

위와 같이 환경변수를 설정하고 동작시에 아래와 같이 종료 이후로 남아있는 메모리에 대해서 추적해준다.

0:00:33.676884568  6771 0x556451e88840 TRACE             GST_TRACER :0:: object-alive, type-name=(string)GstBuffer, address=(gpointer)0x7f835dc012c0, description=(string)buffer: 0x7f835dc012c0, pts 0:00:45.833522174, dts 99:99:99.999999999, dur 0:00:00.100000000, size 2764800, offset 458, offset_end 459, flags 0x0, ref-count=(uint)1, trace=(string);
0:00:33.676887333  6771 0x556451e88840 TRACE             GST_TRACER :0:: object-alive, type-name=(string)GstBuffer, address=(gpointer)0x7f834738a700, description=(string)buffer: 0x7f834738a700, pts 99:99:99.999999999, dts 99:99:99.999999999, dur 99:99:99.999999999, size 2764800, offset none, offset_end none, flags 0x0, ref-count=(uint)1, trace=(string);
0:00:33.676890357  6771 0x556451e88840 TRACE             GST_TRACER :0:: object-alive, type-name=(string)GstBuffer, address=(gpointer)0x7f86d44efe20, description=(string)buffer: 0x7f86d44efe20, pts 0:00:53.533522174, dts 99:99:99.999999999, dur 0:00:00.100000000, size 2764800, offset 535, offset_end 536, flags 0x0, ref-count=(uint)1, trace=(string);

Typename과 Address, ref-count 등을 남겨준다.
다만 이 메모리가 어떤것인지 자세히 나오지 않아서 이 방법에 대해서도 검토가 필요할 것 같다.

반응형
반응형
  1. CMakeLists.txt에 아래와 같이 FLAG를 추가해준다.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fsanitize=address")
  1. 실행시 환경 변수값을 포함하여 실행해준다.

    LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.5 {EXECUTABLE BINARY}
  2. expor를 하는 방법도 있다.
    하지만 추천하지 않는다. 커맨드도 sanitizer에 물려서 제대로 실행이 안된다;

    $ export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.5
반응형
반응형

EOG

원격 서버에서 개발/테스트를 진행할때에 Dump Image를 보기 위해서는 모니터를 연결하거나 파일을 압축해서 가져와서 봐야 하는 귀찮음이 있는데, 이미지 뷰어를 사용하면 X.11 환경에서는 커맨드로 이용하기도 좋고 귀찮음이 덜하다.

EOG라는 프로그램이 있어서 찾아보니 대충 사용하기 용이하다.

EOG Homepage

https://manpages.ubuntu.com/manpages/trusty/man1/eog.1.html

How to install

$ sudo apt install eog

How to run

$ eog ${PATH or FILENAME}
반응형
반응형

User list

$ sudo ipmitool user list 
혹은
$ sudo ipmitool user list 1

위에서 빈 slot number를 이용하거나 추가하고자 하는 number로 id를 보통 추가한다.

User add

$ sudo ipmitool user set name <ID> <USERNAME>

User Password set

$ sudo ipmitool user set password <ID>
Password for user <ID> : 

위와 같이 User를 추가했을 때에 Web에서 접근을 할경우 로그인 오류가 발생한다.
이와 같을 경우 해당 User가 Enable되지 않았을 경우이므로 Enable 해준다.

User enable list 확인

$ sudo ipmitool user summary <CH>
Maximum IDs        : 16
Enabled User Count  : 0
Fixed Name Count    : 0

위에서 "Enabled User Count가 0일 경우 Enable이 되지 않은 상태로 Enable 시켜준다.

Added user ID enable

$ sudo ipmitool user enable <ID>

그 다음 웹에 접근할 경우 정상적으로 접근되는 것이 확인되었다.

반응형
반응형

ITOP03 그라인더가 도착했다. 한 10일 정도 걸린거 같다. 생각보다는 빨리 왔다.
포장 상자까지 ITOP 그림이 그려져 있는거 봐서는 재포장은 없고 바로 해외 발송을 보내는 것 같다. 박스 자체는 찌그러지거나 그런 것 없이 비교적 양호하게 도착했다.

구성품은  위와 같다. 꼼꼼하게 여분의 스프링과 각 필요한 유지보수 기구들이 들어있는 것들이 인상적이었지만,
바리아의 개봉기를 봐도 동일한거 봐서는 진짜 이름만 떼고 똑같이 보내는 것 같다.

포함된 블로우 호퍼를 장착하면 이런 모습이다. 생각보다 쫀쫀하니 꽤 괜찮은거 같다.
흰색으로 사길 잘한것 같다. 블로우 호퍼 시꺼먼색이 위에 올라가니 디자인적으로 마음에 든다.

 알리에서 이번에 구매를 할때 좋았던게 버(Burr)를 별도의 가격 없이 포함하여 판매를 했다는 것이다. 이거를 검색해보니 버만 하면 9만원 정도 세트로 하면 15만원 정도 국내에서 파는 것 같았다(알리서 사면 $20 초반...). 다만 선택해도 선택한걸 보내줄 수도 있고, 안보내줄 수도 있고, 안보내주면 연락하면 선택한 버를 보내줄 수도 있고, 아닐 수도 있는 것 같다...(여기 저기 후기를 보니...)

 각 버 별로의 특징을 찾아보기엔 귀찮아서 그냥 유투브 등을 뒤져봐서 가장 무난한다고 판단되는 하이퍼노바 버세트(38미리)를 선택했다. 뭔가 색이 영롱한데 보일듯 말듯 애매하고 특이하다.

 확대를 해서 찍으려다보니 사진이 깔끔하게 찍히지 않았는데, 여기 저기 좀 찍힌거 같은 그런 것들이 좀 보인다. A급은 바리아로 팔고 B급을 ITOP으로 파는건지는 모르겠다. 다만 그렇게 눈에 띄지는 않고, 외관도 멀쩡하고 기능상 문제가 없을 것 같기에 별 컴플레인은 하지 않고 그냥 쓸 예정이다.

 일단 영점 잡고, 에쏘 포인트랑, 드립 포인트랑, 냉침 포인트를 잡으면서 좀 길도 들일려면 원두가 좀 필요할텐데, 마침 드럼 청소용으로 친분이 있는 로스터리샵 사장님께 얻어놓은 결점두들이 있다. 이거 볶아서 길 좀 들이고 써야겠다.

 

 연관 포스트 : [커피 그라인더] ITOP 03을 주문했다(실물 없음)(https://onestepcloser.tistory.com/m/215)
반응형
반응형

 

 판교는 대부분 프렌차이즈거나 준수한 일반적인 맛집인데 유일하게 제일 맛있다고 생각되는 맛집.

 하지만 다음과 같은 특이점이 있는 음식점이다.
 1. 1인 식당으로 대기줄이 있을 경우 많이 기다려야 할 수 있다. 컴플레인 하면 안된다. 못기다리겠으면 애초에 대기를 하지 말자.
 2. 가끔 오픈을 안할 수도 있다. 가끔... 아주 가끔 그런 경우가 있다. 가기전에 인스타그램을 확인하자.
 3. 라멘은 뭘 시켜도 다 맛있다. 다만 삼겹 차슈는 무조건 추가하는 것을 추천한다.
 4. 라멘만 먹고 일어나지 말아라. 밥을 말면 더 맛있다.
 5. 개인에 따라 다르지만, 여기는 매운맛 보다는 일반맛을 추천한다. 국물이 너무 맛있어서 매운맛을 먹으면 매운맛에 국물의 진한 그 맛이 100% 가져갈 수가 없는게 너무 아쉽다.

숨겨진 메뉴의 비밀이 있다.
5년 정도 단골이 된거 같다. 덮밥 메뉴가 나오는 것을 딱 한번 봤다. 개인적으로 극호의 맛이었다.
그 한번 이후로 한번도 덮밥 메뉴를 본적이 없다. 또 먹고 싶다...

 

위치 : 경기 성남시 분당구 판교역로 240 삼환하이펙스 A동 지하1층 126호
영업시간 : 월~금 11:30 ~ 20:00, 휴게시간 14:00 ~ 17:00
인스타 :
www.instagram.com/junyeoung_ramen 

반응형

'분석, 구매후기 > 가본 맛집' 카테고리의 다른 글

진신왕돈까스 수지구청점  (0) 2023.09.17
수지 동천동 로스터리 삽 커피 연백  (0) 2023.09.02
판교 키친박스  (0) 2023.08.29
반응형

 미뤄놨던 수술을 받고 몇달간 수술을 못하고 회사만 출퇴근을 반복하였더니 차가 개판이 되었다. 세차를 하려고 하니 어차피 오랜만에 싹 해야 하니 산성 프리워시 한참 바르고 클렌징도 해야 겠다 하다가... 글레이즈를 한번은 올리고 해보자 생각이 있었는데, 클랜징을 해서 1차를 새로 올려야 한다면 글레이즈를 해보자 라는 생각에 마프라 베네레 글레이즈가 괜찮다는 얘기를 들어서 주문해서 들고 세차장을 갔다.

 평소에는 실런트와 QD로만 관리를 해도 검은색 차라 번쩍 번쩍해서 다른 왁스의 필요성을 한번도 느껴본적이 없었는데, 세차를 못하고, 차 자체도 10년이 넘어가서 이제는 실런트로 가려지지 않는 흠집들이 많아져서 1차로 클리어층의 보강을 해야 할 필요가 있어서 글레이즈를 시도해보지만, 후기를 보면 별 차이가 없다라는 말에 별 기대는 하지 않았다.

 세차할때 산성 프리워시를 약 5분 놔두고, 버킷 세차를 한다음에 P21S를 넉넉히 차에 뿌려서 카테크 광택기로 클랜징을 하였다. 세차를 오랜만에 하면 좀 짜증날때가 수많은 먼지들과 이물질이 빗물, 워셔액 등과 같이 굳어버린걸 지울 때이다. 그래서 P21S를 충분히 뿌리고 카테크 광택기로 밀어버리니 따로 컴파운드 칠을 할 필요가 없이 충분히 깨끗해졌다. 

 처음 써보는 글레이즈라 어떻게 쓸 수 있을까 유투브를 참고하다 보니, 컴파운드 성분이 있는 글레이즈들인지 모르겠으나, 광택기로 할 경우 그 성능이 손으로 한 것보다 더 많이 올라갔다. 다만 내가 이번에 할 때에는 쓸만한 패드가 없어서 그냥 글레이즈를 알리에서 산 면패드로 약간 충진시킨다는 느낌으로 문질 문질 하고 2~3분 길어도 5분 안에 버핑을 하였다. 

 효과는 충분했다. 글레이즈를 1차로 올리니 마치 10년전에 차를 처음 샀을 때에 보다 더 새차 같은 느낌이 뿜어져왔다. 그저 다른건 10년 전과 다른 내 체력과 몸상태일뿐... 어깨가 아파 죽는줄 알았다;; 

 

 차의 다른부분에도 살짝 살짝 글레이즈를 올렸다. 본격적으로 글레이즈를 바르기 위해 모든 도장면에 페클 처리를 하고 싶었으나 체력적으로 너무 힘들고 날씨도 너무 추웠기 때문에... 하지만 그냥 덧방을 하자니 양심에 찔려서 페클로 얼룩은 지우면서 살짝 페클 처리는 했다라는 명분만 가지고 바로 페클 처리를 했다. 전체 글레이즈 버핑까지 끝나면 다시 처음 시작한 본넷부터 다시 실런트를 올렸다. 글레이즈 만으로는 도장면 보호에 탁월함이 적다고 하여, 실런트를 무조건 한번 이상 올릴 생각을 했는데, 이전에 실런트만 올릴 때보다 자잘한 스월 같은건 글레이즈가 충진해줘서 모두 가려줘서 그런지 컴파운드를 해야겠다 할 정도의 스월이나 기스는 보이지 않았다. 

 집에와서 봐도 너무 만족스럽다. 다만 가격이 조금 비싼편이긴 한데, 1차만 올릴 생각하면 충분히 오래 쓰지 않을까 생각이 든다. 이젠 페클 후에 무조건 글레이즈를 올려야 겠다는 생각이 들 정도... 10년된 차로 누가 볼까 ㅋㅋㅋ 역시 차는 검은 차!

반응형
반응형

ITOP 03, 알바리아 라고도 사람들이 부른다. 알바리아라는 브랜드가 있는 줄 알았는데 검색을 해도 나오지 않는다.
"차라리 알바리아를 사세요~" 라고 하길래 알바리아가 뭐지 검색하려다가 "알알바리아가 가성비가..." 라길래 오타인 줄 알았더니 "알알바리아"라는 애칭이 있었다. 검색해보면 실물 모델을 파는데는 보이지 않았다.

 좀 더 찾아보다보니 요약하면 이렇다.

 "바리아 VS3"를 ODM으로 중국에서 생산을 해서 국내에서 판매를 하고 있고,
ODM 공장에서 "바리아 VS3"로 납품을 하는 제품을 "ITOP 03"이라는 이름으로 판매를 하는데 "알리에서 파는 바리아" 라는 의미로 "알바리아"라고 부르며 가격의 차이가 나는데 동일 제품이니 가성비가 좋다...하는데 이 "알바리아"로 파는 제품을 ITOP 이라는 이름을 빼고 동일 제품을 네이밍 없이 ITOP 03으로 파는것 보다 더 싸게 알리에서 파니 "알리에서 파는 바리아를 알리에서 저렴하게 파는 "알알바리아" 라고 부르는 것으로 보인다(하지만 알알바리아는 제품에 하자가 있는 것을 파는 것 같다라는 말도 있다... 사실여부는 모르겠다).

 이 ITOP 03은 보급형 모델이고, 알리에서 사다보니 제품에 문제가 있으면 귀찮아질거 같은데 약 20만원 상회하는 가격으로 관세도 내야 하니 ... 원래는 이중 지출을 줄이고 어차피 한번 사면 냉장고 티비 처럼 한 10년은 쓰다보니 좋아. 100만원 정도는 지출하자 하다가... 갑자기 신년 할인이라고 알리에서 관세 이하로 가격이 올라와서 무지성으로 이성을 잃어버리고 어느새 결재를 해버렸다. 이리 저리 검색을 해서 쿠폰(AEPP0209)를 먹이니 할인이 들어가서 139달러에 구매를 했다.

 

 옵션으로 다양한 버(Burr)를 선택할 수 있는데 별도로 사면 국내에서 하이퍼노바는 9만원 정도는 줘야 하는데 옵션으로 넣어도 가격의 상승이 없어서 좋네 하고 질러버렸다(알리에서 사면 2만원대면 살 수 있는듯...).
 근데 알리가 다 그렇듯 선택하든 말든 아무거나 보내주는걸 받은 사람도 있고 선택한걸 받은 사람도 있는 것 같다(판매자에게 항의할 경우 주문한 버를 보내준다고 한다).
 하이퍼노바 버는 맛의 무난함이 특징이라고 하며 다량의 미분으로 인한 산미의 도드라짐이 적다고 해서 일단 사놓고... 버를 갈면서 쓰면 되지 않을까 싶다. 바리아에서 판매하는 다양한 버들의 호환이 되는게 메리트다.

 다만 단점으로 20g 그라인딩하는데 40초 정도 걸리는 점, 유난히 정전기가 많이 일어나서 한번 그라인딩하면 체프가 이리 저리 달라 붙는다는 점 가끔 라이트 로스팅 원두나 크기가 큰 원두는 껴서 안갈리기도 한다는 점 등이 있다고 하는데 가격에서 모두 용서된다.

 참고로 ITOP 03은 바리아 1세대 제품의 ODM 제품으로 바리아는 2세대까지 나온 것 같으며, 2세대 제품은 아니다(3세대도 있다고 하는데 3세대는 어디를 찾아보면 전시제품이고 판매는 안한다라는 글을 본적이 있다). 근데 후기를 찾아보다 보면, 1세대 샀다가 2세대 산 사람들이 1세대가 낫다는 사람들이 있어서 긍정적으로 생각 중이다. 뭐 정 안좋으면 중고로 팔고 니체 제로로 그냥 바로 가지 뭐...

 양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...양품와라...

반응형
반응형

목적

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