본문 바로가기

전체 글

(43)
[Pose estimation] Yolo VS Mediapipe 원래는 mediapipe만 잡고 수화 인식을 진행해보려고 했는데, 다른 프로젝트를 하는 중, yolo에서도 pose estimation model이 있다는 것을 찾게되었다. 한국어 문서로는 두 가지를 비교하는 글들이 많이 없는 것 같아 정리https://learnopencv.com/yolov7-pose-vs-mediapipe-in-human-pose-estimation/ YOLOv7 Pose vs MediaPipe in Human Pose EstimationYOLOv7 Pose is a real time, multi person keypoint detection model capable of giving highly accurate pose estimation results. We compared it ..
[자연어처리] QLoRA SLLM 모델을 코랩 무료 GPU만으로도 돌리고 싶어 이것 저것을 찾아보고 실행시켜보았지만, 계속 RAM 메모리 부족으로 세션이 다운되었다. 양자화된 모델들을 사용하여도 똑같은 문제가 발생하여서, 찾아보던 중 QLoRA + koAlpaca 모델이 코랩 무료 gpu로도 돌아간다는 것을 확인했다 서치 과정에서, QLoRa 및 양자화라는 단어에 대해 잘 모르겠어서 정리!양자화 (Quantization)"모델 가중치와 활성화 함수 출력을 더 작은 비트 단위로 표현하도록 변환하는 것"→ 데이터의 정보를 줄이고, 정밀도를 낮추되, 저장 및 연산하는데 필요한 용량을 감소시켜 효율성을 확보하는 경량화 방법론동적 양자화 (dynamic quantization)가중치만 양자화, 활성화 함수는 추론 시 동적으로 양자화정적 ..
[Linux] 오래된 컴퓨터에서 wifi 5ghz 연결 언제 산지도 모를 컴퓨터에 linux를 깔다보니, 5ghz의 연결이 필요한데, 노트북에 내장된 칩셋은 이를 지원하지 않아서 듀얼밴드가 지원되는 usb형 무선랜카드를 얼른 쿠팡으로 시켰다. (NX1130) 열어서 linux에 맞는 드라이버를 다운로드 하는데, 계속해서 net/ipx.h: No such file or directory 라는 오류가 발생했다. 여기저기 찾아보니 내가 쓰는 커널 5에서는 해당 라이브러리를 지원해주지않는다는 글을 발견했고, 여기저기 헤매다가 해당 글을 발견했다. https://github.com/brektrou/rtl8821CU GitHub - brektrou/rtl8821CU: Realtek RTL8811CU/RTL8821CU USB Wi-Fi adapter driver for ..
인식 안되는 USB 포맷 / 안 쓰는 컴퓨터에 리눅스 깔기 좀 더 원활한 개발을 위해, 들고 다니는 컴퓨터에서 작업을 진행하는 것보다 리눅스를 깔아놨던 안쓰는 컴퓨터를 사용하려고 꺼냈는데, 'this is not a bootable disk. please insert a bootable floppy and press any key to try again' 이라는 오류 화면만 뜨고 리눅스로 부팅이 되지 않았다.. 바이오스로 들어가도 딱히 문제는 없는 것 같아보였는데 복구도 안돼서 그냥 싹 밀고 다시 우분투를 깔기로 결정! 기존 부팅디스크로 만들어놨던 USB를 꺼냈는데 얘도 먹통이라 포맷부터 다시 시작했다. 인식이 안되었기 때문에 diskpart로 강제로 포맷 https://hackschool.tistory.com/116 USB 인식 안될 때 포맷방법 가끔 USB ..
[JAVA] 수열과 구간 쿼리 4 [문제] 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다. 각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 i가 k의 배수이면 arr[i]에 1을 더합니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. [내 풀이] class Solution { public int[] solution(int[] arr, int[][] queries) { for( int[] query:queries){ for(int i = query[0]; i< query[1]+1; i++){ if(i % query[2] == 0){ arr[i] +=1; ..
[JAVA] 수열과 구간 쿼리2 [문제] 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다. 각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾습니다. 각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요. 단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다. [내 풀이] class Solution { public int[] solution(int[] arr, int[][] queries) { int[] answer = new int[queries.length]; for(int j= 0; j< queries.length; j++){ int m..
[JAVA] 수열과 구간 쿼리3 [문제] 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다. 각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. [내 풀이] class Solution { public int[] solution(int[] arr, int[][] queries) { for (int i =0; i 길이 지정할 필요없음 - 기본 코드에서는 answer의 길이 지정이 안되어 있어 outofindex에러 발생하기 때문에 arr를 copy해주어야함
[JAVA] 수 조작하기 2 [문제] 정수 배열 numLog가 주어집니다. 처음에 numLog[0]에서 부터 시작해 "w", "a", "s", "d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 합시다. "w" : 수에 1을 더한다. "s" : 수에 1을 뺀다. "d" : 수에 10을 더한다. "a" : 수에 10을 뺀다. 그리고 매번 조작을 할 때마다 결괏값을 기록한 정수 배열이 numLog입니다. 즉, numLog[i]는 numLog[0]로부터 총 i번의 조작을 가한 결과가 저장되어 있습니다. 주어진 정수 배열 numLog에 대해 조작을 위해 입력받은 문자열을 return 하는 solution 함수를 완성해 주세요. [내 풀이] class Solution { public String solution(in..