일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 철학
- python 강의
- dp
- 백준
- it
- 2020
- 2021
- mmcv
- 인생
- 라즈베리파이 모니터
- python
- C++
- 슬픔
- mmdetection
- 강의
- 2024
- 파이썬
- 파이썬 강좌
- 자살
- 프로그래밍
- BOJ
- 다이나믹프로그래밍
- 파이썬 강의
- 강좌
- python 강좌
- 알고리즘
- 계획
- 자작시
- dynamic programming
- 공부
- Today
- Total
목록
인공지능
(9)
반응형
Stargazer
diffusiondet 를 사용하려고 train.py를 돌렸는데 위와 같은 에러가 나왔다. 근데 파이썬 실행후 손수 import하면 잘 된다 뭔가 꼬인게 분명하다 그래서 재설치 하기로 했다 우선 github 레퍼지토리에서 pip install -v -e . 명령을 통해서 수동 설치를 진행했다 그러니 실행이 된다.
이번에 mmcv가 개편이 되면서 내부 구조가 바뀌었고, 라이브러리 조차 변경점이 많았다. 그래서 자꾸 실행에 오류가 발생한다. 새로운 모델을 사용하고 싶어서 이 문제를 반드시 해결 해야만 했다. 보니까 mmcv 재설치를 진행하라고 한다. 그래서 버전을 명시해서 강제 설치를 진행했다. mmcv 재설치하는 법 pip3 install --force mmcv==2.0.0 -f https://download.openmmlab.com/mmcv/dist/cu118/torch2.0.0/index.html mmcv는 2.0.0버전을 사용할거라서 뒤에 cuda 버전과 torch 버전에 맞게 숫자 바꿔서 명령을 넣는다. 재설치하니까 드디어 에러가 안뜨고 작동을 시작했다 장장 6시간 만이다.... 참조 : https://gi..
쿠다 nvcc버전이랑 nvidia-smi버전이 달라서 재설치하기로 했다. 쿠다 설치 conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit nvcc -V로 버전을 확인하면 11.8이 설치됬음을 알 수 있었다. 참고: https://anaconda.org/nvidia/cuda-toolkit
mmdetection을 사용하려고 보니까, 1에폭 학습하는데 하루가 지났는데도 안되길래 보니까 torch.cuda.is_available()이 false더라 진짜 너무 화가 나는데 어쩔수 없는 부분이라서, 방법을 4시간 찾아서 조지는데 해결이 안되서 이부분은 재설치로 해결하기로 했다. 내가 알기론 거진 대부분 문제는 torch, cuda, cudnn, python 간의 버전호환의 문제이다. 본인은 torch 재설치를 위해서 지우고, 새로 깔때 11.8버전인 cuda버전에 맞게 설치하니 해결되었다. conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia 그런데 새로운 문제가 나왔다. RuntimeError: ms..
torch 사이트에 가면 자신의 cuda 버전과 맞도록 설치할 수 있도록 명령어를 설정해준다. 본인은 cuda 11.8 버전을 사용하고 있으므로 아래와 같이 설치한다. pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 추천하는 방법은 아래와 같다 pip install openmim mim install mmdet 하지만 나는 이상한 에러들이 너무 많이 떠서 수동을 설치하기로 했다. pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html cuda: 11.8 t..
갑자기 mmcv 를 실행하려는데 glibc관련해서 오류가 발생했다. 잘되던 코드가 갑자기 안돼서 라이브러리 설치중에 겹치는 것 때문인건가 싶어서 아예 재설치하기로 결정했다. 설치된 아나콘다 폴더 삭제하기 rm -rf ~/anaconda3
정규 방정식 구현시에 inv가 아니라 pinv를 사용하면, $X^{T}X$ 가 역행렬이 없어도, $\theta$ 를 얻을 수 있다. 만약 $X^{T}X$ 가 역행렬이 없다면, 흔한 이유 2가지가 있다. 1. 중복(종속)된 특성(Feature)이 있을 때: 두 특성이 매우 연관이 있을 때(선형적으로 종속) -> 종속 특성 삭제로 해결 2. 특성이 너무 많을 때(훈련셋에 비해 특성이 많을때) : 특성 몇개를 삭제하거나 정규화를 진행하여 해결
최적화라 함은 최대값 또는 최소값을 구하는 것을 말한다. 즉, 극값을 구해야하므로 미분을 수행해야한다. 그런데 어떻게 해야하나? $\min f(x)$ -> 목적함수(objective function) subject to $\left \{ \begin{matrix} g_i(x) \le 0, & i=1, ... ,m \\ h_i(x) = 0, & i=1, ... , p \end{matrix} \right.$ -> 제약식 라그랑주 승수법: 제약식이 있는 최적화 문제를 푸는 방법 다변수 함수 2개 이상에서 서로 맞닿는 부분(접점)을 구하기 위한 방법인데, 이를 제약식과 목적함수에 대입하여, 극값을 구하기 위해 사용한다. 라그랑주 프리멀 함수: $L_p(x,\lambda ,v) = f(x) + \sum_{i=1}..
최소제곱법이 뭔지는 알겠는데, 당최 머신러닝에서 쓰는 최소제곱법의 유도식이 이해되질 않아서 정리를 한번 해보겠다. 최소 제곱법은 오차의 제곱합이 최소가 되도록하는 추정값을 산출할 때 사용한다 쉽게 말하면, 오차를 가장 적게하는 근사치를 구하는 것이다. 대부분의 데이터들은 완벽한 그래프를 그리는게 아니라, 오차가 존재하여 불완전한 그래프를 그린다. 그래서 이 점들을 가장 오차없이 그리는 간단한 그래프를 구하기 위해 근사치를 구하는 것이 목적이다. 최소 제곱법으로 부터 근사치 유도 최소제곱법, 말그대로 오차의 제곱을 해서 다 더하여서 확인한다. 이 방식이 간단해서, 선형회귀에서 기본적으로 접근할때 사용되는 방식이다. 오차를 e라고 하면, 오차 : $e_i = y_i - \hat{f}(x_i)$ 이기 때문에 ..