#python #google-drive-api #google-colaboratory #auto-keras
#python #google-drive-api #google-colaboratory #автокерас
Вопрос:
Я хотел бы избежать завершения ошибки при достижении предела диска при использовании autokeras в GoogleColab.
В настоящее время я использую и монтирую план GoogleDrive объемом 200 ГБ и сохраняю историю обучения autokeras на диске, чтобы уменьшить объем пространства, используемого в Colab.
Я хотел бы знать, есть ли способ тренироваться с autokeras без использования дискового пространства в GoogleColab.
Ошибка:
OSError: [Errno 28] No space left on device
Код:
import shutil
import autokeras as ak
import keras as ks
from keras.utils import np_utils
from sklearn.datasets import fetch_openml
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from PIL import Image
import glob
import os
from keras.preprocessing.image import load_img, img_to_array
import sys
import pickle
import requests
from tqdm import tqdm
from io import StringIO
#my_module
from module import sep_dataset, line_send, pre_treatment, model_evaluation, set_datarange
train_folder_path = '/content/drive/MyDrive/data/subJ'
max_model = 30
def make_model():
input_node = ak.ImageInput()
output_node = ak.ImageBlock(normalize=False, augment=False, )(input_node)
output_node = ak.ClassificationHead()(output_node)
model = ak.AutoModel(inputs=input_node, outputs=output_node, overwrite=True, max_trials=max_model, directory=train_folder_path,)
return model
t1, v1 = sep_dataset.main(train_folder_path, 0)
t2, v2 = sep_dataset.main(train_folder_path, 1)
t3, v3 = sep_dataset.main(train_folder_path, 2)
train = []
val = []
for i in range(len(t1)):
train.append([t1[i]] [t2[i]] [t3[i]])
val.append([v1[i]] [v2[i]] [v3[i]])
r, c, v, p = set_datarange.main(train_folder_path)
for count in range(p, len(val)):
for i in range(v,3):
X_train, Y_train = pre_treatment.main(train[count][i], len(train[count][i]))
X_test, Y_test = pre_treatment.main(val[count][i], len(val[count][i]))
model = make_model()
model.fit(X_train, Y_train, validation_data=(X_test, Y_test))
his = model.export_model()
save_path = os.path.join(train_folder_path.rsplit(os.sep,1)[0], 'result_info' , 'model.png')
model_evaluation.main(X_test, Y_test, model, val, train_folder_path, count, i)
v = 0