본문 바로가기

머신 러닝11

윈도우 파이토치 쿠다 버전 안 맞는 오류 해결법 AssertionError : torch not compiled with cuda enabled 최근 Windows 환경에서 Pytorch를 GPU버전으로 설치하려는데, torch는 실행이 잘 되는데 GPU와의 연결이 잘 안되는 경우가 생겼다. 에러 메시지는 다음과 같다. (리눅스에서도 뜨는 경우를 봤던 것 같다) AssertionError : torch not compiled with cuda enabled 참고로 pytorch 설치는 다음과 같이 진행하였다. conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia 이 중 한 깃헙 이슈에서 발견한 좋은 해결책을 공유한다. pip uninstall torch pip cache purge pip install torch -f https://download.p.. 2023. 11. 3.
행동 데이터 분석 - 플로랑 뷔송 데이터 분석은 꽤 많이 해본 것 같은데, 행동 데이터 분석은 한 번도 다뤄보지 않은 것 같다. 뭔가 산업디자인과 같은 곳에서 HCI 연구를 할 때 많이 사용할 것 같긴 하다. 이름에서 추측을 해보자면 웹 사이트 클릭이나, 모바일 앱을 사용하는 등의 경우에서 어떤 행동이 나타나는지, 어떤 순서로 나타나는지에 대한 정보를 가지고 있는 데이터를 얘기하는 것 같다. 그러한 데이터로부터 이제 의미 있는 내용을 도출하고 그것을 바탕으로 어떠한 전략을 설계하는 것이 아마 전체적인 흐름일 것이고. 한국어 제목은 행동 데이터 분석이라는 단순한 세 단어의 조합이지만 아래에 적혀있는 영어 제목에는 with R and Python이라는 것이 추가되어 있다. 이제는 R이 파이썬에 밀려 거의 한 물 간 것 같긴 하지만, 아무튼 .. 2023. 6. 17.
삼성 AI 포럼 2022 Day 1 & Day 2 참석 11/8일부터 9일 동안 이틀간 진행한 삼성 AI 포럼에 참석했다. 2021년에도 봤었는데, 그때는 코로나 때문에 온라인으로 참석했다가 이번에는 대면으로 참석하게 되었다. 11/8일은 삼성전자 DS에 소속된 종합기술원에서 주관하고 11/9일 Day 2는 삼성 리서치라는, DX부문에 속한 곳에서 진행했다. Day 1은 서울 코엑스 그랜드볼룸에서 했고 Day 2는 삼성 리서치가 있는 양재 R&D 센터에서 진행되었다. 여쭤보니 행사가 진행된 곳은 실제 연구를 하는 건물은 아니었고, 디자이너들이 쓰는 건물이라고 하셨다. 두 날 주최한 곳이 다른데, 같은 삼성에서 했다고 볼 수 없을 정도로 아예 느낌이 달랐다. Day 1 (삼성 종합기술원 주최, 인터컨티넨탈 코엑스) 그렇게 큰 기대 안 했다가 행사 규모에 깜짝 .. 2022. 11. 15.
파이썬 기반 금융 인공지능 - 이브 힐피시 2022.04.20 - [한빛미디어] - 파이썬을 활용한 금융 분석 - 이브 힐피시 파이썬을 활용한 금융 분석 - 이브 힐피시 모두들 알겠지만, 파이썬은 굉장히 대단한 언어이다. 간결히 말해 "사용하기 편하다"라는 장점만으로 이렇게까지 커질 수 있다는 것에 놀랍다. 파이썬의 간결함은 컴퓨터 공학을 전공하지 않은 honeyjamtech.tistory.com 이번에도 오레일리의 책인데, 저자가 지난번 파이썬을 활용한 금융 분석 책이랑 같다 이브 힐피시라는 저자가 주로 파이썬을 활용해서 퀀트 투자를 하는 사람인 것 같다. 지난 번 책에서는 금융 분석을 하고 인공지능 얘기는 뒷부분에서 짤막하게 다루어졌다면, 이번에는 인공지능이 주된 내용이다. 사실 금융 인공지능을 만든다고 해도 금융에서 주로 사용되는 개념들은 .. 2022. 10. 30.
비전 시스템을 위한 딥러닝 - 모하메드 엘겐디 1. 서론 머신 러닝, 인공 지능, 뉴럴넷이라는 단어가 일반인들에게까지 친숙한 용어가 되었다. 2016년 알파고와 이세돌의 경기로부터 모든 것이 시작되었지만 현재는 많은 사람들이 인공 지능하면 테슬라를 떠올릴 것 같다. 테슬라는 자율 주행을 위해 인공 지능을 굉장히 많이, 그리고 잘 사용한다. 이때 사용되는 인공 지능은 컴퓨터 비전이라는 큰 분야에서의 한 가지 접근법 중 하나이다. 컴퓨터 비전이란 쉽게 컴퓨터가 어떠한 이미지 혹은 비디오를 이해할 수 있도록 만드는 것이다. 사진에서 동전이 몇 개 있는지 찾는 것부터 얼굴 인식, MRI 이미지로부터 종양 탐지 등 굉장히 다양한 분야에서 사용될 수 있다. 참고로, 인공 지능을 사용하기 이전부터 컴퓨터 비전은 연구가 많이 된 전통 있는 분야이다. 동전이 몇 개.. 2022. 2. 22.
[머신러닝 응용] Convolutional layer로 곱을 표현하기 최근 인공 지능이 급부상함에 따라 함께 뜬 유명한 키워드는 CNN일 것입니다. 아마 인공 지능을 조금이라도 공부해보셨다면 CNN을 들어봤을텐데, 정확하게 이해하지 못하고 사용하는 경우도 많을 것이라고 생각합니다. 특히, 점점 인공 지능에 대한 정확한 이해 없이 누구나 쉽고 간편하게 인공 지능 모델을 만들고 테스트할 수 있도록 여러 툴들이 개발되고 간소화되고 있기도 합니다. 뉴럴 네트워크에는 그 형태나 사용하는 테크닉에 따라 Convolutional neural network, Recurrent neural network, Graph neural network 등 다양한 이름들이 있는데 사실 정확하게 구분이 되지 않않을때가 많습니다. 어찌 되었건 그 중 가장 널리 알려지고 주로 사용되는 이름이자 분류는 C.. 2022. 1. 14.
최근 머신 러닝 핫한 연구 분야 (1/3) 최근 유명한, 핫한 머신 러닝 연구 분야에 대해서 아주아주 짤막하게 정리해보고 얘기를 좀 해보겠습니다. 저 또한 모든 분야에 대해서 다 잘 아는 것은 아니고 몇 개는 잘 모릅니다. 그냥 이런 게 있다 정도로만 보시고 정확하고 자세한 설명은 따로 찾아보시는 것을 추천드립니다. 얘기가 조금 긴 것 같아 포스트를 나눠 놓겠습니다. Generative Model (생성 모델) Reinforcement Learning (강화 학습) Bayesian Deep Learning (베이지안 딥러닝) Meta-Learning (메타 러닝) Semi-Supervised, Self-Supervised Learning (SSL) Continual Learning (지속 가능한 학습) Interpretable Neural Net.. 2020. 12. 14.
FNN, CNN, RNN 장단점 FNN (Fully connected Neural Network) Pros : 단순하고 매우 Powerful함. 많은 관계를 모델링 할 수 있음 Cons : 파라미터의 개수가 매우 많이 필요하여 메모리, 컴퓨팅 파워 필요, Curse of dimension(차원의 저주)로 오버 피팅(over fitting)이 일어나기 쉬움 CNN (Convolutional Neural Network) Pros : 파라미터의 개수를 굉장히 줄었다. local information을 효율적으로 볼 수 있어 컴퓨터 비전 분야에서 가장 많이 사용됨. Cons : Local information은 좋지만 멀리 있는 픽셀 들 간의 관계를 보려면 layer를 많이 쌓아야 한다. 다시 말해 Field of View 늘리려면 Deep .. 2020. 5. 19.
[Pytorch] 모델 '적절하게' 저장하기 (+ 여러 모델) 파이토치에는 모델을 저장하는 방법이 여러 가지 있습니다. 단순히 1. torch.save(path, model) 이렇게 하면 모델이 통채로 저장이 되기는 합니다. 2. torch.save(path, model.state_dict()) 이렇게 하면 모델 안에 있는 파라미터들을 저장하는 것입니다. 첫번째 방식의 경우 1. model = torch.load(path) 이렇게 하면 load가 가능하고 두 번째 방식의 경우에는 모델을 선언도 해줘야 하고 모델의 구조가 다르면 안됩니다. model = MODEL().cuda() model.load_state_dict(torch.load(path)) 이렇게 모델을 선언하고, 그 모델에 파라미터들을 대입하는 과정이 필요합니다. 아무리 생각해도 첫 번째 방식이 편한 것 .. 2020. 4. 15.
[Pytorch] Dataloader 다양하게 사용하기 (custom loader) 파이토치의 데이터로더는 아래의 형태와 같이 사용합니다. path = 'C:/test' dataset = torchvision.dataset.ImageFolder(root=path, transform=transforms.Compose([ transforms.Grayscale(), transforms.ToTensor(), ])) dataloader = torch.utils.data.DataLoader(dataset, batch_size=batch_size, shuffle=True) 이미지든 어떠한 형태의 데이터를 모두 다룰 수 있지만, 위에 사용한 ImageFolder는 이미지를 다루는 애고 다른 형식의 데이터는 조금 후에 말하겠습니다. 데이터로더는 만들어진 이유가 Classification 태스크를 다루기.. 2020. 4. 15.