정든 내 창업기업을 떠나보내면서 새로운 도전에 나선 첫걸음은 바로 ML 시작하기!
데이터 사이언티스트로 새로운 시작을 하기 위해 예전에 배웠던 텐서플로우를 설치하는 것부터 시작하였다.
새 시작을 위해 구매한 M1 Macbook Air는 아직 낯설기만 하다.
Window에 길들여진지 너무 오래되어서 그런가..
옛날에 분명 Ubuntu로 개발을 배우긴 했지만 그건 벌써 6~7년전 이야기라서 가물가물하다ㅎㅎ
컴공수업 듣던 시절에 개발환경 세팅했던 기억을 더듬어 각종 모듈과 프로그램을 pip install 로 다운로드하였다.
마지막으로 야심차게
% pip install tensorflow
을 했는데 이게 웬걸 jupyter notebook에서 import가 되지 않는 것이다!
이 문제를 해결하려고 하루종일 뻘짓을 하던 도중 구세주가 등장하였다.
https://webnautes.tistory.com/1639
바로 이 분이다. 감사합니다! 사랑합니다!
Tensorflow 공식홈페이지보다 훨씬 낫다.
애플은 좀 까탈스러워서 설치과정도 길다.
맥북사고 1주일도 안되서 살짝 후회중이다.
그래서 M1 Macbook을 처음 쓰는 저같은 데이터 사이언티스트 꿈나무들을 위해 conda(miniforge3)를 활용하여 가상환경에서의 Tensorflow 설치법을 알려드리고자 한다.
chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
source ~/miniforge3/bin/activate
(base) username ~ %
이렇게 터미널 유저 네임 앞에 (base)가 생성되면 성공하신겁니다.
이 이후가 중요한데, jupyter notebook 애용하시는 분들의 경우 반드시 같은 가상환경에서 각종 모듈과 주피터를 설치하셔야 합니다.
제가 이걸 몰라가지고 주피터 노트북에서 모듈이 안돌아가서 눈 돌아가는 줄 알았습니다.
그럼 jupyter notebook을 설치해봅시다.
아! 그 전에 pip부터 설치해야겠죠?
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
이렇게 두줄이면 뚝딱 설치가 됩니다.
물론 한줄씩 복붙하는 건 안 비밀입니다.ㅎㅎ
pip3
해당 명령어를 치면,
이런식으로 pip3 command들이 잔뜩 나옵니다.
이런 창이 뜬다면 설치가 완료된 겁니다.
pip은 자주 업데이트가 되기 때문에 업그레이드를 수시로 해주시면 좋습니다.
pip install --upgrade pip
겁나 간단하다.
pip install jupyter
끝이다.
더 쉽다.
jupyter notebook
터미널에서 cd를 통해 원하는 경로로 간 해당 커맨드로 실행만 하면 끝!
대망의 텐서플로우 설치다.
다음 커맨드들만 잘 따라와주면 된다.
conda activate
conda install -c apple tensorflow-deps
python -m pip install tensorflow-macos
python -m pip install tensorflow-metal
커맨드들을 순서대로 설명하자면, 다음과 같다.
일단, python을 터미널에서 실행한다.
python
이후 파이썬이 실행된 후,
>>> import tensorflow as tf
>>> tf.__version__
다음 문장을 입력한다.
버전이 출력되면 성공이다.
첫줄부터 no named module 에러뜨면 다른 블로그를 가서 해결하면 된다.
미안하다!
사실 원인은 처음에도 말했지만, tensorflow를 설치한 가상환경이 아닌 다른 가상환경에서 실행했던지, conda activate를 하지 않은 경우가 거의 90% 이상이라고 생각한다.
설치한 가상환경 내에서만 돌아가기 때문에 내가 어느 가상환경에 설치했는지 알고 들어가야 된다. 그래서 base conda에 설치하면 헷갈릴 일이 없다.
요즘 ML은 GPU 가속을 활용하는 경우가 많기 때문에 GPU가 내 컴퓨터에 있는지 확인하는 것도 중요한 일 중 하나다. 물론, 컴퓨터에 관심이 조금이라도 있다면, 컴퓨터 살때부터 GPU가 달려있는지 확인하겠지만 말이다..ㅎㅎ
>>> tf.config.list_physical_devices('GPU')
위 문장을 쳤을 때 빈 대괄호([])가 나오면 사용불가하다는 뜻이다.
위 1,2번 항목을 터미널에서 돌리면 다음과 같다.
(base) john@Cheoljunui-MacBookAir ~ % python
Python 3.9.13 | packaged by conda-forge | (main, May 27 2022, 17:00:33)
[Clang 13.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'2.9.2'
>>> tf.config.list_physical_devices('GPU')
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
>>>
내 컴퓨터에는 tensorflow 버전이 2.9.2이고, GPU는 사용가능하다는 것을 확인할 수 있다.
Jupyter Notebook에서도 잘 돌아가는지 똑같이 한 번 확인해보시길 바란다.
그럼 도움이 됐길 바라며, 이 글을 마친다.
덕분에 잘 설치했습니다. 고마워요!!