딥러닝 스타일 이전 – 튜토리얼


차세대 앤디 워홀이 되고 싶었지만 예술적 재능이 없었다면 이제 AI가 대신해 드립니다. 스타일 전송 신경망을 사용하면 이미지에 예술적 스타일을 적용할 수 있습니다. 이는 기존 이미지 분류 네트워크를 가져와 전송 네트워크 교육에서 손실 함수로 사용하고 변환 출력을 교육 이미지 및 그림과 같은 예제 스타일 이미지와 비교하여 생성됩니다. 직관적으로 우리는 사전 훈련된 네트워크를 사용하여 대상 이미지의 의미론적 특징과 스타일 이미지의 텍스처를 혼합하는 새로운 네트워크를 훈련하고 있습니다.

우리는 활용한다
JC Johnson의 빠른 신경 스타일 구현 이 프로세스의 사전 훈련된 VGG16 네트워크를 사용하여 훈련 중 손실을 계산합니다. 우리는 Rescale에서 K80 GPU를 사용하여 변환 네트워크를 효율적으로 훈련한 다음 네트워크를 새로운 이미지에 적용합니다.

스타일 전송은 1) 스타일 전송 네트워크 자체를 훈련하고 2) 전송 모델을 새 이미지에 적용하는 두 단계로 이루어집니다. 아래에서는 각 단계를 수행하기 위해 Rescale 작업을 설정하는 방법을 보여줍니다.

아래는 잭슨 폴락(Jackson Pollock), 무라카미 다카시(Takashi Murakami), 홍콩의 고층 건물 사진 등 다양한 예술 작품으로 스타일링한 리스케일 팀원 XNUMX명입니다. 어느 것이 어느 것인지 추측할 수 있는지 확인하세요.  
스타일이전블로그이미지
스타일 전송은 새로운 K80 GPU 하드웨어를 갖춘 Rescale의 클라우드 컴퓨팅 플랫폼에서 쉽게 달성할 수 있습니다. 예술적으로 렌더링된 자신만의 신경망 이미지를 생성할 수 있도록 샘플 파일과 함께 튜토리얼이 포함되어 있습니다. 이 튜토리얼에서는 Clint Eastwood, Darth Vader, David Bowie 및 코기의 초상화에 Jackson Pollock의 "On Arches" 스타일을 적용할 수 있습니다.

크기 조정 시 스타일 전송 수행
이제 Rescale에서 자신만의 스타일 전송 작업을 실행하는 방법을 보여드리겠습니다. Torch 네트워크 훈련 작업을 생성하고 실행하겠습니다.
jcjohnson의 빠른 신경 스타일 패키지. 그런 다음 이 작업을 복제하여 새로운 스타일을 트레이닝하거나 새로운 이미지 스타일을 지정할 수 있습니다. 여기에서 Rescale에서 이 작업을 복제할 수 있습니다..
시작하려면 다음 파일을 입력으로 업로드합니다.

  • fast-neural-style.tar.gz: GitHub에서 다운로드한 jcjohnson의 소프트웨어가 포함된 tarball.
  • coco2014.h5.gz: Microsoft COCO 2014 상황 내 이미지 교육 데이터 세트(hdf5 형식)(이 저장소는 실제로 COCO 1의 원본 이미지 중 10/2014을 무작위로 선택한 것입니다).
  • 클린트.jpg: 스타일을 지정할 이미지
  • 폴락.jpg: 이미지 스타일을 지정하는 데 사용되는 이미지(아트워크)
  • vgg16.t7.gz: Torch의 t16 형식으로 훈련된 VGG7 모델

입력 파일
다음으로 Torch를 실행할 것인지와 실행할 스크립트를 지정합니다. 먼저 train.lua를 실행합니다. VGG16을 기본 모델로, COCO 2014를 훈련 데이터 세트로, pollock.jpg를 스타일로 사용하여 스타일 전송 모델을 구축합니다. 스타일 전송 모델인 model.t7이 생성되면 fast_neural_style.lua를 호출하여 clint.jpg 스타일을 지정합니다. 스타일링이 완료된 후 Rescale 스토리지에 보관할 필요가 없는 파일을 정리합니다.

SW설정
이제 달릴 준비가 거의 다 되었습니다. 이제 Obsidian 코어 유형, CPU 코어 2개(K1 GPU 80개에 해당)를 선택한 다음 제출을 누르세요.
hwsetup
클러스터가 시작되고 입력이 클러스터에 동기화되면 초기 스타일 모델 교육이 시작되고 아래와 같은 보기가 표시됩니다. 
스타일전송상태1
학습 및 이미지 스타일링이 완료된 후 결과 파일이 다시 동기화되고 스타일이 지정된 Clint Eastwood를 볼 수 있습니다.
클린트 최종
우리도 모델.t7 우리 출력 파일에. 이는 추가 이미지 스타일을 지정하는 데 사용하는 Pollock 스타일 전송 신경망입니다. 먼저 이 모델 파일을 입력 파일로 사용할 수 있도록 만들어 보겠습니다.
출력-입력
이제 동일한 코드 저장소, 새 모델 파일, 스타일을 지정할 추가 이미지를 사용하여 새 작업을 만듭니다. 여기에서 Rescale에서 이 작업을 복제할 수 있습니다..
스타일 전용 입력
이번에는 이미지를 아카이브로 업로드했습니다. 업로드 후 압축이 풀릴 것이며 결과 입력 디렉토리에 대해 fast-neural-style을 실행합니다. 더 이상 컴퓨팅 집약적인 교육 프로세스를 실행할 필요가 없다는 점에 주목하세요.
스타일 전용-swsettings
훈련이 완료되면 스타일이 지정된 이미지가 결과의 output_imgs에 나타납니다.
출력4업
*이 블로그 게시물의 기술 및 교육 측면을 설정해 준 Mark Whitney에게 특별히 감사드립니다. 

저자

  • 애덤 매켄지

    CTO로서 Adam은 HPC 및 고객 성공 팀을 관리하는 책임을 맡고 있습니다. Adam은 Boeing에서 경력을 시작하여 787년 동안 XNUMX을 작업하면서 구조 및 소프트웨어 엔지니어링 프로젝트를 관리하고 날개를 설계, 분석 및 최적화했습니다. Adam은 오레곤 주립대학교에서 우등으로 기계공학 학사학위를 취득했습니다.

비슷한 게시물