Anaconda3가 설치되어있는 것을 전제로 한 포스팅입니다.
아나콘다가 설치되어있지 않다면 아래 링크를 참조해주세요!
이번 포스팅에서는 tensorflow cpu기반으로 Mask-RCNN구동 환경을 구축해보도록 하겠습니다.
이미지 딥러닝같은 분야는 GPU기반으로 구동하는 것이 더 많고 빠르게 할 수 있지만,
이번엔 이미지의 양이 많지 않고 우선 MaskRCNN의 기본지식을 알기위해 CPU기반으로 구축하게 되었습니다!
www.tensorflow.org/install/source_windows#tested_build_configurations
tensorflow 윈도우기반 공식 문서입니다.
스크롤을 내리시다보면 CPU기반 버전 호환 표가 나타납니다.
이번 시간에는 tensorflow-1.5.0으로 구축해보겠습니다.
호환되지 않는 버전을 설치하면 오류발생율이 높아지니 유의해주세요!
우선 첫 번째로 visual studio installer를 설치하겠습니다.
visualstudio.microsoft.com/ko/downloads/
위 링크에 접속해주세요!
스크롤을 내리시면 모든 다운로드라는 카테고리가 나옵니다.
그 중 Tools for Visual Studio 2019 클릭!
클릭 후 맨 아래에 있는 Visual Studio 2019용 Build Tools를 다운로드 해줍니다!
설치 완료 후 실행화면입니다.
Visual C++ 빌드 도구 오른편 박스에 체크해주시면 설치 세부 정보가 오른쪽에 나타납니다.
보시는 것과 같이 체크해주시고 설치버튼을 눌러주세요!
(이렇게 많이는 안해도 될 거 같은데 전 그냥 했습니다..)
자! 그럼 이번엔 아나콘다 프롬포트를 이용해 가상환경을 생성하고,
그 곳에서 작업을 해보겠습니다!
(아나콘다3 설치시 파이썬 버전이 3.8.3으로 자동 설치되었고, tensorflow 1.5버전은
python 3.5~3.6버전 호환이여서 가상환경을 python 3.6버전으로 생성해보겠습니다!)
윈도우 탐색창에 anaconda 입력 후 Anaconda Prompt (Anaconda3) 실행!
conda create -n MaskRCNN python=3.6 pip
python 3.6버전의 MaskRCNN이라는 이름으로 가상환경을 생성하는 명령어입니다.
위 명령어를 입력하고 엔터를 눌러주세요!!
conda info --envs
확인해보니 가상환경이 정상적으로 생성되었네요ㅎㅎ
activate MaskRCNN
python --version
생성된 MaskRCNN가상환경으로 접속합니다.
python도 버전에 맞게 잘 설치되었음을 확인!
pip install tensorflow==1.5
pip install keras==2.2.0
pip install cython matplotlib scikit-image Pillow jupyter pandas numpy scipy
pip install h5py==2.7.0
pip install opencv-python ipython
현재 경로에서 위 명령어들을 한 줄씩 실행해주세요!
CPU기반이기때문에 tensorflow-gpu가 아닌 tensorflow를 설치하였습니다.
(tensorflow-gpu로도 시도해보니 결과는 같았음.. tensorflow-gpu내에
tensorflow가 내장되어있는건가...)
cd Desktop
mkdir Mask_RCNN
cd Mask_RCNN
설치가 완료되었다면 위 코드들도 한 줄씩 실행해주세요!
바탕화면으로 경로 이동 -> Mask_RCNN이라는 폴더 생성 -> Mask_RCNN으로 경로 이동
#git을 통해 데이터 및 모듈들을 가져올 것입니다.
conda install -c anaconda git
#Mask_RCNN파일 설치
git clone https://github.com/matterport/Mask_RCNN.git
#cocotools 설치
git clone https://github.com/philferriere/cocoapi.git
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=pythonAPI
git clone https://github.com/aleju/imgaug.git
pip install imgaug
현재 경로입니다.
위 경로에서 코드들을 한 줄씩 실행시켜주세요!
https://github.com/matterport/Mask_RCNN/releases
위 링크에 접속해주세요!
mask_rcnn__coco.h5 폴더를 다운로드 받은 후 압축을 풀어줍니다.
(중간쯤 Mask R-CNN 2.0에 위치한 폴더를 다운로드 받았습니다.)
압축 해제한 mask_rcnn.coco폴더 내에 mask_rcnn_coco.h5파일을
가상환경에서 생성했던 바탕화면의 Mask_RCNN폴더로 옮겨주세요!
Mask_RCNN폴더의 구조입니다.
cd Mask_RCNN\samples
jupyter notebook
samples 폴더로 경로를 위치시킨 후 주피터 노트북 실행!
demo.ipynb 클릭!
위에서부터 하나씩 실행해보니 잘 실행되는군요!
코드를 보니 Mask_RCNN폴더 내에 images 폴더의 여러 .jpg파일 중
랜덤으로 하나를 골라 분석을 했네요!
그럼 구글에서 고양이 사진을 하나 다운로드 받아 images폴더에
넣은 후 분석해보도록 하겠습니다ㅎㅎ
# Load a random image from the images folder
# 기존 랜덤으로 이미지를 선택하여 분석하는 코드
# file_names = next(os.walk(IMAGE_DIR))[2]
# image = skimage.io.imread(os.path.join(IMAGE_DIR, random.choice(file_names)))
#다운받은 고양이 사진을 분석
file_names = os.path.join(IMAGE_DIR, 'cat.jpg')
image = skimage.io.imread(file_names)
# Run detection
results = model.detect([image], verbose=1)
# Visualize results
r = results[0]
visualize.display_instances(image, r['rois'], r['masks'], r['class_ids'],
class_names, r['scores'])
네! 정상적으로 구동되고 cat이라는 라벨링까지 잘 되는군요 ㅎㅎㅎ
꽃, 잎, 줄기등을 구분지어 라벨링해주는 결과가 필요한데,
그러기위해서 데이터셋을 모으고 파인튜닝을 통해서 구조에 맞게 코딩을 해야할 것 같아요.
ㅎㅎㅎ 어렵지만 재밌고 뿌듯하군요
다른 에러가 나타나시거나 혹은 글에 잘못된 내용, 빠진 내용들을 지적해주시면
감사히 받고 수정하도록 하겠습니다!
많이 추워지는데 감기 조심하세요! 이번 포스팅은 여기서 마치겠습니다. 감사합니다:)
(정말 많은 도움받았습니다! 감사합니다!) 참조:
'Analysis > Anaconda, Python' 카테고리의 다른 글
(Anaconda3 & Python evironment settings) 아나콘다3, 파이썬 환경 설정 (0) | 2020.11.04 |
---|