jetson nano에 가상환경을 이용하여 tensorflow를 설치하는 방법을 적겠다.
이 글은 기록용이여서 엄청 자세하지 않는 점 양해 바란다.
전체적인 부분을 말하면 JetPack 4.6.1에 anaconda를 설치하여 가상환경을 구축하고 tensorflow을 설치한다.
밑은 jetpack 4.6.1을 다운 할 수 있는 공식 사이트이다.
https://developer.nvidia.com/embedded/downloads#?search=jetson%20nano
위 사진처럼 찾아서 다운해주면 된다.
이미지를 다운하고 나서 압축해제후 img를 sd카드에 구워주면 된다
*sd카드는 32GB이상
우분투 18.04를 사용중이고 아래부분을 따라서 터미널에 작성해주면 된다.
#콘다 설치용 파일 다운
wget https://github.com/seibert/jetconda/releases/download/v1.0.0-tx2/Jetconda3-1.0.0-Linux-aarch64.sh
# 권한 변경
chmod +x Jetconda3-1.0.0-Linux-aarch64.sh
#설치 파일 실행
./Jetconda3-1.0.0-Linux-aarch64.sh ->적당히 yes하고 enter치면 됩니당
#path 추가된거 적용
source ~/.bashrc
#콘다 업데이트
conda update conda
만약 업데이트하는데 오류가 발생한다면 다음을 따라라
1. conda라는 명령어가 없다.
2. CondaHTTPError, ConncectionError 어쩌구 저쩌구
1번 해결법은
conda를 삭제후 다시 재설치해라
그냥 파일 Jetconda같은 이름 찾아서 파일을 삭제 후 다시 설치 진행2번 해결방법
conda config --set ssl_verify no or conda config --set ssl_verify False
위가 Linux용 아래는 window용인것으로 알고 있다
이후 다시 conda update conda해주고
conda install llvmlite
해주면 설치는 완료가 된다.
가상환경은 다음을 따라라
conda --version
conda create -n 정하고 싶은 이름 python=3.6
source activate 정해진 이름
종료
source deactivate
python3.6을 하는 이유는 우리가 깔 tensorflow가 2.7.0인데 이것은 python3.6을 지원한다.
해당은 https://developer.download.nvidia.com/compute/redist/jp/v461/tensorflow/
이곳에서 알 수 있다.
이제 tensorflow을 설치할 것이다.
위에서 왜 꼭 tensorflow2.7.0버전을 설치하죠?
라고 물으신다면 대답해주는 게 인지상정
우리가 설치한 jetpack4.6.1은 tensorflow2.7.0을 지원하고
jetson nano에서 jetpack5버전은 지원하지 않기 때문에 제일 최근 버전인 4.6.x버전을 다운 한 것
만약 본인의 jetpack version이 궁금하면 터미널에 다음을 입력해라
sudo apt-cache show nvidia-jetpack
서론이 길었다. 본론 들어간다.
먼저 tensorflow설치에 필요한 패키지를 설치해준다.
sudo apt-get update
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
sudo apt-get install python3-pip
sudo pip3 install -U pip testresources setuptools==49.6.0
sudo pip3 install -U --no-deps numpy==1.19.4 future==0.18.2 mock==3.0.5 keras_preprocessing==1.1.2 keras_applications==1.0.8 gast==0.4.0 protobuf pybind11 cython pkgconfig packaging h5py==3.1.0
오류가 없이 잘 설치가 될 것이다. (가상환경 짱짱)
그럼 이제 tensorflow를 본격적으로 설치한다.
나는 jetpack4.6.1이기 때문에 다음과 같이 다운한다.
#알아서 버전에 맞게 설치
sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v461 tensorflow
Or
#tensorflow 버전 지정해서 설치
sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v461 tensorflow==2.7.0+nv22.1
이렇게 설치가 되고 다음을 입력하여 잘 설치가 되었는 지 확인한다.
python3
import tensorflow as tf
tf.__version__
만약 설치가 잘 되었는데 모듈이 없다카면
화가 나기 마련
그럴 땐 tensorflow를 삭제하지말고sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v461 tensorflow
을 다시 진행하고 이미 설치되었다고 나올텐데 설치된 위치가 나올 것이다.
그 터미널을 그대로 두고 다른 터미널을 연다.
그리고 python3을 실행하고import sys print(sys.path)
다음을 입력하여 경로를 살펴본다.
터미널 두 개를 비교하고 서로 path가 다를 경우
추천하는건 tensorflow가 설치된 경로에 있는 라이브러리를 복사하여 가상환경 라이브러리에 붙여넣는 방법이다.
이렇게 tensorflow를 설치하였다.
시행착오를 많이 겪었기 때문에 이렇게 글로 남기고
누군가에게 큰 도움이 되었으면 한다.
tensorflow 2.6.2버전을 사용하길 바란다.
2.7.0 버전은 keras의 버전이랑 맞지 않는다고 오류가 발생한다...
refernece
https://forums.developer.nvidia.com/t/tensorflow-for-jetson-tx2/64596