5 줄 Python 코드 원 키 일괄 단추 구현

오늘 은 파 이 썬 장 착 실 용 신 기 를 공유 합 니 다.
일상생활 이나 업무 중 에는 어떤 사진 속 인물 을 파 내 다른 사진 에 맞 추 려 는 경우 가 많다.전문 적 인 사람 은 PhotoShop 의'마 봉'도 구 를 사용 하여 파 헤 칠 수 있 고 비전문가 들 은 각종 미 도 앱 을 사용 하여 이 루어 진다.그러나 이런 두 가지 방식 은 처리 능력 이 유한 하기 때문에 한 번 에 한 장의 그림 만 처리 할 수 있 고 비교적 복잡 한 이미지 가 오래 걸 릴 수 있다.그럼 오늘 은 세 번 째 스냅 샷 방식 인 Python 코드 로 원 키 대량 파 기 를 실현 하 는 것 을 보 여 드 리 겠 습 니 다.
1.준비 작업-paddlepaddle 설치
기왕 강 한 척 하려 면 준비 작업 이 빠 질 수 없다.'거인 의 어깨 위 에 서서 일 하 는 데 적은 노력 으로 큰 효 과 를 거 두 었 다'는 말 이 있 습 니 다.우리 가 있 는 이곳 의'거인'은 바로 paddlepaddle 입 니 다.중국어 이름 은'프로펠러'입 니 다.그러면 이 paddlepaddle 은 무엇 입 니까?
이것 은'산업 실천 에서 비롯 된 깊이 있 는 학습 플랫폼 으로 깊이 있 는 학습 기술 의 혁신 과 응용 을 더욱 간단하게 하 는 데 힘 을 기울 인 다'는 것 이다.솔직히 말하자면 내 가 깊이 있 는 학습 의 기본 구 조 를 실현 하 는 것 이다.창의 만 있 으 면 내 플랫폼 에서 소량의 간단 한 코드 를 활용 하여 쉽게 실현 할 수 있다.홈 페이지 는https://www.paddlepaddle.org.cn/입 니 다.
설치 가 간단 합 니 다.홈 페이지 의 첫 페이지 에 설치 안내 가 있 습 니 다.'설치'메뉴 를 통 해 각 시스템 의 설치 상세 와 주의사항 을 찾 을 수 있 습 니 다.아래 그림 에서 보 듯 이 저 희 는 홈 페이지 의 설치 안내 에 따라 pip 방식 으로 CPU 버 전 을 설치 할 수 있 습 니 다.

본 고 는 MacOS 시스템 을 예 로 들 면:
우 리 는 먼저 다음 명령 을 실행 하여 설치 합 니 다(바 이 두 소스 를 사용 하 는 것 을 추천 합 니 다).

python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
또는:

python3 -m pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple
설치 과정 에서 paddlepaddle 라 이브 러 리 를 설치 할 때 다음 과 같은 의존 라 이브 러 리 를 설치 해 야 합 니 다.

Installing collected packages: pathlib, click, joblib, regex, tqdm, nltk, gast, rarfile, pyyaml, funcsigs, paddlepaddle
  Running setup.py install for pathlib ... done
  Running setup.py install for regex ... done
  Running setup.py install for nltk ... done
  Running setup.py install for rarfile ... done
  Running setup.py install for pyyaml ... done
Successfully installed click-7.1.2 funcsigs-1.0.2 gast-0.3.3 joblib-0.14.1 nltk-3.5 paddlepaddle-1.8.0 pathlib-1.0.1 pyyaml-5.3.1 rarfile-3.1 regex-2020.5.7 tqdm-4.46.0
설치 에 성공 한 후,우 리 는 python 환경 에서 설치 성공 여 부 를 테스트 합 니 다.(이것 도 홈 페이지 안내 에 따라 합 니 다)우 리 는 python 환경 으로 전환 하여 다음 코드 를 실행 합 니 다.

