nn.Embedding에 대한 이해가 제대로 되어있지 않아 여러가지 문제가 있었다. 다음과 같은 문제들이 맞는지 확인해보자 일단 nn.Embedding(n, m)은 (n개의 정수값을 인덱스로 하는, m차원의 테이블)을 만드는 역할을 한다고 생각하면 된다. 예를들어 temp_embedding = nn.Embedding(2, 4)라고 하면 0 0.1123 -0.5321 1.1232 0.8737 1 -2.0012 1.2231 0.6653 0.5531 처럼 0~1 (2개)의 인덱스를 가지는 4차원의 테이블이 만들어진다. 이것을 보통 lookup table이라 표현한다. 다음으로 내가 가진 데이터를 저 인덱스를 통해서 vector의 형태로 불러오는 것이다. 예를들어 내가 가지고 있는 텐서 temp = [0, 0 ..
string 형태가 아닌 다른 타입의 변수를 f.write()함수 내부로 전달하면 아래와 같이 str 형태의 데이터를 전달하라며 오류가 난다. a = {"A":143} with open (..., "W") as f: f.write(a) # TypeError: write() argument must be str, not dict 그럴 때 write 함수 내에서 변수를 repr()로 감싸서 전달하면 정상적으로 저장이 된다. a = {"A":123} with open (... ,"W") as f: f.write(repr(a)) # 정상적으로 저장된다. 다만 이렇게 저장된 변수는 string 형태로 저장되기 때문에 다시 원하는 타입 (딕셔너리 등)의 형태로 이용하려면 eval()함수를 사용해야한다. with o..
ImportError는 환경변수에 의해 나타나는 에러라고 함, 이런 에러들은 주로 파이썬 라이브러리들이 업데이트되면서 해당 라이브러리 버전에 미처 따라가지 못하는 다른 패키지 버전 때문에 주로 발생한다고 한다. 다시한번 오류 메세지를 잘 살펴보자 ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/../anaconda3/envs/DTA/lib/python3.9/site-packages/pandas/_libs/window/aggregations.cpython-39-x86_64-linux-gnu.so) 딱봐도 pandas 패키지랑 뭔가 충돌이 있어보인다. 그리고 찾아..
brief solution 1. torch.from_numpy needs np.ndarray arguments not an Tensor 인자로 numpy의 ndarray를 받아야 하는 from_numpy에 실수로 Tensor를 전달하고 있었다. label = Variable(torch.from_numpy(label).float()).to(device) 해당코드를 아래와 같이 수정하면 해결할 수 있다. label = Variable(torch.from_numpy(np.array(label)).float()).to(device) 본인 코드에서 인자로 ndarray를 받아야 하는 함수에 잘못된 Tensor 타입의 데이터를 전달하고 있는지를 확인해보자
Cuda:0, Cpu 두 키워드가 에러에 동시에 출력되면 그냥 거의 백이면 백, 특정 변수는 GPU의 메모리(VRAM)에, 어떤 변수는 CPU의 메모리(RAM)에 올라와 있다고 생각하면 된다. 다음과 같은 경우를 주로 살펴보면 해결된다. model.to(device)만으로는 모델 내부에서 생성되는 변수는 device에 자동으로 올라가지 않는다. 예를들어 다음과 같은 코드를 보자 def forward(self, v): # 1. CNN ... if config['rnn_Use_GRU_LSTM_target'] == 'LSTM': h0 = torch.randn(self.direction * ... ) c0 = torch.randn(self.direction * ... ) v, (hn,cn) = self.rnn(..
https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 실버3, 문제의 의도만 파악하면 쉬운 문제다. 기하학 문제들은 누누히 말하지만, 일단 문제가 의도하는바를 명확히 파악하기만 하면, 코드는 어렵지 않게 짤 수 있다는 공통점이 있다. 이 문제도 마찬가지, 의도를 파악하지 못했다면 이걸 어떻게 구현해야될지 막막할테지만 의도만 파악한다면 아주 쉽게 풀 수 있을 것이다. 힌트부터 하나씩 확인하면서 스스로 풀어가보자. 더보기 원의 갯수는 아무..
brief solution. 1. Whenever you train your model. You must check if your model and input data both are on the same device. (cpu or cuda) 2. And you must check the input data type and model parameters' data type are same Input type은 torch.FloatTensor인데 weight type(model parameter)는 torch.DoubleTensor라서 나타나는 에러라고 생각된다. for epoch in range(train_epoch+1): model.train() for i, (v_d, v_p, label) in en..
https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 실버 3 문제이지만 정답비율 22%로 꽤나 사람들을 괴롭히는 문제같다. 개인적으로 기하학 문제들을 푸느냐 풀지 못하느냐는 이것에 달려있는 것 같다. 문제가 의도하는 바를 캐치해냈는가? 이 문제도 처음 봤을때는 이게 도대체 무슨소리인가? 싶었고 그림으로 그려보려 했지만 한시간정도 막막하게 이게 도대체 뭐지? 라는 생각에 사로잡힌채로 두려움에 떨고있었지만 문제의 의도를 파악한 순간 정답은 그냥 자동으로 알게 되는 문제였다. 먼저 힌트부터 보고 다시 한번..
- Total
- Today
- Yesterday
- eigenvalue
- manim library
- kld
- MatrixAlgebra
- manim
- vae
- 오일석기계학습
- 파이썬
- MorganCircularfingerprint
- 선형대수
- 최대우도추정
- 백준
- ai신약개발
- 기계학습
- kl divergence
- 이왜안
- Matrix algebra
- eigenvector
- 베이즈정리
- elementry matrix
- 3b1b
- ai인공지능
- MLE
- variational autoencoder
- 제한볼츠만머신
- Manimlibrary
- marginal likelihood
- 3B1B따라잡기
- manimtutorial
- 인공지능
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |