파일 인코딩 확인 및 변경 방법 1. 파일 인코딩 확인 인코딩 형식 확인 명령어는 대체로 file 명령어에 -bi 옵션을 넣어 사용합니다. # file -bi 파일명 test.txt 파일은 iso-8859-1로 인코딩되어 있는걸 확인할 수 있습니다. 현재 test.txt 파일은 윈도우에서 한글을 ANSI 인코딩으로 저장하여 scp 명령어로 복사한 파일입니다. 윈도우에서는 한글을 ANSI로 인코딩하면 자동으로 CP949 형식으로 인코딩 한다는데... 왜 리눅스에서는 iso-8859-1로 인식하는지 잘 모르겠네요... (버그로 추정) 아시는 분은 댓글 부탁드립니다... ㅠ iso-8859-1은 서유럽 언어 인코딩을 지원[1]하기 때문에 한글을 표시할 때 깨지는 문제가 발생하게 됩니다. (cat 명령어로 test.txt 내용을 출력할 때 복호화 과정을 통해 한글을 복원해야 하는데, 현재 리눅스가 test.txt 파일을 iso-8859-1(서유럽 언어)로 인식하고 있어 한글을 서유럽 형식으로 복호화하여 이상한 문자가 출력) 2. 파일 인코딩 변경 파일 인코딩을 변환하기 위해서는 iconv 명령어를 사용합니다. 파일 인코딩 변환 # iconv -f 기존인코딩포맷 -t 바꿀인코딩포맷 기존파일명 > 바꿀파일명 파일 인코딩이 utf-8로 변경된 것을 확인할 수 있습니다. 인코딩을 변경한 아래의 명령어를 살펴보면 # iconv -c -f iso-8859-1 -t utf-8 test.txt > iso_test.txt iso-8859-1로 인코딩 된 test.txt 파일을 utf-8로 인코딩하여 iso_test.txt 파일에 새롭게 저장하겠다는 의미입니다. 기존인코딩포맷: iso-8859-1 바꿀인코딩포맷: utf-8 기존파일명: test.txt 바꿀파일명: iso_test.txt iso_test.txt 파일은 utf-8로 인코딩이 변경되었...
이미지 크기 조절(resize) 이미지 크기를 조절하는 예제를 알아보겠습니다. 이미지 불러오기 import cv2 img = cv2.imread( "image/cat.jpg" ) cv2.imshow( "img" , img) cv2.waitKey() cat.jpg 이미지를 불러와 화면에 띄웁니다. 이미지 크기 조절 img = cv2.imread( "image/cat.jpg" ) print ( "img.shape = {0}" .format(img.shape)) resize_img = cv2.resize(img , ( 300 , 300 )) print ( "resize_img.shape = {0}" .format(resize_img.shape)) cv2.imshow( "img" , img) cv2.imshow( "resize img" , resize_img) cv2.waitKey() # 출력 # img.shape = (360, 480, 3) # resize_img.shape = (300, 300, 3) 이미지 크기 조절 방법 1 - cv2.resize(img, dsize=(300, 300)) cv2.resize(원본 이미지, 결과 크기 이미지)로 이미지의 크기를 조절할 수 있습니다. 결과 크기 이미지는 Tuple이며 (width, height)의 형식 입니다. 이미지 크기 조절 방법 2 - cv2.resize(img, dsize=(300, 300), interpolation=cv2.INTER_AREA) cv2.resize(원본 이미지, 결과 크기 이미지, 보간법)로 이미지 크기를 조절할 수 있습니다. 보간법은 이미지의 크기를 변경하면 변경된 이미지의 픽셀 사이의 값을 결정해야 하는데, 이때 보간법을 사용합니다. ...
CVAT nuclio 배포 컨테이너 끄기 CVAT nuclio에서 이미 배포한 컨테이너에 대해 모델 변경을 원하는 경우가 있을텐데 이 때 어떻게 할 수 있는지 알아보겠습니다. 간단 모델 재배포 방법 저는 아래 배포 모델을 재배포할 예정입니다. nuctl get function --platform local Copy 이제 변경하려는 모델명을 main.py 파일에서 수정합니다. main.py 위치를 모르겠는 분은 여기 를 참고한 후에 읽어주세요. 모델 변경이 완료되었으면 이후 재배포를 진행합니다.(명령어는 cvat clone한 경로 기준) 저와 다르게 배포하신 분들은 yolo-custom을 본인의 NAME에 맞게 수정하세요. ./serverless/deploy_gpu.sh serverless/pytorch/mymodel/yolo-custom Copy 아래처럼 정상적으로 배포되었음을 확인할 수 있습니다. 만약, A_v1.0 모델을 A_v1.1 모델로 버전업해서 재배포하면 모델이 정말 v1.1로 배포되었는지 궁금할 수 있습니다. 그런 경우 도커 컨테이너 로그를 확인하면 되는데, 우선 아래 명령어를 통해 본인 컨테이너 name을 확인합니다.(pth-yolo-custom을 본인에게 맞도록 수정) docker ps | grep pth-yolo-custom Copy 이후 해당 컨테이너명을 기준으로 로그를 확인합니다.(여기선 yolo26s로 검색, 본인에게 맞게 수정) docker logs -f nuclio-nuclio-pth-yolo-custom | grep yolo26s Copy 위 방법의 재배포는 간단하지만, Docker 빌드 캐시로 특정 코드가 미반영될 수 있습니다. 예로 현재는 main.py 파일을 수정했는데 function-gpu.yaml 파일 구조적 변경은 in-place 업데이트 에러가 발생할 수 있습니다...
댓글
댓글 쓰기