【发布时间】:2021-01-30 11:10:55
【问题描述】:
在 Google 云端硬盘学习后,我正在尝试保存回归模型。我最近开始探索机器学习,发现 Colab 有用但无法上传模型。我有本地机器的 python 代码,但我不知道如何将它上传到谷歌驱动器。
编辑:我试过这样做
from google.colab import drive
drive.mount('/content/gdrive')
name = 'dll_28'
addr = '/content/drive/My Drive/learning/'
但是当我运行代码时,它给出了以下错误
"Transport endpoint is not connected: '/content/drive/My Drive/learning/model_dll_28.json'"
sc_X = MinMaxScaler(feature_range=(-1,1))
sc_y = StandardScaler()
sX_train = sc_X.fit_transform(X_train)
sy_train = sc_y.fit_transform(y_train)
sX_test = sc_X.transform (X_test )
sy_test = sc_y.transform (y_test )
#==================================================================
#******************** Learning **********************************
#==================================================================
# Importing the Keras libraries and packages
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras import losses
from tensorflow.keras import optimizers
import tensorflow.keras.initializers as init
# Initialising the ANN
reg = Sequential()
reg.add(Dense(units = 32, kernel_initializer = init.glorot_uniform(), activation = 'relu', input_dim = 6))
reg.add(Dense(units = 64, kernel_initializer = init.glorot_uniform(), activation = 'relu'))
reg.add(Dense(units = 128, kernel_initializer = init.glorot_uniform(), activation = 'relu'))
reg.add(Dense(units = 32, kernel_initializer = init.glorot_uniform(), activation = 'relu'))
reg.add(Dense(units = 2, kernel_initializer = init.glorot_uniform(), activation = 'linear'))
# Compiling the ANN
reg.compile(optimizer = optimizers.Adam(lr=0.001),loss = losses.mse)
# Fitting the ANN to the Training set
reg.fit(sX_train, sy_train, batch_size = 256, epochs = 500)
score = reg.evaluate(sX_test, sy_test, batch_size = 250)
print(score)
#plt.hist(y[:,2]);
#==================================================================
#******************** Saving the regressor **********************
#==================================================================
import pickle
name = 'dll_28'
addr = homefolder + '/reg_files/dll_28/'
reg_json=reg.to_json()
with open(addr+'model_'+name+'.json', "w") as json_file:
json_file.write(reg_json)
reg.save_weights(addr+'reg_'+name+'.h5')
from sklearn.externals import joblib
joblib.dump(sc_X, addr+'scX_'+name+'.pkl')
joblib.dump(sc_y, addr+'scY_'+name+'.pkl')
pickle.dump( reg.get_weights(), open( addr+'w8_'+name+'.p', "wb" ) )
【问题讨论】:
标签: python tensorflow keras google-colaboratory