前提・実現したいこと
http://cedro3.com/ai/stylegan/
こちらのサイトを参考にしながらgoogle colab で StyleGANのコーディングを勉強しているのですが、
トレーニングデータを読み込むところでエラーが発生してしまいます。
アドバイスよろしくお願いします。
(見本のサイトでは、url = 'https://drive.google.com/uc?id=1MEGjdvVpUsu1jB4zrXZN7Y4kBBOzizDQ' だったのですが、直接ファイルを読み取れないようだったので、一度ダウンロードして自分のgoogleDriveにファイルをアップロードして読み込むようにしました。)
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- --------------------------------------------------------------------------- UnpicklingError Traceback (most recent call last) <ipython-input-84-b4d8cef9c989> in <module>() 45 46 if __name__ == "__main__": ---> 47 main() <ipython-input-84-b4d8cef9c989> in main() 14 url = 'https://drive.google.com/file/d/1Ee0irzmTrTKL5Czm_bpB_6mB2lVAfA5B/view?usp=sharing' # karras2019stylegan-ffhq-1024x1024.pkl 15 with dnnlib.util.open_url(url, cache_dir=config.cache_dir) as f: ---> 16 _G, _D, Gs = pickle.load(f) 17 # _G = Instantaneous snapshot of the generator. Mainly useful for resuming a previous training run. 18 # _D = Instantaneous snapshot of the discriminator. Mainly useful for resuming a previous training run. UnpicklingError: invalid load key, '\x0a'.
該当のソースコード
python3
1from google.colab import drive 2drive.mount('/content/drive') 3 4cd drive/My Drive 5!git clone https://github.com/NVlabs/stylegan.git 6cd stylegan 7 8!pip install tensorflow==1.15 9!pip install tensorflow-gpu==1.15 10 11import os 12import pickle 13import numpy as np 14import PIL.Image 15import dnnlib 16import dnnlib.tflib as tflib 17import config 18 19def main(): 20 # Initialize TensorFlow. 21 tflib.init_tf() 22 23 # Load pre-trained network. 24 url = 'https://drive.google.com/file/d/1Ee0irzmTrTKL5Czm_bpB_6mB2lVAfA5B/view?usp=sharing' # karras2019stylegan-ffhq-1024x1024.pkl 25 with dnnlib.util.open_url(url, cache_dir=config.cache_dir) as f: 26 _G, _D, Gs = pickle.load(f) 27 # _G = Instantaneous snapshot of the generator. Mainly useful for resuming a previous training run. 28 # _D = Instantaneous snapshot of the discriminator. Mainly useful for resuming a previous training run. 29 # Gs = Long-term average of the generator. Yields higher-quality results than the instantaneous snapshot. 30 31 # Print network details. 32 Gs.print_layers() 33 34 # Pick latent vector. 35 rnd = np.random.RandomState(10) # seed = 10 36 latents0 = rnd.randn(1, Gs.input_shape[1]) 37 latents1 = rnd.randn(1, Gs.input_shape[1]) 38 latents2 = rnd.randn(1, Gs.input_shape[1]) 39 latents3 = rnd.randn(1, Gs.input_shape[1]) 40 latents4 = rnd.randn(1, Gs.input_shape[1]) 41 latents5 = rnd.randn(1, Gs.input_shape[1]) 42 latents6 = rnd.randn(1, Gs.input_shape[1]) 43 44 num_split = 39 # 2つのベクトルを39分割 45 for i in range(40): 46 latents = latents6+(latents0-latents6)*i/num_split 47 # Generate image. 48 fmt = dict(func=tflib.convert_images_to_uint8, nchw_to_nhwc=True) 49 images = Gs.run(latents, None, truncation_psi=0.7, randomize_noise=True, output_transform=fmt) 50 51 # Save image. 52 os.makedirs(config.result_dir, exist_ok=True) 53 png_filename = os.path.join(config.result_dir, 'photo'+'{0:04d}'.format(i)+'.png') 54 PIL.Image.fromarray(images[0], 'RGB').save(png_filename) 55 56if __name__ == "__main__": 57 main() 58
補足情報(FW/ツールのバージョンなど)
新しく出たエラー
Downloading https://drive.google.com/uc?id=1MEGjdvVpUsu1jB4zrXZN7Y4kBBOzizDQ ............ failed --------------------------------------------------------------------------- OSError Traceback (most recent call last) <ipython-input-20-ece5f04dab83> in <module>() 45 46 if __name__ == "__main__": ---> 47 main() 1 frames /content/drive/My Drive/stylegan/dnnlib/util.py in open_url(url, cache_dir, num_attempts, verbose) 376 raise IOError("Google Drive virus checker nag") 377 if "Google Drive - Quota exceeded" in content_str: --> 378 raise IOError("Google Drive quota exceeded") 379 380 match = re.search(r'filename="([^"]*)"', res.headers.get("Content-Disposition", "")) OSError: Google Drive quota exceeded
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/06 01:35
2021/04/06 06:22 編集
2021/04/06 11:40 編集