質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

1066閲覧

GoogleColabでautokeras使用時にディスクの上限に達してしまう

totyan

総合スコア6

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/01/16 10:11

前提・実現したいこと

GoogleColabでautokeras使用時にディスクの上限に達してのエラー終了を回避したいです。

現在、GoogleDriveの200GBプランを使用しマウントして、autokerasの学習履歴の保存場所をドライブ内にしColab内の使用容量を減らして使用しています。

GoogleColab上のディスク容量を消費せずにautokerasで学習を行える方法があれば教えていただきたいです。

発生している問題・エラーメッセージ

OSError: [Errno 28] No space left on device

該当のソースコード

python

1%%monitor_cell "subJ" 2import shutil 3import autokeras as ak 4import keras as ks 5from keras.utils import np_utils 6from sklearn.datasets import fetch_openml 7import pandas as pd 8import numpy as np 9import matplotlib 10import matplotlib.pyplot as plt 11from PIL import Image 12import glob 13import os 14from keras.preprocessing.image import load_img, img_to_array 15import sys 16import pickle 17import requests 18from tqdm import tqdm 19from io import StringIO 20# 画像用 21from keras.preprocessing.image import array_to_img, img_to_array, load_img 22#自作モジュール 23from module import sep_dataset, line_send, pre_treatment, model_evaluation, set_datarange 24 25 26#教師データが入っているフォルダのパス 27train_folder_path = '/content/drive/MyDrive/実験データ/subJ' 28#モデルの最大試行回数 29max_model = 30 30 31#モデル構築(Auto-kerasのモデル設定) 32def make_model(): 33 input_node = ak.ImageInput() 34 output_node = ak.ImageBlock(normalize=False, augment=False, )(input_node) 35 output_node = ak.ClassificationHead()(output_node) 36 model = ak.AutoModel(inputs=input_node, outputs=output_node, overwrite=True, max_trials=max_model, directory=train_folder_path,) 37 return model 38 39#テスト・トレーニングデータに分離、検証データの入れ替え及び全パターンの組み合わせの作成 40t1, v1 = sep_dataset.main(train_folder_path, 0) 41t2, v2 = sep_dataset.main(train_folder_path, 1) 42t3, v3 = sep_dataset.main(train_folder_path, 2) 43train = [] 44val = [] 45for i in range(len(t1)): 46 train.append([t1[i]]+[t2[i]]+[t3[i]]) 47 val.append([v1[i]]+[v2[i]]+[v3[i]]) 48 49#前回学習中断箇所の取得(r=中断箇所のセルのrow、 c=中断箇所のセルのcolumn、 v=検証データの数字、  p=何個目の分割パターンかの数字) 50r, c, v, p = set_datarange.main(train_folder_path) 51 52#全パターンを回す 53for count in range(p, len(val)): 54 for i in range(v,3): 55 #データの前処理 56 X_train, Y_train = pre_treatment.main(train[count][i], len(train[count][i])) 57 X_test, Y_test = pre_treatment.main(val[count][i], len(val[count][i])) 58 59 #CNNモデルの構築(max_trials:モデルの試行回数) 60 model = make_model() 61 62 #モデルの訓練(学習) 63 model.fit(X_train, Y_train, validation_data=(X_test, Y_test)) 64 65 #学習性能の推移 66 his = model.export_model() 67 68 #ネットワークモデルの可視化(画像の保存) 69 save_path = os.path.join(train_folder_path.rsplit(os.sep,1)[0], 'result_info' , 'model.png') 70 #plot_model(model, show_shapes=True, show_layer_names=False, to_file=save_path) 71 72 #学習済みモデルの保存 73 #model.save('/content/drive/My Drive/実験データ/subM/subM_CNN_model.h5') 74 75 #モデル精度評価 76 model_evaluation.main(X_test, Y_test, model, val, train_folder_path, count, i) 77 78 #特徴マップ(畳み込み層)出力 79 #plot_conv_outputs1(model, X_test[0], train_folder_path, val) 80 v = 0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問