[Ubuntu] AIHub CLI(aihubshell)를 이용한 다운로드 방법

이미지
aihubshell 이용한 데이터 다운 방법 안녕하세요, aihubshell을 이용하여 데이터를 다운받는 방법을 알아보겠습니다. aihubshell 실행 명령어 파일 다운 aihubshell을 다운로드 합니다. curl -o "aihubshell" https://api.aihub.or.kr/api/aihubshell.do Copy 다운받은 파일의 실행 권한을 부여합니다. chmod +x aihubshell Copy 해당 파일을 어떤 경로에서든 명령어로 실행할 수 있도록 설정합니다. (정상 등록 확인은 아래 그림 명령어 참고) sudo cp aihubshell /usr/bin Copy aihubshell 명령어를 이용한 데이터 다운 다운받으려는 데이터셋의 key값을 확인합니다. (여기선 163 데이터 사용) aihubshell -mode l | grep '공사' Copy 만약 전체 데이터셋이 아닌 일부 파일만 다운받고자 하면 해당 데이터셋의 파일 key값을 확인합니다. (여기선 559879, 559880 데이터 사용) aihubshell -mode l -datasetkey 163 Copy 확인한 key값을 이용해 데이터를 다운받습니다. aihubshell -mode d -datasetkey 163 -filekey 559879,559880 -aihubapikey 'your_api_key' Copy apikey는 여기 에서 발급받을 수 있습니다. 다운받은 zip파일 압축 해제 사이트를 통해 다운받는 경우 분할된 part 파일을 하나로 병합해야하는 귀찮음이 존재합니다. aihubshell을 이용한 경우에는 자동으로 part 파일 병합까지 진행해줍니다. 다운받은 559879와 559880 파일만 존재하는걸 확인할 수 있습니다. 이후...

[Algorithm] Manacher's Algorithm (마나커, 마나허 알고리즘)

이미지
Manacher's Algorithm 많은 분이 Palindromic Substring을 찾는 문제 해결 방법을 찾다 Manacher's Algorithm을 알게 됐을텐데, 해당 알고리즘을 알아보겠습니다. Palindrome(회문)이란 순서를 뒤집어도 똑같은 문장 혹은 단어를 의미합니다. race car, noon, 기러기, 다시 합창합시다 등 거꾸로 읽어도 동일한 의미를 가집니다. Core Algorithm 해당 알고리즘은 반복문을 돌며 해당 위치의 문자를 중심으로 Palindrome이 되는지 검사합니다. Brute Force로 생각하면 매 문자를 기준으로 Palindrome이 만족하는지를 반복 검사하면 됩니다. Manacher's Algorithm은 이전에 검사한 Palindrome을 이용해 새로운 Palindrome을 찾는 DP(Dynamic Programming)로 접근합니다. 이를 수행하기 위한 방법인 Mirror Optimization 즉, 대칭점 최적화가 있습니다. Palindrome 특징은 중심을 기준으로 반드시 대칭을 이루는데, 이 특징을 이용하여 이전 Palindrome의 길이를 구해 해당 길이부터 새로운 Palindrome을 찾습니다. 중점 c를 기준으로 aba, aba가 대칭을 이루는 것을 볼 수 있습니다. 위 대칭점을 찾을 때 반드시 최적화 과정이 필요한데, 왜 최적화 과정이 필요한지 알아보겠습니다. Algorithm 조건 1 대칭점을 찾기 전, 필요한 변수는 총 3개 입니다. Palindrome의 중심값 Center Palindrome의 오른쪽 끝 위치값 Right i번째 Palindrome의 길이를 저장하는 P 리스트 (C부터 R의 반지름 크기 저장) 이후 i번째 인덱스의 대칭점(mirror)을 찾기 위해 mirror = C*2-i 공식을 이용해 대칭점을 찾고 이를 최적화합니다. 결론적으로 이와 같은 수식이...

[Linux] nvidia deepstream python 설치 방법

이미지
Linux Nvidia Deepstream Python 설치 방법 Ubuntu 22.04, CUDA 12.2 환경에서 Deepstream Python 설치 방법을 알아보겠습니다. Deepstream 설치 여기 에서 본인 CUDA 버전에 맞는 DeepStream 버전을 확인합니다. 저는 CUDA 12.2를 사용하기 때문에 DeepStream7.0을 설치할 예정입니다. 위에서 설치해야하는 DeepStream 버전을 확인했다면, 여기 에서 본인 버전에 맞는 이미지를 확인합니다. 다운받고자하는 버전의 이미지를 다운 받습니다. docker pull nvcr.io/nvidia/deepstream:7.0-samples-multiarch Copy 아래 명령어를 통해 showing 옵션 설정을 진행합니다. xhost + Copy 본인의 버전에 맞도록 아래 사진을 참고하여 도커 컨테이너를 실행합니다. docker run --gpus all -it --rm --runtime=nvidia --network=host --privileged -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-7.0 nvcr.io/nvidia/deepstream:7.0-samples-multiarch Copy Deepstream Python binding 도커 컨테이너 접속 후 필요한 환경을 설치합니다. apt update apt install python3-gi python3-dev python3-gst-1.0 python-gi-dev git \ python3 python3-pip python3.10-dev cmake g++ build-essential libglib2.0-dev \ libglib2.0-dev-bin libgstreamer...

MAC UTM 윈도우 한영 변경 방법

이미지
MAC UTM 윈도우 한영 변경 방법 MAC UTM을 이용한 가상 윈도우에서 한영 변경 방법에 대해 알아보겠습니다. MAC UTM 설치 방법은 여기 에서 윈도우 한글 깨짐 해결 방법은 여기 를 확인하세요. 한영 변경 1. 키보드 레이아웃 변경 설정 창에서 시간 및 언어 - 언어 및 지역으로 이동 한국어 미트볼 메뉴(점 3개) - 언어 옵션 클릭 화면 스크롤 아래로 이동 키보드 - 레이아웃 변경 클릭 한글 키보드(101키) 종류 1 -> 한글 키보드(101키) 종류 3으로 변경 Shift + Space로 한영 변경 설정 후 '확인' 클릭 (지금 다시 시작 클릭 X) 아래 과정 모두 마무리 후 reboot 권고, 바로 reboot해도 상관없음 2. 키보드 추가 키보드 - 키보드 추가 클릭 Microsoft 입력키 클릭 후 컴퓨터 부팅 인터넷 검색창에서 shift+space를 통해 한영 변환 확인 가능 만약 한영 변환이 안된다면 바탕화면 맨 우측 하단을 클릭하여 자판 배열 한국어로 변경 한국어(Microsoft 입력기)가 안보인다면 위 1번, 2번 과정 재확인 및 진행 필요 (선택)서울 시간대 설정 1. 시간대 변경 설정 창에서 시간 및 언어 - 날짜 및 시간으로 이동 표준 시간대 (UTC-08:00) 태평양 표준시 (미국과 캐나다) -> (UTC+09:00) 서울로 변경 (UTC+09:00) 서울은 밑으로 쭉 내리면 존재(UTC -부터 +순으로 정렬되어 있음) (UTC+09:00) 서울로 변경 완료된 화면 위 과정을 모두 했는데 한영 변환이 안된다면 2번의 가장 마지막 사진을 참고하세요.