일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
31 |
- 감마 보정
- 딥러닝
- 영역 연산
- 기하 연산
- 보간
- Pycharm
- Anaconda
- cv.equalizeHist
- 가상환경
- 파이참
- 텐서플로
- 고전 컴퓨터비전
- 오츄알고리즘
- 아나콘다
- 히스토그램 평활화
- tensorflow
- 컴퓨터비전
- 비전
- openCV
- 영상인식
- 오픈CV
- virtual environment
- 파이썬
- otsu
- Histogram Equalization
- 점 연산
- 동차 행렬
- 알고리즘
- conda
- 영상알고리즘
- Today
- Total
Bongsu
M1 텐서플로(Tensorflow) GPU 가속 및 파이참(Pycharm) 본문
안녕하세요. 이번 포스팅은 제가 반나절 동안 애먹으며 설정했던 M1 tensorflow 설치 및 파이참 연동에 대해 설명하겠습니다.
일단 저 같은 경우는 Tensorflow를 이용하여 GPU 가속을 하고 싶음 + Conda 가상 환경과 파이참 연동을 마주하며 문제가 슬슬 생기기 시작하더라구요....
제가 겪었던 오류 코드를 쭉 써드리자면
1. tensorflow with ml compute acceleration is only available on macos 11.0 and later.
2. i tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:305] could not identify numa node of platform gpu id 0, defaulting to 0. your kernel may not have been built with numa support.
3. f tensorflow/c/c_api_experimental.cc:739] non-ok-status: tensorflow::registerpluggabledeviceplugin(lib_handle->lib_handle) status: failed_precondition: 'host_callback' field in sp_streamexecutor must be set.
4. process finished with exit code 138 (interrupted by signal 10: sigbus)
정도 였는데요 뜰때 마다 진짜 구글링해서 스택오버플로우나 애플 개발자 포럼에 들어가서 오류를 찾던 중 해결법을 발견해서 공유를 좀 드리고자 합니다!
각 오류에 대해서 설명을 자세하게 하는 것은 생략하고 개략적으로만 말씀을 드리겠습니다.
일단은 이러한 오류가 발생하는 이유는 첫째로 miniforge 가 있을 것 같습니다. 저도 처음에는 miniforge를 설치하지 않아 첫번째 고비가 왔는데 해당 부분은
$ brew install miniforge
를 통해 엔터를 통해 약관을 읽으시고 동의하시면 성공적으로 설치하실 수 있으실 겁니다.
여기서 문제가 발생하셨던 분들은 아래 순서를 따라 와주시면 충분히 해결이 가능하시리라 생각됩니다.
두번째 오류의 고비는 대부분 2,3,4번 오류를 마주하실 텐데 이와 같은 원인은
tensorflow-deps / tensorflow-macos / tensorflow-metal 의 버전 문제였습니다. 각 dependencies 문제로 모듈이 제대로 호출되지 않아 발생하는 문제입니다.
아마 해당 오류에 조예가 깊으신(?)분들은
을 따라 가상환경도 설정하시고 tensorflow-deps / tensorflow-macos / tensorflow-metal 를 설치하셔서 파이참에 Conda Interpreter 설정을 하셨으리라 예상됩니다.
이제 파이참에서 예시 코드를 넣고 model을 만들고자 실행하는데 아마 저러한 오류들이 나와서 속이 답답 그 자체 였으리라 생각됩니다.
문제를 해결해보도록 하겠습니다!
저는 이 분의 도움을 받아 글을 작성하고자 합니다.
일단 여기까지 오신분들은 conda install tensorflow 를 실행 하면 안된다는 거 충분히 알고계시리라 생각됩니다 :)
일단은 가상 환경 부터 새로 만든다는 가정하에 출발하도록 하겠습니다.
$ conda create --name tf python=3.8
# 가상환경 활성화
$ conda activate tf
# 터미널에 (base)가 아닌 (tf)로 뜬다면 가상환경 설정 완료
가상환경 설정 이후 tensorflow-deps를 설치하겠습니다.
$ conda install -c apple tensorflow-deps
여기서 가장 중요한 부분이 시작됩니다!! 저희가 설치할 tensorflow-macos 와 tensorflow-metal의 버전은 위에 도움의 말대로
tensorflow-macos ==2.10
tensorflow-metal == 0.6.0
입니다!!
여기서 metal 이 GPU 가속을 지원해주게 됩니다. (단, metal 의 경우 공식문서에서 Requirements는 MacOS +12.0 이후 입니다.)
이제 위에 친구들을 설치해주도록 하겠습니다.
# tensorflow-macos == 2.10 설치
$ python -m pip install tensorflow-macos==2.10
# tensorflow-metal == 0.6.0 설치
$ python -m pip install tensorflow-metal==0.6.0
설치가 끝났습니다.
자 이제 파이참에서 인터프리터를 설정을 해서 가상 환경을 구축하면 됩니다.
이 부분을 잘 모르시는 분들은 제 이전 글을 참고해시면 될 것 같습니다.
2023.07.07 - [분류 전체보기] - 파이참(Pycharm)에 아나콘다(Anaconda) 가상환경 연동
이제 예제 코드를 돌려보겠습니다.
아래 코드는 https://developer.apple.com/metal/tensorflow-plugin/ 의
"4. Verify" 부분에 있으니 참고하시면 될 것 같습니다.
그렇게 위 코드를 실행해주면
오류 없이 실행 되는 모습을 보실 수 있습니다 :)
'파이참' 카테고리의 다른 글
파이참(Pycharm)에 아나콘다(Anaconda) 가상환경 연동 (0) | 2023.07.07 |
---|