matplotlib에서 그래프를 표시하지 않고 이미지로 저장
1. 배경
제2회 Neural Network Console Challenge에 참가해, 시행착오한 내용을 비망록으로서 픽업합니다. 여러 번 나누어 게시 예정 (어디까지 예정). 초보자의 프로그래밍이므로, 귀찮은 일을 하고 있을 가능성이 크지만, 따뜻한 눈으로 지켜봐 주세요 . 챌린지 내용 자세한 내용은 과거 게시물을 참조하십시오.
2. 코드
딥 러닝의 학습 데이터로서, 음성 데이터를 멜 주파수 스펙트로그램의 화상에 특징량화할 필요가 있고, librosa 를 사용해 변환했습니다. librosa에는 결과를 표시하는 함수가 준비되어 있어 "librosa.display.specshow"를 사용 matplotlib로 시각화하는 것이 일반적이라고 생각합니다. 이 때, 일일이 그래프가 표시되어 버려, 곧바로 메모리 부족 상태가 됩니다. plt.close() 를 사용하면 이것을 쉽게 피할 수 있습니다. 코드는 얼른 아래.
plt.figure(figsize=(2, 1), dpi=100)
librosa.display.specshow(log_S, sr=sr) #librosaの結果表示
plt.subplots_adjust(left=0, right=1, bottom=0, top=1) #余白を調整
plt.savefig("fig.png")
plt.close() #←これ!
이것을 for문으로 반복해서 저장하면 OK. Neural Network Console Challenge에서는 10,000점을 넘는 음성 데이터를 그래프(이미지) 데이터로 변환하여 저장했지만 문제 없었습니다.
Reference
이 문제에 관하여(matplotlib에서 그래프를 표시하지 않고 이미지로 저장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/n91-takayuki/items/6efc3f5c267e5d17e0ba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
딥 러닝의 학습 데이터로서, 음성 데이터를 멜 주파수 스펙트로그램의 화상에 특징량화할 필요가 있고, librosa 를 사용해 변환했습니다. librosa에는 결과를 표시하는 함수가 준비되어 있어 "librosa.display.specshow"를 사용 matplotlib로 시각화하는 것이 일반적이라고 생각합니다. 이 때, 일일이 그래프가 표시되어 버려, 곧바로 메모리 부족 상태가 됩니다. plt.close() 를 사용하면 이것을 쉽게 피할 수 있습니다. 코드는 얼른 아래.
plt.figure(figsize=(2, 1), dpi=100)
librosa.display.specshow(log_S, sr=sr) #librosaの結果表示
plt.subplots_adjust(left=0, right=1, bottom=0, top=1) #余白を調整
plt.savefig("fig.png")
plt.close() #←これ!
이것을 for문으로 반복해서 저장하면 OK. Neural Network Console Challenge에서는 10,000점을 넘는 음성 데이터를 그래프(이미지) 데이터로 변환하여 저장했지만 문제 없었습니다.
Reference
이 문제에 관하여(matplotlib에서 그래프를 표시하지 않고 이미지로 저장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/n91-takayuki/items/6efc3f5c267e5d17e0ba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)