본문 바로가기

대학원 공부172

Python : TypeError: unhashable type: 'numpy.ndarray' 사실 TypeError: unhashable type: 'numpy.ndarray' error는 정말 다양한 곳에서 일어난다. 직역해보자면, numpy.array 형태는 hash가 안된다는 이야기다. 과연 나는 어디서 이런 error가 발생했는지 적어보려한다.Main code : pygmo를 활용하여 hypervolume 계산나는 pygmo라는 라이브러리를 활용하여 multi-objective optimization을 진행할 때 필요한, hypervolume을 계산하고자 하였다. 밑에가 내가 작성한 코드이다.import functoolsimport pygmoimport numpy as np# hypervolume을 계산하는 함수에 캐싱 적용@functools.lru_cache(maxsize=None)de.. 2024. 5. 15.
20230913 : VScode Remote 접속 (Remote Development) 글을 쓰기 앞서.. 재택근무가 활성화된 시점에서 원격으로 내 컴퓨터에 접속해서 code를 수정하고 싶은 나날들이 정말 많았다. 이런 니즈를 느끼던 와중에 vscode에서 사전에 remote 접속하고 싶은 컴퓨터 정보만 입력해두면, 노트북에서 바로 연결해서 사용이 가능하다는 정보를 보고 포스팅하게 되었다. 여기서 굉장히 마음에 들었던 점은 원격 접속이라는 편리함 뿐만 아니라, 원격 접속할 컴퓨터의 가상환경이나 세팅을 그대로 사용이 가능하다는 것이다. 내가 직접 해보고 쓴 글이니 아마 많은 사람들에게 도움이 되었으면 한다. 사전에 check해야할 부분 - sever로 구축할 computer에 openSSH, openClient 설치 여부 Remote server (ubuntu) : 원격으로 접속할 컴퓨터 (.. 2023. 9. 13.
트랜지스터 오늘은 짧게 트랜지스터에 대해서 얘기하려고 한다. 사실 나도 핸드폰, 컴퓨터를 쓰면서, 컴퓨터가 어떻게 이루어져있고, 어떠한 원리로 동작하는지 제대로 이해하지 못했다. 그래서 항상 궁금했었고, 알고보니 표면화학 수업을 들으면서 이미 알고 있던 내용이라 다시 한 번 정리하는 기회를 가지면 좋을 것 같다고 생각했다. n-type, p-type 반도체 mambo-coding-note.tistory.com/403?category=786168 2-2. Band of Structures : 반도체, Fermi Level, dopant 본 글은 고려대학교 화공생명공학과 하정숙 교수님의 강의록을 참고하였으므로, 이를 상업적으로 이용하면 안되며, 글을 가져가실 때는 꼭 출처와 댓글을 남겨주시기 바랍니다. 4. Band .. 2020. 11. 8.
Python으로 클라우드 시스템 구축 www.slideshare.net/yongho/2011-h3 2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요 파이썬으로 멀티코어, 멀티노드, 클라우드를 활용하는 방법에 대해 살펴봅니다. 파이썬으로 어떻게 하면 분산처리 병렬처리를 잘 할 수 있을까요? www.slideshare.net 2020. 10. 8.
Instance method vs Classmethod vs Staticmethod 하 이 친구... 진짜 이해하기 개 힘들었다. 근데 직접 내가 사용해보니까 이제 좀 알 것 같다. 일딘 method에 대해서 정의를 하고 가면 좋을 것 같다. Instance Method class Calc: def add(self, a ,b): return a + b cal = Calc() cal.add(1,2) # return 3 method란 class안에 속해 있는 function으로 생각하면 된다. method는 self라고 정의를 해줘야 클래스에서 객체를 생성하고, 객체가 이 method를 사용할 수 있다. self는 생성된 객체를 의미한다. 이 부분은 과감하게 생략하고 넘어간다. 만약 이 부분이 이해가 가지 않는다면, class에 대해서 좀 더 공부를 하고 오는 것이 좋다!! @classme.. 2020. 10. 8.
VScode 가독성 좋게 하는 방법 blog.naver.com/PostView.nhn?blogId=hadaboni80&logNo=221608367376&categoryNo=0&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView [vscode] 작업 속도를 1.5배 향상시켜 줄 비주얼스튜디오코드 확장 기능들 오늘은 설치해두면 유용한 vscode 확장 기능들을 간단하게 몇 가지 소개할까 합니다.만약 gulp나 grunt, we... blog.naver.com 여기 참조하기 2020. 10. 6.
Ai : Search (Manual, Grid, Random) 우리들의 모든 ai 모델들은 data 기반으로 Model이 train되고 test가 이루어진다. 또한 data 기반으로 만들어지는 Model들은 여러 Hyperparameter를 가지게 된다. 그래서 인간들은 인간이 정해주어야하는 Hyperparameter 까지 MAX를 나타내는 search를 하도록 하고 싶었다. 실제로 현재 나와있는 Optimization 방법들이 이 3가지의 개념들을 응용한 최적화 기법이라고 생각하면 된다. 그래서 이번 포스팅에서는 여러 search 방법 중, Manual, Grid, Random 방법 3가지를 적고 이들의 목적, 개념, 장단점을 차례로 비교해 볼 생각이다. Manual Search 정의 우리가 직접 조절하면서 search하는 것을 Manual Search라고 한다... 2020. 9. 16.
Ai : Transfer Learning mangastorytelling.tistory.com/entry/ITFIND-%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5-%EC%A0%84%EC%9D%B4%ED%95%99%EC%8A%B5Transfer-Learning%EA%B3%BC-%EC%9D%91%EC%9A%A9-%EB%B6%84%EC%95%BC-%EB%8F%99%ED%96%A5 2020. 8. 30.
Ai : Meta Learning 흔히 우리는 metadata, 메타데이터 라는 말을 쓰곤 한다. 여기서 말하는 metadata는 데이터에 대한 데이터를 의미한다. 이게 무슨말인지 밑에서 설명하겠다. 인류 최초의 메타데이터는 도서관의 서적 관련 정보를 정리해놓은 책이다. 이 책을 보면, 저자, 만든 날짜, 책의 수량 등등 각각 책에 관련된 정보가 적혀져 있는 정보가 모인 책이다. 우리가 흔히 쓰는 metadata를 보면, 데이터에 관한 정보가 담겨져 있는 구조화된 데이터이며, 다른 데이터를 설명해주는 데이터이다. 어떤 데이터를 분석, 분류하기 위해 만들어진 데이터라고 보면 된다. 왜 Meta Learning을 해야하는가? Meta Learninig이 왜 중요한가? supervised learning일 때를 가정하면, labeling 되어.. 2020. 8. 28.
Ai : Few shot Learning Few Shot Learning은 적은 데이터를 학습하더라도 좋은 성능을 내도록 하는 학습방법이다. 이제 이 획기적인 방법에 대해서 포스팅을 할 예정이다. 왜 Few Shot Learning을 해야하는가? 우리 인간은 적은 데이터를 학습하더라도, 실제로 적은 데이터 기반으로 문제를 풀 수 있다. 하지만, 기계는 인간처럼 소량의 데이터만으로도 놀라운 학습 능력을 갖출 수는 없을까? 이에 대한 답을 내는 것이 바로 Few Shot Learning 이다. Few Shot Learning은 meta learning을 기반으로 하는 학습방법이다. 2020/08/28 - [AI] - Ai : Meta Learning Ai : Meta Learning 흔히 우리는 metadata, 메타데이터 라는 말을 쓰곤 한다. .. 2020. 8. 28.
AI : Continual Learning 우리 인간은 갓난아기 때 부터 학습이 이루어진다. 그리고 죽기 직전까지 학습이 계속 이루어진다. 인간은 학습을 계속하면서 물론 까먹긴 하지만, 어느정도 지식의 gap이 그렇게 차이가 나지 않는다. 즉, 인간은 시간이 흐른다고 예전에 배웠던 것을 잘 까먹지는 않는다. 예전에 초등학교 때, 젓가락질을 배운 것을 우리는 지금도 까먹지 않고 죽기 직전까지 잘 쓰지 않는가? 우리는 지금 잘 쓰고 있는 인공지능, 딥러닝 모델이 인간과 비슷하게 한 번 학습한 것은 까먹지 않도록 알고리즘을 짜서 성능이 좋은 모델을 만들고자 하며, 이러한 해답을 찾는 것이 Continual Learning 이다. 왜 Continual Learning ?? 이처럼 사람의 학습을 표방하여 만든 Model들도 그러면 좋으련만... 기존의 데.. 2020. 8. 27.
AI : Self Supervised Learning 우리는 머신러닝 기법 중에 크게 두 가지로 나뉜다. Supervised Learning Un-Supervised Learning Supervised Learning 은 labeling이 이미 되어있는 data들을 학습시키는 것을 말한다. Un-Supervised Learning labeling이 안되어있는 data들을 학습시키는 것을 말한다. 우리는 Supervised Learning이 성능이 좋은 것을 알지만, Labeling을 하는 것도 사람의 노동력이 필요하기 때문에, 비용이 많이 든다. 그리고 labeling data들이 모두 맞다고 할 수는 없다. 따라서 우리는 labeling 할 필요가 없는 Un-Supervised Learning을 선호한다. 하지만 우리는 여기서 물음을 던질 수 있다. "l.. 2020. 8. 27.