카테고리 (179) 썸네일형 리스트형 [Error] IndexError: invalid index of a 0-dim tensor. Use `tensor.item()` in Python or `tensor.item<T>()` in C++ to convert a 0-dim tensor to a number IndexError로 다음과 같은 에러가 발생했다. 깃허브에 있는 예전 코드를 가져올 때 발생할 수 있는 에러인데 pyTorch의 버전이 0.5 보다 크면 발생할 수 있다고 한다. 이 에러는 단순히 0 차원 텐서가 유효하지 않기 때문에 발생하는 에러다. data[0] --> data 로 바꿔주면 해결된다. 주석처럼 돼있는걸 주석 아래줄로 바꾸면 된다. 참고 사이트 : github.com/NVIDIA/flownet2-pytorch/issues/113 [책 소개] 당신은 겉보기에 노력하고 있을 뿐 이 책은 이런 내용을 담고있다 제목만 보면 이 책은 노력하는법, 흔들리지 않고 내 할 일을 죽어라 열심히 할 수 있는법에 대해서 말해주는 책으로 보인다. 그런 내용을 포함하고 있는 것은 사실이나 노력과 성공에 대한 내용만 가진 책이 아니다. 처음에는 노력과 목표, 성공에 대한 이야기가 나오지만 책 중반부로 가면 ‘관계의 중요성’, ‘자기가 처한 현실에 대해 불만을 가진 것’에 대한 조언도 있다. 이 책의 저자는 중국인이고 중국의 수 많은 젊은이를 위한 현실적인 조언을 담았으나 어느 나라냐에 상관없이 우리나라 젊은 세대도 읽으면 충분히 도움이 될 현실적인 조언들이 많이 담겨있다. 내용중에서 3가지 간략한 소개 [수면만이 휴식이 아니다] 글쓴이의 기숙사 동기는 하루의 열시간씩 자도 계속계속 피곤해 했다. 친.. [책 소개] 부의 추월차선 이 책은 이런 내용을 담고있다 '부의 추월차선'은 진정한 부자가 되는 것에 대해 소개한다. 일반적으로 사람들이 알고 있는 '열심히 일하고 재테크하고 쿠폰, 마일리지를 모으고 아끼면 부자가 될 수 있다.'라는 패러다임을 깨고 있다. 그러면서 '추월차선'에 올라타려면 어떻게 해야하는가를 소개한다. 내용일부 간략한 소개 - 추월차선이란 '내가 시간을 들여서 돈을 직접 버는 시스템'이 아닌 '내가 만든 것이 나에게 돈을 벌어다주는 시스템을 만드는 것'을 말한다. 예를 들어 이 시스템은 사업일 수 도 있고, 웹사이트일 수 도 있다. 돈을 벌어다 주는 시스템을 만들어야 내가 쉴 때도, 잘 때도 돈이 들어올 수 있고 그래야 내 인생의 시간을 나를 위해 사용할 수 있다고 말한다. - 책에서는 '직업'을 가지면 안된다고.. [논문정리] (AlexNet) ImageNet Classification with Deep ConvolutionalNeural Networks 이 포스트는 현재 수정중입니다. 요약 내용정리 눈여겨볼점: 1. ReLU 사용 2. GPU병렬 사용 3. Normalization 기법 4. overlapping pooling 5. overfitting을 피하기 위한 dropout 사용 [연구 기록] FAN코드와 내 코드를 비교하며 알게된 점 FAN코드는 Bulat의 How far are we from solving the 2D & 3D Face Alignment problem? 논문의 코드이다. 이 논문은 2D,3D face alignment에서 유명한 논문이며 이 논문의 코드와 내 코드의 비교는 의미있다고 할 수 있다. 아래에서 개인적으로 가장 중요하다고 생각하는건 학습 option 설정, Randomness통제, 각 option에 따른 기능 구현이다. 비교사항 논문 코드 내 코드 log 기록 객체화시켜서 각 기능을 구현했다. 구체적이다. learning rate, train cost, train error, val cost, val error를 epoch 마다 기록했다(loss나 성능관련된건 train, test 할 것 없이 다 기록한 .. [data loader] 데이터 불러올때 경로설정(dir path) 및 데이터폴더 정리 pytorch로 연구할 때, data loader부분소스코드를 짜는것과 데이터준비하는것만 해도 절반은 했다는 말이 있다. 그 만큼 data를 잘 불러와서 처리하는게 중요하고 어렵다는 말인데 나중에 겪을 시행착오를 위해 미리미리 쉬운 케이스부터 기록해놓겠다. 아래는 Bulat의 "How far are we from solving the 2d and 3d face alignment problem" 논문에서 제공하는 코드를 실행하는 부분 중에서도 데이터를 가져오는 파일의 코드이다. class facedb는 data를 load하는 기능의 클래스이다. 이 글에서 더 이상 자세하게 볼 필요는 없다. 오픈소스코드에서는 저렇게(위 사진처럼) 경로지정하는 부분까지 제공해주는데 이 때, 경로를 어떻게 지정해주어야 하며 다.. [model 저장] 훈련중인/훈련이 완료된 모델 저장하기 실험을 하다보면 훈련이 완료되거나 훈련중인 모델을 저장해야할 일이 생긴다. 아래는 모델을 저장하는 예시코드이다. res20 = ResNet(20) res20.to("cuda:0") train_net(res20,trainloader, testloader, n_iter=80 ,device="cuda:0", lr=0.1, train_err=res20.train_err, val_err=res20.test_err) # res20 저장 torch.save(res20,'./model_res20') 아래는 저장한 모델을 불러오는 코드이다. 모델을 불러오면 바로 그 상태에서 training을 계속할 수 도 있고 평가할 수 도 있으며, 모델에 구현되어 있는 기능을 자유롭게 사용할 수 도 있다. model = my_resn.. [Error] TypeError: conv2d(): argument 'input' (position 1) must be Tensor, not NoneType TypeError: conv2d(): argument 'input' (position 1) must be Tensor, not NoneType 원인 : nn.Conv2d()에 input type으로 Tensor type이 들어가야 하는데 NoneType이 들어가고 있다는 말이다. 왜 NoneType이 들어가고 있는지 코드에서 확인해보아야 한다. self.layer2의 정의를 살펴보니 ResidualBlock 클래스의 내부를 보아야 했다. ResidualBlock class의 forward이다. 문제를 확인할 수 있겠는가? forward()의 return 을 설정해두지 않아서 NoneType 에러가 발생한 것이다. 해결법 : forward()에 return을 달아두자... 이전 1 ··· 7 8 9 10 11 12 13 ··· 23 다음