➜  ~ python3
Python 3.7.4 (default, Jul  9 2019, 18:15:00)
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import paddle.fluid
>>> paddle.fluid.install_check.run_check()
Running Verify Fluid Program ...
Your Paddle Fluid works well on SINGLE GPU or CPU.
W0512 17:41:31.037240 2844976000 build_strategy.cc:170] fusion_group is not enabled for Windows/MacOS now, and only effective when running with CUDA GPU.
W0512 17:41:31.043959 2844976000 fuse_all_reduce_op_pass.cc:74] Find all_reduce operators: 2. To make the speed faster, some all_reduce ops are fused during training, after fusion, the number of all_reduce ops is 1.
Your Paddle Fluid works well on MUTIPLE GPU or CPU.
Your Paddle Fluid is installed successfully! Let's start deep Learning with Paddle Fluid now
Your Paddle Fluid is installed successfully 를 볼 수 있다 면 설치 가 성공 했다 는 뜻 입 니 다.
2.준비 작업-paddlehub 설치
본 논문 의 원 키 일괄 단추 그림 수 요 를 실현 하려 면 PaddleHub 이미지 분할 모델 을 통 해 이 루어 져 야 한다.
PaddleHub 는 PaddlePaddle 을 바탕 으로 개발 한 예비 훈련 모델 관리 도구 로 예비 훈련 모델 을 통 해 이전 학습 업 무 를 더욱 편리 하 게 전개 할 수 있다.현재 의 예비 훈련 모델 은 이미지 분류,목표 검 측,품사 분석,의미 모델,감정 분석,영상 분류,이미지 생 성,이미지 분할,텍스트 심사,관건 적 인 검 측 등 주류 모델 을 포함한다.
PaddleHub 홈 페이지:https://www.paddlepaddle.org.cn/hub
PaddleHub 프로젝트 주소:https://github.com/PaddlePaddle/PaddleHub
더 많은 PaddleHub 예비 훈련 모델 튜 토리 얼 집합 과정 을 볼 수 있 습 니 다.https://aistudio.baidu.com/aistudio/course/introduce/1070
프로젝트 를 소 개 했 습 니 다.이어서 우 리 는 온라인 으로 paddlehub 를 설치 하기 시 작 했 습 니 다.

pip install -i https://mirror.baidu.com/pypi/simple paddlehub
또는 지 정 된 버 전 으로 설치:

