목록분류 전체보기 (32)
Python 연습장

tqdm 사용법은 간단하다. for 문 끝에 iterator 나 list 등에 tqdm 만 씌워주면 알아서 프로그래스 바가 생성된다. time.sleep 을 써준 이유는 프로그레스 바가 진행되는 모습을 보여주려고 추가한 거고 실제 사용시에는 없앤다. from tqdm import tqdm import time for i in tqdm(range(10000)): time.sleep(0.01) 위 구문은 아래처럼도 사용할 수 있다. from tqdm import trange for i in trange(10000): time.sleep(0.01) enumerate 사용시에는 tqdm(enumerate ~ 가 아니라 enumerate(tqdm ~ 순서여야 프로그레스 바가 나타난다. from tqdm impor..
#드라이브 마운트 from google.colab import drive drive.mount('/content/drive') import PIL PIL.Image.open('/content/drive/MyDrive/cats.jpeg') 'MyDrive' 빼먹지 말 것!

텐서플로우 2.11 부터는 윈도우에서 GPU 지원을 안 한다고 한다. https://www.tensorflow.org/install/pip#windows-native WSL 은 windows subsystem for linux 의 약자로 윈도우에서 리눅스 환경을 사용하는 도구로 윈도우는 아닌 듯. 그래서 tensorflow gpu는 그냥 코랩에서 사용하도록 하고 pc에서는 pytorch로 맞추려고한다. pytorch gpu 개발 환경을 맞추기 위해 아래의 순서로 진행한다. 1) gpu 사양 확인 2) gpu 드라이버 깔기 3) gpu에 맞는 cuda ver 확인 후 설치, cudnn도. 4) torch 설치 5) gpu 인식하는지 확인 torch 설치할 때는 하기 링크 참고. 여기서 cuda 버전 맞는 ..

python으로 코딩을 해 본 사람이라면 모두가 사용해봤을 colab. 하지만 배포된 강의자료 열어볼 때만 써봤지 제대로 알아보고 사용한 적이 없어서 환경과 사용방법에 대해 정리해두려고 한다. [ colab 을 사용하는 이유 ] - GPU 가 제공된다. - ipynb 파일로 markdown 을 같이 쓸 수 있어서 강의자료로 적합하다. - cloud(google drive) 기반이라 장소에 구애없이 사용가능하다. - cloud 기반이라 공유하기 편하다. [ colab 의 단점 ] - 기본 package 가 아니면 매번 package 를 새로 install 해줘야 한다. - 코드가 길어질 경우, output 이 많을 경우 로딩이 있고 느리다. - jupyter notebook 과 마찬가지로 코드 오류 확인이..
1. 가상환경이 필요한 이유 : 프로젝트별로 다른 버전의 패키지들이 필요하기 때문. Python 으로 코딩하다보면 버전이 안 맞는 경우가 생긴다. 이 패키지를 쓰려면 저 패키지의 버전을 낮춰야하고 근데 나는 다른 프로젝트에서 저 패키지의 높은 버전이 필요하고.. 그렇게 버전을 올리고 내리고 하다가 환경설정이 다 망가지고 파이썬 다 지우고 새로 설치해야하는 경우가 생긴다. (꽤 많이!) 패키지가 아니라 파이썬 버전이 안 맞는 경우도 있다. 대표적으로 python 3.8까지만 지원하는 Pycaret 이 그렇다. 또 gpu 에 따라 tensorflow 설치 시 Python 환경이 달라지는데 이 때도 필요하다. 또 하나 더. pyinstaller 나 cx_freeze 로 exe 파일 만들 때 필요없는 패키지들까..
Spyder 사용 시에는 global memory 가 얼마나 사용되고 오른쪽 하단에 나와서 메모리 관리를 하면서 코딩할 수 있었는데 Vscode, jupyter 사용 시에는 확인이 어렵다. 그래서 종종 메모리 얼마나 남았는지 종종 확인하려고 코드 기록해둔다. def memory_usage(): import psutil mem = psutil.virtual_memory() print(f"memory using {mem.percent}%, {np.round( mem.available/2**30, 2) }GB left ") memory_usage() 현재는 memory using 69.3%, 2.46GB left 라고 나온다. psutil.vitual_mmeory() 에서 total 메모리도 확인 가능하다.
CPU 코어수를 확인하고자 검색하면 보통 아래 세가지 코드가 나온다. import multiprocessing multiprocessing.cpu_count() import psutil psutil.cpu_count() import os os.cpu_count() 근데 내 컴퓨터는 쿼드코어인데 자꾸 8 로 나와서 뭔가하고 찾아보니 core 가 아니라 thread 수라고 한다. 하드웨어적인 거는 잘 모르긴한데 예전에 core 는 머리 thread 는 팔이라는 비유를 봤었다. hypterthread 라고 해서 머리는 하나인데 팔은 2개인 처리 장치(인텔꺼는 대부분 그렇단다)로 보면 될 것 같다. import psutil psutil.cpu_count(logical = False) 이렇게 입력하면 진짜 cor..
이렇게 오래걸릴 거라고는 전혀 생각도 못했고 지금 이 시점에 될 거란 것도 생각도 못했다. 내가 처음 아래 글을 쓰면서 한 달 뒤 애드고시 합격 후기를 쓰기를 바란다고 적었는데, 어느덧 6개월 시간이 흘렀다. https://sthsb.tistory.com/1 수익형 블로그 운영 방법 새해 목표는 블로그로 용돈 벌기로 정했다. 그동안 계속 도전해보고 싶었는데 바쁘다, 주제를 못 정한다, 글재주가 없다, 생각보다 얼마 벌지 못할 거다 라는 핑계로 계속 미뤄왔었다. 이번엔 애 sthsb.tistory.com 나름 포스팅을 꼬박꼬박하려고 했는데 번번히 떨어졌고, 내용에 문제가 있나 싶어서 더 꽉찬 내용으로 채우려다보니 포스팅에 대한 부담이 커지고, 그러니까 더욱 포스팅할 맛은 안나고, 그러다가 최근 3개월간은 ..

1. 다시 Jupyter 으로.. 우선 내가 지금까지 주로 사용하고 있는 Spyder 의 장점! 1) Variables 를 확인하기 매우 편하다 - Variable Explorer 에서 list, array, dataframe 등을 클릭해서 한번에 보기 좋다. 너무 크지만 않으면 금방 뜬다. 2) 이미지를 복사해서 붙여넣기 편하다. - 캡쳐하거나 save 할 필요없이 Plot Tab에서 복사하면 엑셀이든 어디든 바로 붙여넣기 좋다. 3) 한 번에 긴 코드를 짜기 좋다 (이건 jupyter notebook 제외한 다른 ide 공통) 단점! Variables 를 보는데 에러가 자주 발생한다!! 가장 큰 강점이 Variables 보는 건데 이걸 못보게되니까 정말 쓰기 싫어지더라. 그리고 가끔 변수나 이미지가 ..
XAI 는 eXplainable AI 의 약자로, 결과가 짠하고 나오기만 하고 그 과정을 알아내기가 어려운(이걸 Blackbox 라고 표현한다) AI 모델을 해석해주는 알고리즘이라고 한다. 내가 현재까지 이해한 걸로는 feature importance 의 complex 하고 심화된 버전이라고 생각되고 아직까지는 feature importance / coefficient 가 더 직관적이고 단순해서 이해하기 쉽다. XAI 알고리즘 중에서 가장 유명한 건 Shap 이다. SHAP 은 SHapley Additive exPlanation 의 약자로 Game Theory 에 기초한다. Game Theory 는 영화 뷰티풀 마인드에 나온 유명한 아저씨인 존 내쉬가 이 이론을 바탕으로 Nash Equilibrium 을..