He's installing a new light

He's wearing a tool belt. 

He's carrying a backpack.

He's taking off his uniform.

 

tool belt 도구 벨트

I'm taking public transportation.

I've played piano for years.

That sounds like a lot of fun.

public transportation 대중 교통

 

I'm sure she's worked with a lot of caterers 

caterer 음식 공급업자, 연회업자 

 

Diamond Motor Company is considering hiring 30 assembly workers in order to increase production by 50 percent during the upcoming fiscal year.

 

consider 동명사를 목적어로 갖는 동사 

fiscal year 회계연도

 

agreeably 기분좋게, 기꺼이

fully 완전히, 충분히

attendee 참석자

 

complimentary 무료의, 칭찬하는

alert 알림, 경고 

excuse 면제하다, 용서하다; 변명, 이유

borrower 대출자, 빌리는 사람

take note of ~에 주의하다, 주목하다

appropriate 적절한

 

image를 로드할 때 실패하거나 연산 오류를 발생할 때 반환값이 None이 되는 경우가 있어서

다음과 같이

if A == None: ~~~

처럼 작성했더니 제대로 동작안해서 찾아봤다 

"=="을 작성할 때는 값이 명확하게 동일한것인지 아닌지가 중점이다

이럴 때는 is None 이라고 쓰는것이 맞다고 한다 

하지만

np.ndarray 이 경우에는 타입자체가 np.ndarray를 유지하면서 

들어가 있는 값 자체가 None인 경우가 있어서 의도한대로 작동을 안할 수 있다. 

이럴 때는 np.isnan() 또는 pd.isnull()를 쓰면 None값인 위치를 알수 있다고 한다

 

import numpy as np

# None이 포함된 리스트로 배열 생성
# 주의: None은 자동으로 np.nan으로 변환됩니다
arr = np.array([1, 2, None, 4, 5])

# None 값 확인 방법 1: np.isnan() 사용
none_mask = np.isnan(arr)
print("None인 위치:", np.where(none_mask)[0])

# None 값 확인 방법 2: pandas의 isnull() 사용
import pandas as pd
none_mask = pd.isnull(arr)
print("None인 위치:", np.where(none_mask)[0])

 

만약 객체 배열에서 실제 None 값을 찾는다면

 

# 객체 배열 생성
obj_arr = np.array([1, 2, None, 4, 5], dtype=object)

# None 값 직접 비교
none_mask = np.array([x is None for x in obj_arr])
print("None인 위치:", np.where(none_mask)[0])

'프로그래밍 언어 > Python' 카테고리의 다른 글

pip 보다 빠른 uv  (0) 2025.04.06
Torch의 unsqueeze(), unsqueeze_()  (0) 2025.03.19
집합 자료형 - set  (0) 2025.03.11
Python swapcase()  (0) 2025.03.02
python icecream 패키지  (0) 2025.03.02

PyTorch에서 unsqueeze()와 unsqueeze_()는 텐서의 차원을 확장하는 함수입니다. 두 함수의 주요 차이점은 연산 방식에 있습니다.

unsqueeze()

  • 새로운 차원을 지정된 위치(인덱스)에 추가합니다
  • 원본 텐서를 변경하지 않고 새로운 텐서를 반환합니다 (비파괴적 연산)
  • 사용 예시:
    import torch
    x = torch.tensor([1, 2, 3, 4])  # 형태: [4]
    y = x.unsqueeze(0)  # 형태: [1, 4]
    z = x.unsqueeze(1)  # 형태: [4, 1]

unsqueeze_()

  • 기능적으로는 unsqueeze()와 동일합니다
  • 원본 텐서를 직접 변경합니다 (파괴적/인플레이스 연산)
  • 밑줄(_)은 PyTorch에서 인플레이스 연산을 의미합니다
  • 사용 예시:
    import torch
    x = torch.tensor([1, 2, 3, 4])  # 형태: [4]
    x.unsqueeze_(0)  # x의 형태가 [1, 4]로 직접 변경됩니다

주요 용도

  • 배치 차원 추가하기 (단일 샘플을 배치로 변환)
  • 브로드캐스팅 연산을 위한 차원 맞추기
  • CNN이나 RNN 등의 신경망에 입력할 때 필요한 차원 형태로 변환

unsqueeze_()는 메모리를 절약할 수 있지만, 원본 데이터가 변경된다는 점에 주의해야 합니다.

'프로그래밍 언어 > Python' 카테고리의 다른 글

pip 보다 빠른 uv  (0) 2025.04.06
np.ndarray == None ? is None  (0) 2025.03.19
집합 자료형 - set  (0) 2025.03.11
Python swapcase()  (0) 2025.03.02
python icecream 패키지  (0) 2025.03.02

+ Recent posts