Python

Python

[pytorch] .detach().cpu().numpy()

pytorch를 사용하다 보면 모듈을 통해 나온 tensor를 사용할 일이 많은데, GPU에 올라가 있는 tensor를 이용하려면 numpy 또는 list로 변환하여야 한다. tensor를 numpy 또는 list로 변환하는 방법은 조금만 찾아보면여러 함수들이 나오긴 하지만 각 함수들을 사용하는 순서가 꽤 중요하기 때문에 자주 쓰는 방법을 기록한다. ◾ detach() pytorch는 tensor에서 이루어진 모든 연산을 기록(graph)해 놓는데 이 연산 기록에서 역전파가 이루어지게 된다. detach() 함수는 이 연산 기록에서 역전파를 중단하고 분리한 tensor를 반환한다. ◾ cpu() GPU 메모리에 올라가 있는 tensor를 CPU 메모리로 복사하는 함수이다. 이후에 numpy로 변환하기 위..

Python

[pytorch] squeeze, unsqueeze 함수

◾ squeeze 함수 squeeze 함수는 Tensor의 차원을 줄이는 함수로, 설정한 차원을 제거 해 준다. 따로 차원을 설정하지 않으면 1인 차원을 모두 제거한다. 1인 차원이 여러개 있어도 여러개 전부 다! 제거한다. import torch x = torch.rand(1,7,46,46) print(x.shape) # torch.Size([1, 7, 46, 46]) x = x.squeeze(dim=1) print(x.shape) # torch.Size([7, 46, 46]) 한가지 조심해야 할 것은 batch size가 1일 때 squeeze 함수를 사용하게 되면 batch 차원을 없애버려 validation 시 오류가 발생하게 된다. 이걸 간과하고 있어서 학습할 때 validation에서 계속 오..

Python

파이썬으로 문자열 체크하기 | 문자열 체크 함수 | isalpha(), isalnum(), isnumeric(), isdigit(), isdecimal()

코테 준비를 하면서 문자열 체크하는 함수가 유용하게 쓰이는 것 같아 필요할 때 볼 수 있게 간단히 정리해 놓은 게시글이 있으면 좋을 것 같았다. isalpha() 문자열이 영어 또는 한글로만 이루어져 있는지 확인하고 True, False로 반환하는 함수이다. 공백, 특수문자, 숫자가 포함되어 있으면 False를 반환한다. 한글도 인식하기 때문에 영어, 한글로만 되어있으면 True를 반환한다. isalnum() 문자열이 영어, 한글, 숫자로만 되어 있는지 확인 후 True, Fasle를 반환하는 함수이다. 공백문자, 특수 문자가 포함되어 있으면 False를 반환한다. 영어, 한글, 숫자로만 이루어져 있다면 True를 반환한다. isnumeric() / isdigit() / isdeciaml() 3개 함수 ..

Python

[코딩도장] Unit.24 문자열 응용하기 | 24.5, 24.6 심사문제 코드

> Unit.24 문자열 응용하기 >> s = 'Hello, world!' >>> s = s.replace('world!', 'Python') >>> s 'Hello, Python' - translate : str.maketrans('바꿀문자', '새문자')로 된 변환 테이블을 만든 후 traslate(테이블)을 사용하면 문자를 바꾼 후 그 결과를 반환한다. >>> table = str.maketrans('aeiou', '12345') >>> 'apple'.translate(table) '1ppl2' - split : 문자열을 분리하는 메서드이다. split('기준 문자열')처럼 기준 문자열을 지정해주면 지정한 기준 문자열을 기준으로 문자열을 분리하여 리스트를 만든다. ()안에 아무것도 없으면 공백을 기..

Python

[코딩도장] Unit.23 | 2차원 리스트 사용하기 | 23.7 심사문제(난이도 극상) 코드

