Machine Learning/A·I

    torch eval, no_grad 사용시 gpu 사용량 테스트

    torch eval, no_grad 사용시 gpu 사용량 테스트

    resnet152 test resnet152를 사용하여 환경별 GPU 사용량 테스트 NVIDIA Environment nvidia gpu driver version : 470.103.01 cuda version : 11.4 gpu device : NVIDIA GeForce RTX 3090 NVIDIA GeForce RTX 3090 memory size : 24GB cuda : 8.5 cuda core : 104996 rt core : 82 tensor core : 328 etc torch version : 2.0.0 torch cuda version : 11.7 resnet152 model file size : 230.4 MB num_params : 60,192,808 test image : dog.jp..

    선형회귀모델

    선형회귀모델

    선형회귀모델 변수 사이의 관계 X 변수와 Y변수 사이의 관계 확정적 관계 확률적 관계 확정적 관계 : X 변수만으로 Y를 100% 표현 Y = f(x) 확률적 관계 : X변수와 오차항이 Y를 표현 Y = f(x) + e 선형회귀모델이란? 출력변수 Y를 입력변수 X들의 선형결합으로 표현한 모델 선형회귀 모델링 목적 X변수와 Y변수 사이의 관계를 수치로 설명 미래의 반응 변수 (Y) 값을 예측 선형회귀 모델 분류 X변수의 수, X 변수와 Y변수의 선형성 여부에 따라 구분 선형 모델 단순형 선형 비선형 다수형 선형 비선형 선형회귀 모델의 구성 Y = f(X)로 설명이 가능한 부분 + f(X)로 설명이 불가능한 e 부분으로 이루어져 있다. 선형회귀 모델 가정 확률오차 가정 : 모든 점의 오차들은 정규분포(평균)..

    머신러닝 모델 프로세스

    머신러닝 모델 프로세스

    머신러닝 모델 프로세스 머신러닝 모델의 핵심 머신러닝 모델을 만드는데 있어서 핵심은 “X 값이 다수 주어졌을 때 Y 값이 무엇이 나올까?에 대한 관계”를 찾는 것이다. 수학 공식으로의 표현 Y = f(x1, x2, x3, x4, ...) 와 같이 표현 할 수 있다. 예외 상황을 생각해보자 아래 그림의 예시와 같이 X1, X2 만으로는 Y를 정의 할 수 없을 경우는 어떻게 해야 할까? 이를 설명하기 위해 엡실론을 사용하고 X1과 X2의 가중치를 Wn 으로 표현하게 된다. 이를 좀 더 간단히 표현하자면 f(x)로 표현이 가능하다 f(x) = W1X1 + W2X2 + e 다음과 같이 표현하면 [정답 - 모든 값을 더한 값]은 “오차 값”이라는 것을 알 수 있으며 f(x)는 Loss Function (손실 함수..

    수치 예측, 범주 예측 (분류)

    수치 예측, 범주 예측 (분류)

    수치 예측, 범주 예측 (분류) 다변량 데이터에서 X와 Y가 있을 때 Y(정답)의 값이 어떠한 성질을 보이냐 에 따라 수치 예측 인가? 범주 예측 인가?가 나뉘게 된다. 연속형 데이터 (Regression) : 데이터 자체를 숫자로 표현 가격, 길이, 압력, 두께 …. 범주형 데이터 (Classification) : 숫자로 표시할 수 없는 데이터 (양품/불량), (정상/비정상) 수치 예측 예제 수치 예측은 아래 좌측 이미지와 같이 이뤄져 있을 때 가장 정답에 근접한 선이 무엇인가? 에 따라 모델이 결정되고 아래 우측 이미지와 같이 x 값이 들어왔을 때 y의 값을 산출하게 된다. 범주 예측 범주 예측은 예를 들어 양품과 불량 두 가지의 경우가 있을 때, 과연 새로운 노란색 점이 들어왔을 때 어떤 범주에 포..

    머신러닝, 인공지능이란?

    머신러닝, 인공지능이란?

    우선 이 글을 작성하기에 앞서 좋은 영상을 올려주신 유튜브 김성범[ 소장 / 인공지능공학연구소 ] 님께 감사 인사를 드립니다. 머신러닝, 인공지능이란? Machine Learning 머신러닝 이란 직역하자면 “기계가 스스로 학습을 한다” 이다. 다만 실제로는 스스로 학습을 하기 보다는 사람에 의해 학습을 하게 된다. 좀 더 풀이하자면 인간이 개발한 알고리즘을 컴퓨터 언어(Python, Java, C++, ….)를 통해 기계에게 학습 시키는 행위이다. 머신러닝의 데이터 다변량 데이터 관측치 \ 변수 X1 … Xi … Xp N1 X11 … X1i … X1p … … … … … … Ni Xi1 … Xii … Xip … … … … … … Nn Xn1 … Xni … Xnp - 관측치 : 샘플 (고객, 제품, 청구건..

    에러, fastai book import error

    에러, fastai book import error

    문제 "fastai와 파이토치가 만나 꽃피운 딥러닝" 책을 공부하기 위해 1챕터의 코랩을 실행시켰는데 완전 처음부터 에러가 발생합니다; attributeerror: module 'tornado.ioloop' has no attribute '_selectable' 아니... 책을 계속 팔거면 구글 코랩이 업그레이드 된 정보 확인하고 에러 안나게 수정해야죠....... 해결방법 문제해결하기 위해서는 다음 라이브러리 버전 수정이 필요했습니다 !pip install jupyter-client==6.1.12 !pip install tornado==5.1.0 !pip install fastai==2.0.15 !pip install fastai2==0.0.30 !pip install fastcore==1.0.16. ..

    Axis 에 따른 인덱스 선별 기준

    Axis 에 따른 인덱스 선별 기준

    np.argmax 에는 Axis가 존재하여 Axis 기준으로 계산을 다르게 할 수 있다. 0차원 1차원 2차원이가?에 대해 이해를 하고 x축, y축, z축을 알아야 한다. 아래 np.arrray를 상자가 쌓인 모양으로 상상해 보는 것이 가장 알맞다. np.array( [ [[0.1,0.8,0.1],[0.3,0.1,0.6]], [[0.3,0.1,0.6],[0.5,0.9,1.0]], [[0.2,0.5,0.3],[0.1,0.4,0.7]], [[0.8,0.1,0.1],[0.5,0.3,0.2]] ] ) 0차원 -> x축 기준으로 계산 [3 0 1] [1 1 1] 1차원 --> y축 기준으로 계산 [1 0 1] [1 1 1] [0 0 1] [0 1 1] 2차원 --> z축 기준으로 계산 [1 2] [2 2] [1 ..

    Backend 에서 Tensorflow, Keras 로 머신러닝, 딥러닝 작업 시 GPU 메모리 반환하지 않는 문제 해결 방법

    Backend 에서 Tensorflow, Keras 로 머신러닝, 딥러닝 작업 시 GPU 메모리 반환하지 않는 문제 해결 방법

    Backend 에서 Tensorflow, Keras 로 머신러닝, 딥러닝 작업 시 GPU 메모리 반환하지 않는 문제 해결 방법 + 저는 Pytorch 도 테스트 해보니 GPU 메모리 반환이 잘 이뤄졌습니다. How to clear GPU memory when using tensorflow or pytorch? 인트로 해당 문제는 프로젝트의 특이성으로 인해 “지정된 GPU를 사용해야 하는” 그리고 “백엔드에서 추론(inference)을 위해 GPU를 사용하는 것”과 “다른 특정한 프로그램에서도 같은 GPU를 사용”함으로써 “GPU를 공유해서 사용”해야 하는 경우 하나의 프로세스가 GPU 메모리를 반환하지 않고 잡고 있어 문제가 된 상황입니다. GPU를 사용하면 nvidia-smi 상에서 GPU 메모리가 꽉..