신경망 학습을 위한 데이터 준비를 위해, 인터넷 상의 파일을 다운로드 받아 압축을 풀 경우가 있습니다. 이때 내가 원하는 로컬 경로에 다운로드를 받고, 원하는 서브 디렉토리에 압축을 풀기 위해 다음의 코드가 사용될 수 있습니다.
import tensorflow as tf path = 'D:/GeoAI/20200203' tf.keras.utils.get_file(path + '/image.zip', 'http://where.net/data.zip', extract=True, cache_subdir='data', cache_dir=path)
결과적으로 인터넷 상에 존재하는 http://where.net/data.zip을 D:/GeoAI/20200203 디렉토리에 image.zip 파일명으로 다운로드 받고, 압축은 D:/GeoAI/20200203/data에 풀게 됩니다.
추가적으로 아래의 코드는 압축이 풀린 파일명 리스트를 얻는 코드입니다.
import pathlib file_path = pathlib.Path(path + '/data/images') file_paths = list(file_path.glob('*/*')) print(file_paths[:10])
이렇게 얻은 파일들의 경로를 통해, 만약 해당 파일이 이미지 형식이라면 실제 화면상에 표시해 확인할 수 있는데, 해당 코드는 아래와 같습니다.
import matplotlib.pyplot as plt import os plt.figure(figsize=(12,12)) for i in range(9): plt.subplot(3,3,i+1) plt.imshow(plt.imread(file_paths[i])) plt.title(os.path.basename(file_paths[i])) plt.axis('off') plt.show()
결과는 다음과 같습니다.
https://colab.research.google.com/github/tensorflow/examples/blob/master/community/en/flowers_tf_lite.ipynb#scrollTo=xxL2mjVVGIrV
이 코랩코드를 PC나 구글 드라이브에서 파일을 갖고와서 데이터 자료로 사용하는 방식을 쓰고 싶습니다. get_file에서 수정해야할 부분이나 새로운 코드를 추천해주실 수 있나요?
안녕하세요…
아.. 저는 직접 GPU 서버에서 구동하기 때문에.. 코랩 등과 같은 환경은 잘 모르겠습니다~