pip install paddlehub==1.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
설치 가 완 료 된 후에 우 리 는 운용 을 시작 할 수 있다.
3.원 키 탭 코드 구현
우리 의 실현 절 차 는 매우 간단 하 다.
  • 가 져 오기 모듈
  • 로드 모델
  • 그림 파일 가 져 오기
  • 호출 모듈 인화
  • 그 중에서 버클 기능 은 주로 PaddleHub DeepLabv 3+모델deeplabv3p_xception65_humanseg을 사용한다.
    다음은 구체 적 인 버클 코드 구현(demo.py)을 살 펴 보 겠 습 니 다.
    
    import os
    import paddlehub as hub
     
    #     
    humanseg = hub.Module(name='deeplabv3p_xception65_humanseg')  
    base_dir = os.path.abspath(os.path.dirname(__file__))
     
    #         
    path = os.path.join(base_dir, 'images/')
    #       
    files = [path + i for i in os.listdir(path)]  
    print(files)
    #   
    results = humanseg.segmentation(data={'image': files})  
    for result in results:
        print(result)
    예 를 들 어 코드 폴 더 의 동급 디 렉 터 리 images 폴 더 에 그림 을 두 고 코드 를 실행 한 후 출력 된 인화 그림 은 코드 동급 디 렉 터 리 의 humanseg 에 자동 으로 놓 입 니 다.output 디 렉 터 리 에서 파일 이름 은 원본 그림 의 이름과 같 지만 파일 형식 은 png 입 니 다.
    그 중에서 예시 이미지 목록 아래 에 9 장의 그림 이 놓 여 있 는데 서로 다른 독자 들 이 좋아 하 는 맛 을 고려 하기 위해 예시 사진 에는 잘 생 긴 남자 도 있 고 미녀 도 있다.그리고 그들의 미리 보기 그림 을 확대 했다.다음 과 같다.

    프로그램 을 실행 한 후,상술 한 예시 코드 의 운행 결 과 는 다음 과 같다.

    운행 성공 후 humansegoutput 디 렉 터 리 에 9 장의 그림 이 생 성 되 었 습 니 다.마찬가지 로 단추 그림 의 결 과 는 다음 과 같 습 니 다.

    우 리 는 프로그램 이 모든 그림 속 의 인물(한 사람 일 수도 있 고 여러 사람 일 수도 있다)을 식별 하고 그림 으로 파 내 는 것 을 볼 수 있다.배경 은 흰색 이다.디 테 일 한 부분 에 약간의 흠 이 있 지만 괜찮아 보인다.
    4.주의해 야 할 구덩이
    예제 코드 를 실행 할 때 모델deeplabv3p_xception65_humanseg을 따로 설치 하지 않 으 면 기본 값 은 자동 으로 실행 전에 설 치 됩 니 다.그러나 설치 완료 후 실행 결 과 는 스냅 샷 결과 및 humanseg 생 성 되 지 않 았 습 니 다.output 디 렉 터 리,출력 결 과 는 다음 과 같 습 니 다.

    정상 적 인 상황 에서 단추 그림 데 이 터 를 생 성하 고 results 를 인쇄 할 때 다음 과 같은 구조 가 있어 야 합 니 다.

    모델 을 따로 설치 하고 설치 버 전 을 지정 하여 해결 할 수 있 습 니 다.
    
    hub install deeplabv3p_xception65_humanseg==1.0.0
    구체 적 인 원인 은 자세히 따 지지 않 았 고 기본 적 인 자동 으로 모델 을 설치 할 때 버 전 은 1.2.0 이 며 모델 버 전이 호 환 되 지 않 아서 발생 한 것 으로 추정 된다.
    5.총화
    본 고 는 paddlepaddle 플랫폼 을 바탕 으로 PaddleHub DeepLabv 3+모델deeplabv3p_xception65_humanseg을 이용 하여 간단 한 다섯 줄 코드 를 사용 하여 대량의 파 기 를 실현 했다.일부 독자 들 은 상술 한 예시 에서 제공 한 코드 줄 수가 다섯 줄 코드 가 아니 라 고 생각 할 수도 있다.상술 한 예시 에서 진정 으로 단추 그림 을 실현 하 는 주 코드 는 사실 아래 다섯 줄 만 필요 하 다.
    
    humanseg = hub.Module(name='deeplabv3p_xception65_humanseg')  
    base_dir = os.path.abspath(os.path.dirname(__file__))
    path = os.path.join(base_dir, 'images/')
    files = [path + i for i in os.listdir(path)]  
    results = humanseg.segmentation(data={'image': files})  
    PaddleHub DeepLabv3+모델 을 이용 하면 원 키 단추 그림 뿐만 아니 라 이미지 합성,영상 합성 등 도 할 수 있다.이 를 잘 이용 하면 사람의 두 손 과 두 눈 을 해방 시 킬 뿐만 아니 라 일부 프로그램 원숭이/프로그램 원 의 설치 도구 상자 에 보물 기 를 제공 했다.다음 에 어떤 여자 나 절친 을 만 나 서 파 는 것 에 대해 걱정 하고 있다 면 신 구 를 꺼 내 마음 을 얻 는 것 을 잊 지 마 세 요!
    paddlepaddle 은 개원 의 깊이 있 는 학습 플랫폼 으로서 본 고 에서 소개 한 단추 훈련 모델 은 그 중의 빙산 의 일각 일 뿐 실전 훈련 예측 모델 의 종 류 는 그 치지 않 고 더 많은 장면 이 결합 되 어 독자 들 이 스스로 발굴 할 수 있다.
    여기 서 파 이 썬 코드 5 줄 의 일괄 스냅 샷 구현 에 관 한 글 을 소개 합 니 다.더 많은 파 이 썬 일괄 스냅 샷 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기