Loading...
2024. 4. 25. 23:30

파이썬의 참조방식 call by object reference

1. call by value  함수에 인자 값을 전달해도 호출자에게 영향을 주지 않음  a=5로 f(x)에서 x인자에 5를 전달을 하면 함수 내에서 x=5인데  x=7 수행문에 의해 변경시켜도 함수 밖 a 변수가 가지는 값은 여전히 5      2. call by reference  함수 내 인자 값 변경시 호출자 값에도 영향을 줌  값을 주면서 메모리 주소를 넘겨주는 형태 a=5로 함수 f의 x에 넘길 때 메모리 주소도 같이 넘겨서 함수 내부에서 x=7로 변경시키면 함수 밖 a값도 7로 바뀜      3. call by object reference 파이썬의 방식 call by value와 call by reference를 혼합해서 사용 객체의 주소가 함수로 전달되는 방식 전달된 객체를 참조하여 변경..

2024. 4. 22. 23:43

matplotlib.pyplot의 gray image 출력이 이상하다면

흑백이미지를 준비하고 matplotlib.pyplot에서 plt.imshow로 출력을 해보면 cmap이라는 옵션을 줘야한다 color map이라는 뜻인데 기본값이 viridis라고 한다. 실제로 색이 비슷한걸 보니 그런것 같다 This parameter is ignored if X is RGB(A). 마지막에 이런 문장이 있는데, X가 RGB image면 cmap을 무시한다고 한다 channel 3인 gray image로 줬을 때는 cmap을 안줘도 gray로 잘 나온다

2024. 4. 22. 02:43

딥러닝 중 UnidentifiedImageError: cannot identify image file 의 에러가 나올때

dataloader에서 이미지를 뽑아 모델에 넣어 성능 평가를 하려고 하는데.. PIL.UnidentifiedImageError: cannot identify image file 이런 에러가 나는데 /content/notMNIST_large/D/VHJhbnNpdCBCb2xkLnR0Zg==.png 파일에 무슨 문제가 있는 것이 아닐까? 생각을 해봤다 os.listdir로 일단 파일이 실제 있는지 확인을 해본다 그래서 PIL.Image.open을 이용해서 open을 해보려고 하면 다른 파일로 한번 open을 해보면 문제 없이 열리긴 한다 파일이 있다는 것은 확인했는데.. 안열린다면.. 그 파일이 문제겠지 os.path.getsize()는 해당 경로의 파일의 용량을 알려준다 0바이트라 데이터 파일이 깨져있나보..

2024. 4. 22. 02:31

colab에서 데이터를 준비하는 필수 명령어 wget, gunzip, unzip, tar xf,

!wget (url) 하면 해당 url의 파일을 다운로드 받는다 .tar.gz 형태로 압축이 되어있는데, gz 형태의 압축은 !gunzip으로 압축해제가능 !gunzip (파일명) 하면 해당 파일의 gz압축을 푼다 원래 notMNIST_large.tar.gz가 notMNIST_larget.tar로 바뀜 https://unix.stackexchange.com/questions/48690/whats-the-difference-between-gunzip-and-unzip What's the difference between gunzip and unzip? What is the difference between gunzip and unzip? Tried to search but couldn't find anyt..

2024. 4. 14. 02:54

ABC349 D번 복기 - log를 구하는 가장 정확한 방법 - math.log를 기피해야하는 이유

https://atcoder.jp/contests/abc349/tasks/abc349_d D - Divide IntervalAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp  L부터 R-1까지 연속된 정수 수열이 주어질때, 이 수열을 최소 개수의 구간으로 나눌려고 한다 L  $li = 2^{k}(j), ri = 2^{k}(j+1)$을 만족해야한다. 접근은 상당히 잘 했다 현재 시점 L을 기준으로 $L = 2^{k}j$를 만족하는 모든 k를 먼저 찾는다. 이거는 L이 2로 나누어 떨어지면,..

2024. 4. 13. 00:07

functools.partial을 이용하여 기존 함수를 재활용한 새로운 함수 만들기

딱히 쓸 일 없을 것 같은데 예전에 공부한 내용에 적혀있었으니 정리는 해놔야지 functools.partial을 이용하면 기존 함수를 재활용하여 새로운 함수를 정의할 수 있다 https://wikidocs.net/109304 031 기존 함수로 새로운 함수를 만들려면? ― functools.partial functools.partial()은 하나 이상의 인수가 이미 채워진 새 버전의 함수를 만들 때 사용하는 함수이다. ## 문제 다음은 입력한 인수의 합과 곱을 choice값에… wikidocs.net 여기 예시 설명이 잘되어있네 보통 코딩하다보면 인자에 따라 다른 기능을 가지는 함수를 만들때가 있는데 다음 함수는 인자로 add와 mul에 따라 args로 준 인자들을 add하거나 mul하는 함수 def a..