가정 - 클라우드에서 EC2나 이런 인스턴스를 할당 받고, 유일한 공인 IP가 있다는 가정 하에 진행한다.(AWS의 경우 탄력적 IP 설정) 시작하기 전 팁 : 해당 클라우드에 쉽게 접속하려면 .sh 파일을 만들어서 접속하면 된다. ssh ~/.ssh/sikaro.pem ubuntu@공인 ip혹은ssh -i ~/.ssh/sikaro.pem root@공인 ip# ssh {pem키 경로/pem키 이름.pem} {사용자명@공인 ip} 이때 ~/경로는 윈도우의 경우 사용자 > user의 경로가 잡힌다.해당 경로에 pem 키를 넣어주면 된다. 그런 뒤에 sh 파일을 우클릭 > 터미널에서 열기 하면 실행이 된다.안된다면 git bash를 열고 .sh 파일을 드래그해서 올리면 명령어가 올라간다. 이제 본격적으로 들어..
안드로이드 스튜디오에서 Yolo 모델이나 다른 모델들을 사용할 때, GPU 설정에 대해서 애먹는 경우가 많다.버전에 대해서도 찾으려면 죄다 영어 항목이라 힘들 듯 하다. 그래서 한국어로 설명하고자 한다. 코드는 여기에서 볼 수 있다. 결론부터 말하자면, Gradle에서 다음과 같이 의존성 추가를 해주면 된다. Gradle Scripts / build.gradle.ktsdependencies { ...implementation("org.tensorflow:tensorflow-lite:2.14.0")implementation("org.tensorflow:tensorflow-lite-gpu-delegate-plugin:0.4.4")implementation("org.tensorflow:tensorflow-li..
면접이 아주 처참하게 망했다.따라서 이 글은 면접에서 나왔던 질문들에 대한 셀프 피드백 되시겠다. 질문이 굉장히 많았고, 긴장해서 머리가 하얗게 되서 제대로 답변 못한 문제가 많다.내 입장에서도 정말 제대로 된 문제들이라고 생각해서 제대로 적어놓기로 했다.내가 면접 본 곳이 어딘지는 밝히지 않으니 보안 문제는 되지 않으리라 믿는다. Q. Okt, Kiwi, kkma 토크나이저의 작동 차이점은?그 중에서도 Okt가 가지는 특징은 무엇인가?A. Okt는 한국어 텍스트를 분리하고 품사 태깅을 수행한다.트위터와 같은 짧은 텍스트에서 잘 작동하도록 설계되었다.자주 사용되는 단어(명사, 형용사, 동사)를 잘 인식하지만 복잡한 문장 구조에서는 부정확할 수 있다. Kiwi 토크나이저는 사용자 정의 규칙을 추가할 수 있..
Events, Workflows, Jobs, Action, Runners의 개념이 존재. Github Actions은 어떤 이벤트가 발생했을 때 자동으로 수행하게 만들어준다.Eventson : pushmain 브랜치로 push하거나 이런 방식 WorkflowWork flow는 어떤 행동을 할지 결정한다.안에 어떤 다수의 Job을 넣을 수 있고, 이 Job은 Step을 가진다.Job : run unit tests Job 안에는 step이 있는데, npm test 같은 명령어나,action 등의 (다양한 명령어)를 사용할 수 있다. 사용하려면프로젝트 경로 안에 .github/workflows/workflow.yml 이런 식으로 만든다.yml 이름은 딴 것이어도 가능name : learning-github-a..
요즘은 완전히 GPU 전성시대이다. 돈이 있다고 해도 GPU를 살 수 있으려면 기간조차도 매우 많이 드는 게 현실이다.간단한 모델을 돌려보려고 해도, 클라우드 컴퓨팅은 세팅도 번거로울 뿐더러, 초심자가 접근하기에는 힘들다.코랩은 또 무료 버전은 시간제한이 있다. 한마디로 GPU 값은 매우 비싸다.그런데 여기, 미쳤다고 무려 16GB의 GPU를 일주일에 30시간이나 빌려주는 곳이 있다.그것도 공짜로. 그곳은 바로 데이터 사이언스인들의 성지. Kaggle이다. https://www.kaggle.com/ 필자는 이 kaggle에서 정말 다양하고 다양한 실험을 해왔다.파이썬 새로 깔아보기, 해당 도커 버전 바꿔보기, 오픈소스 버그 수정 등등.. 거의 살을 발라내고 사골까지 우려먹었다고 해도 과언이 아니다. 그..
자바 17버전부터 추가된 문법들입니다. 텍스트 블록여러 줄의 텍스트를 작성할 때 """로 감싼 텍스트를 사용해서 여러 줄의 텍스트를 표현할 수 있습니다. String query17 = """ SELECT * FROM "items" WHERE "status" = "SALE" ORDER BY "price"; """; formatted() 메서드값을 파싱하기 위해서 사용합니다. 해당 기능이 없었을 때 아주 불편했다고 합니다.(확실히 다른 언어에 비교해서 힘들었을 것 같긴 합니다.)String textBlock17 ="""{ "id : %d "name" : %s,}""".formatted(2, "juice") 레코드레코드는 데이터 전달을 목적으로 하는 객체를 더 빠르고 간편하게 만듭니다.레..