728x90
Temp
63

[Pytorch] How to use pytorch hooks?

What is hook? 다음 링크에 들어가면 hook은 패키지화된 코드에서 프로그래머가 customized code를 삽입할 수 있도록 해주는 하나의 인터페이스 또는 하나의 장소라고 한다. 예를 들어 프로그램의 실행 로직을 분석하거나 추가적인 기능을 제공하고 싶을 때 사용한다고 한다. What is hook? - Definition from WhatIs.com whatis.techtarget.com 다음 코드에서 Package class 내에 있는 self.hooks가 바로 위에서 설명한 hook이다. def program(x): print('program processing!') return x + 3 class Package(object): def __init__(self): self.program..

Temp 2022.02.20

[Streamlit] @st.cache를 사용하여 Torchscript load하기

일반적으로 다음과 같이 @st.cache으로 사용할 경우 hash_funcs을 사용하라면 에러 메시지가 뜬다. @st.cache def load_model(weights=os.path.join(MODEL_DIR_PATH, 'best.torchscript.pt')): # Load model w = weights model = torch.jit.load(w) return model 다음 소스코드를 보면 특정 type의 경우에는 return to_bytes를 한다. 아마 torchscript의 module은 streamlit에서 작성되지 않은 것 같다. https://github.com/streamlit/streamlit/blob/develop/lib/streamlit/legacy_caching/hashing..

Temp 2021.12.17

[Ubuntu] SSH 파일을 사용하여 Local -> Remote(Server) 파일 전송

1. 일단 key file을 ~/.ssh로 복사해줍니다. (로컬 파일 위치는 '/mnt/c') sudo cp ~/.ssh/ 2. 복사해온 key file을 사용하게되면 private key라며 오류가 뜨므로 다음과 같이 chmod를 사용하여 후처리를 해줍시다. chmod 0600 ~/.ssh/key 3. ~/.ssh 위치에 config를 다음과 같이 만들어줍니다. echo -e "Host MyServer HostName Port User IdentityFile ~/.ssh/key" >> ~/.ssh/config 4. 이제 다음과 같이 rsync를 사용하여 파일을 전송해줍니다. rsync -a --progress MyServer: 이때 로컬하고 서버에 모두 rsync가 설치되어있어야합니다.

Temp 2021.12.01

[Torch.tensor] ValueError: At least one stride in the given numpy array is negative, and tensors with negative strides are not currently supported.

다음 코드에서 numpy.ndarray를 torch.tensor로 변환하는 중 에러가 발생하였다. last_layer.weight.data = torch.tensor(last).unsqueeze(-1).unsqueeze(-1) 다음과 같이 torch.from_numpy()와 copy()를 사용하여 해결하였다. last_layer.weight.data = torch.from_numpy(last.copy()).unsqueeze(-1).unsqueeze(-1) [ref] https://stackoverflow.com/questions/57517740/pytorch-custom-dataset-valueerror-some-of-the-strides-of-a-given-numpy-array-a

Temp 2021.11.30
728x90