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.원 키 탭 코드 구현
우리 의 실현 절 차 는 매우 간단 하 다.
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 줄 의 일괄 스냅 샷 구현 에 관 한 글 을 소개 합 니 다.더 많은 파 이 썬 일괄 스냅 샷 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.