> Unit.23 2차원 리스트 사용하기 >> 10 20 30 40 50 60 while문을 한 번만 사용하여 2차원 리스트의 요소를 출력할 수도 있다. a = [[10, 20], [30, 40], [50, 60]] i = 0 while i >> 10 20 30 40 50 60 while문을 두 번 사용하여 2차원 리스트의 요소를 출력하는 방법은 for문과 거의 동일하다. a = [[10, 20], [30, 40], [50, 60]] i = 0 while i < len(a): #i는 세로 크기 j = 0 while j < len(a[i]..

Python

[코딩도장] Unit.22 | 리스트와 튜플 응용하기 | 22.10 심사문제 코드

> Unit.22 리스트와 튜플 응용하기 >> a = [10, 30] >>> a.append([50, 70]) >>> a [10, 30, [50, 70]] >>> len(a) 4 #빈 리스트에 값 추가하기 >>> a = [] >>> a.append(10) >>> a [10] 2. extend : 리스트를 연결하여 확장. 리스트의 끝에 다른 리스트를 연결하여 확장하는 메서드이다. 따라서 리스트와 리스트를 연결한 모양이 된다. 3. insert : 특정 인덱스에 요소 추가. 위의 두 메서드는 리스트의 끝에 요소를 추가하는 방법이지만, insert는 원하는 위치에 요소를 추가할 수 있다. insert(인덱스, 요소)를 사용하여 특정 인덱스에 요소를 추가한다. 리스트의 맨 처음에 요소를 추가할 때는 insert..

Python

[코딩도장] 19.6 심사문제 | 20.8 심사문제 | 21.6 심사문제

> Unit.19 계단식으로 별 출력하기 j : print('*', end='') print() > Unit.20 FizzBuzz 문제 Unit.21 터틀 그래픽스로 그림 그리기

Python

[코딩도장] Unit.18 | break, continue로 반복문 제어하기 | 18.6 심사문제 코드

> Unit.18 break, continue로 반복문 제어하기 >> 0 1 2 ... 97 98 99 #for문에서 break로 반복 끝내기 for i in range(10000): print(i) if i == 100: break >>> 0 1 2 ... 98 99 100 continue는 break와 비슷하긴 하지만 루프를 중단하고 반복을 빠져나온느 것이 아니라 반복을 유지한 상태에서 코드만 건너뛴다. i = 0 while i >> 1 3 5 ... 95 97 99 for i in range(100): if i % 2 == 0: continue #아래 코드를 실행하지 않고 건너뜀..

Python

[코딩도장] Unit.17 | while문으로 반복 출력하기 | 17.6 심사문제 코드

> Unit.17 While문으로 반복 출력하기 > Hello, world! 1 Hello, world! 2 Hello, world! 3 ... Hello, world! 99 Hello, world! 100 반복 횟수를 정하지 않으면 조건식이 만족할 때 까지 반복하게 된다. 따라서 while문은 반복 횟수가 정해지지 않았을 때 유용하다. while문은 무한루프를 만들 수 있다. 조건식 대신 True를 입력하면 무한히 반복하는 무한 루프가 된다. 조건식이 True이므로 변화식도 필요없다. while True: print('Hello, world!') 0이 아닌 숫자, 내용이 있는 문자열은 모두 true로 취급하기에 True 대신 0이 아닌 숫자 또는 내용이 있는 문자열을 입력해도 무한 루프가 만들어진다. ..

Python

[코딩도장] Unit.16 | for문으로 반복 출력하기 | 16.6 심사문제 코드

>Unit.16 for문으로 반복 출력하기>> Hello, world! 5 Hello, world! 6 Hello, world! 7 Hello, world! 8 Hello, world! 9 Hello, world! 10 Hello, world! 11 range 대신 for문의 반복 횟수 자리에 리스트를 넣을 수도 있다. 리스트를 range 대신 넣게 되면 리스트의 요소들로 반복을 하게 된다. 이는 리스트 뿐 만 아니라 튜플, 문자형 등 시퀀스 자료형 전부 해당된다. #list a = [10, 20, 30, 40, 50] for i in a: print(i) >>> 10 20 30 40 50 #문자열 for letter in 'Python': print(letter, end=' ') >>> P y t h ..

토오오끼
'Python' 카테고리의 글 목록 (2 Page)