728x90
반응형
- [Pytorch] RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn - 전체 에러 문구 RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn - 해결 방법 requires_grad 함수가 False 값을 가진 채 backward 함수를 실행하면 발생하는 오류입니다. backward()함수를 통해 역전파를 실행하기 위해 네트워크의 뒤로 갔는데 gradient를 저장해 둔 공간이 없기 때문에 에러가 발생한다고 할 수 있습니다. import torch import torch.nn as nn loss = nn.CrossEntropyLoss() input = torch.FloatTensor([[-1.4922, -0.1335, 0.2527, 0.0334, 0.0705], [-0.. 2023.01.29
- [dlib] dlib 설치시 에러 dlib 설치 전 cmake 를 먼저 설치해줘야 합니다.하지만 cmake 를 설치 했음에도 불구하고 아래와 같은 에러 문구가 계속 뜬다면... ModuleNotFoundError: No module named 'cmake' [해결방법] 1. 먼저 설치했던 cmake를 모두 제거합니다.sudo apt-get remove cmakesudo apt-get purge cmakesudo apt remove cmake which cmake 를 입력했을 때 아무것도 나오지 않아야 합니다. 2. 아래 버전으로 cmake와 dlib을 새로 설치해줍니다.pip install cmake==3.25.2pip install dlib==19.24.2 [참고 사이트]https://github.com/davisking.. 2024.05.10
- [딥러닝 기본지식] 그래프 신경망(Graph Neural Network) ▶ Graph Neural Network(GNN) GNN은 그래프 구조의 데이터를 입력으로 사용하는 인공 신경망입니다. 가장 많이 쓰이는 인공 신경망들인 FCN(Fully Connected Network)과 CNN(Convolutional Neural Network), RNN(Recurrent Neural Netwrok)등은 보통 벡터나 행렬 형태의 입력을 사용합니다. 그에 비해, GNN은 입력이 그래프 구조입니다. ▶ Neighborhoods Aggregation GNN은 입력으로 그래프 구조(노드들 사이의 연결 상태)와 노드별 feature 정보를 받습니다. 입력으로 받은 feature들의 정보와 이웃 노드 정보를 바탕으로 각 노드 별 embedding 을 출력 결과를 얻을 수 있습니다. 이때.. 2023.03.04
- [딥러닝 기본지식] Diffusion Model 이번 포스팅에서는 Generative Model 중에서 최근 활발하게 연구되고 있는 Diffusion Model에 대해 작성하겠습니다. 먼저, Generative Model이 무엇인지에 대해서 부터 알아보겠습니다. 1. Generative Model 이란? Generative Model 은 입력으로 주어지는 데이터 x로 부터 샘플링된 분포(distribution)를 평가하는 모델을 말합니다. 가장 유명한 것으로 GAN이 있죠! 딥러닝 모델이 분포를 평가한다는 것은 정확히 무슨 의미일까요? 분류 모델의 경우에는 모델의 output이 분류해야 할 class들 중 하나입니다. 하지만 생성 모델에서는 output이 분포를 결정짓는 값입니다. 즉, 주어진 데이터가 나올 확률을 의미합니다. 주어진 데이터의 가능도(.. 2023.05.01
- [JNI] JNI 사용법 및 튜토리얼 (1) 이번 포스팅에서는 JNI에 대한 간단한 설명과 튜토리얼을 실습해보겠습니다! ▶ JNI 란? 먼저! JNI란 무엇일까요? JNI 는 JAVA Native Interface 의 줄임말입니다. JAVA는 가상머신 위에서 실행되는 언어입니다. 그렇기 때문에, java 가상 머신을 실행할 수 있는 모든 기계나 장치에서 실행할 수 있습니다. 하지만,, 종종 특정 아키텍처에서 고유하게 컴파일 된 코드를 사용해야 하는 경우가 있습니다. JAVA 코드에서 C나 C++로 작성된 라이브러리들을 호출해야 하는 경우들이 이에 해당합니다. 이때, 이 두 언어 사이를 연결해주는 브리지가 필요하고 이를 JNI라고 합니다. ▶ JNI의 사용이유? JNI의 구체적인 사용이유로는 아래 3가지를 꼽을 수 있습니다. 1. 일부 하드웨어를 처.. 2023.03.11
728x90
반응형