본문 바로가기

전체 글340

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.
Optimization : Bayesian Optimization 우리는 실생활에서 어떤 것을 최적화를 하고 싶어한다. 예를들어, 나에게 10분이 주어질 때, 제일 최적의 경로를 예측한다고 하면, 커피를 뽑고, 모니터를 키고, 모니터를 키는 동안 약을 먹고, 약을 먹는동안 다 내려진 커피를 가지고 정수기로 가서 물을 담는다. 이러한 과정을 어찌보면 실생활에서 누구나 쓰는 최적화 기법이다. 조금만 더 ML 관점으로 적어보자. 보통 Deep Learning은 아키텍쳐의 구조, 신경망의 깊이와 넓이, L1, L2 계수, batch 크기, epoch 크기 등등 정말 수십가지의 hyperparameter들이 존재한다. 이러한 parameter 들을 어떤 파라미터들을 어떻게 적용했을 때, 제일 최상의 max 하기 위해서는 어떻게 조절해야하는지 궁금하다. 이러한 과정도 최적화, O.. 2022. 5. 25.
Pytorch + RTX3080 print(torch.cuda.is_available()) # False CUDA : 11.2 cuDNN : 미리 깔았었음 pytorch : 1.8.1 계속해도 안되서 아래의 페이지를 참고해서 pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html 위의 command로 torch를 한단계 downgrade했더니 정상작동함. goodtogreate.tistory.com/entry/2004-%EC%9A%B0%EB%B6%84%ED%88%AC%EA%B8%B0%EB%B0%98-NVIDIA-GeForce-RTX-3090%EC%97%90-CUD.. 2021. 3. 8.
RTX 3080 병렬로 tensorflow 위에 올려보기 GPU 연결하기 1. GPU tensorflow와 연동하기 전반적인 Setting은 이 사이트를 보고 했다. 하지만, 이 사이트는 RTX 3080에는 적합하지 않은 Setting 환경이었다. 지금 RTX 3080이 나온지 얼마 되지 않았고, Tensorflow 에서 정식적으로 호완하기에는 아직은 이른 상황인가보다. (역시...새로운게 다 좋은건 아닌 것 같다.) 그래서 이 글을 보고 헤매지 말자... 나 진짜 반나절은 이거 하나로 날려먹은듯. 처음에는 CUDA 11.2 버젼 // cuDNN 11.1 버젼으로 다운받았다가, CUDA 11.1 버젼 // cuDNN 11.1 버젼, 마지막으로 해본게 CUDA 11.0 버젼 // cuDNN 11.0 버젼 이었다. (하지만, 이게 CUDA, cuDNN 이 아니라,.. 2020. 12. 23.
트랜지스터 오늘은 짧게 트랜지스터에 대해서 얘기하려고 한다. 사실 나도 핸드폰, 컴퓨터를 쓰면서, 컴퓨터가 어떻게 이루어져있고, 어떠한 원리로 동작하는지 제대로 이해하지 못했다. 그래서 항상 궁금했었고, 알고보니 표면화학 수업을 들으면서 이미 알고 있던 내용이라 다시 한 번 정리하는 기회를 가지면 좋을 것 같다고 생각했다. 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.
DQN (Deep Q-Networks) 지금까지 우리가 배웠던 내용을 간단하게 정리해보자! 우리는 지금까지 Model을 알고 있는 경우를 Dynamic Planning으로 해결했으며, Model을 모르는 경우는 한 episode가 끝난 이후에 Return Function을 계산하는 Monte Carlo Method 나 일정한 Term을 주고 한 episode에 대해서 Return Function을 계산하는 TD Method 방법이 존재했다. 또한 우리는 어떤 특정 state일 때, 가지는 누적 reward, Return들의 기댓값을 말하는 Value function을 찾는 것이 목적이다. 이 Value Function은 어떤 특정 state일 때, 특정 action 을 선택할 확률인 Policy, $\pi$와 특정 state에서 action을.. 2020. 10. 3.
Quantom Dot Synthesis 개요 Quantom Dot Synthesis Procedure 1 Procedure 2 30mg 순수한 selenium powder를 넣는다. 5ml 1-Octadecene 넣고, stirring bar에서 stirring 0.4ml Trioctylphosiphine 투명하기 전 까지 liquid 계속 strring 한다. (Trioctylephosiphine이 Selenium 과 만나서 Trioctylphosphine selenide) 투명해지면, 밀봉하고 식힌다 (위의 방법대로 진행한다면, 5번 실험이 가능하다.) 13mg Cadmium Oxide를 플라스크에 넣고 온도계를 넣는다. 0.6ml Oleic Acid를 넣고 10ml 1-octadecene을 넣는다. Cadmium Oxide가 다 녹기전까지 열.. 2020. 9. 28.
Off-Policy Control 1. 1/n 이 왜 있을까 --> 평균이라 2. 솔직히 뮤랑 파이랑 뭐가 다른지 모르겠다 3. 보통 optimal policy라고 하면 현재 policy보다 더 나은 value function을 가지는 policy를 말하는데, 이 때문에 주어진 policy에 대한 Q-value를 전부 더하는 것 대신에 Q-value 중에서 가장 큰 값을 얻을 수 있는 것을 취하는 것을 Q-learning 동작원리이다. model based 상태에서 policy가 존재하는 것을 monte carlo method라고 한다. model free 하다는 부분을 조금 헷갈렸는데, 이 부분은 셋다 모델을 모르는 건 동일한데, MCTS는 model의 전체적인 부분까지 다 보기 때문에, 나중에 value function을 값을 메기는.. 2020. 9. 24.