本文整理汇总了Python中keras.optimizers方法的典型用法代码示例。如果您正苦于以下问题:Python keras.optimizers方法的具体用法?Python keras.optimizers怎么用?Python keras.optimizers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类keras
的用法示例。
在下文中一共展示了keras.optimizers方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DistributedOptimizer
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def DistributedOptimizer(optimizer, name=None, device_dense='', device_sparse=''):
"""
An optimizer that wraps another keras.optimizers.Optimizer, using an allreduce to
average gradient values before applying gradients to model weights.
Args:
optimizer: Optimizer to use for computing gradients and applying updates.
name: Optional name prefix for the operations created when applying
gradients. Defaults to "Distributed" followed by the provided
optimizer type.
device_dense: Device to be used for dense tensors. Uses GPU by default
if Horovod was build with HOROVOD_GPU_ALLREDUCE.
device_sparse: Device to be used for sparse tensors. Uses GPU by default
if Horovod was build with HOROVOD_GPU_ALLGATHER.
"""
# We dynamically create a new class that inherits from the optimizer that was passed in.
# The goal is to override get_gradients() method with an allreduce implementation.
# This class will have the same name as the optimizer it's wrapping, so that the saved
# model could be easily restored without Horovod.
cls = type(optimizer.__class__.__name__, (optimizer.__class__,),
dict(_DistributedOptimizer.__dict__))
return cls(name, device_dense, device_sparse, **optimizer.get_config())
示例2: fGetOptimizerAndLoss
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def fGetOptimizerAndLoss(optimizer, learningRate=0.001, loss='categorical_crossentropy'):
if optimizer not in ['Adam', 'SGD', 'Adamax', 'Adagrad', 'Adadelta', 'Nadam', 'RMSprop']:
print('this optimizer does not exist!!!')
return None
loss = 'categorical_crossentropy'
if optimizer == 'Adamax': # leave the rest as default values
opti = keras.optimizers.Adamax(lr=learningRate)
loss = 'categorical_crossentropy'
elif optimizer == 'SGD':
opti = keras.optimizers.SGD(lr=learningRate, momentum=0.9, decay=5e-5)
loss = 'categorical_crossentropy'
elif optimizer == 'Adagrad':
opti = keras.optimizers.Adagrad(lr=learningRate)
elif optimizer == 'Adadelta':
opti = keras.optimizers.Adadelta(lr=learningRate)
elif optimizer == 'Adam':
opti = keras.optimizers.Adam(lr=learningRate, decay=5e-5)
loss = 'categorical_crossentropy'
elif optimizer == 'Nadam':
opti = keras.optimizers.Nadam(lr=learningRate)
loss = 'categorical_crossentropy'
elif optimizer == 'RMSprop':
opti = keras.optimizers.RMSprop(lr=learningRate)
return opti, loss
示例3: fGetOptimizerAndLoss
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def fGetOptimizerAndLoss(optimizer,learningRate=0.001, loss='categorical_crossentropy'):
if optimizer not in ['Adam', 'SGD', 'Adamax', 'Adagrad', 'Adadelta', 'Nadam', 'RMSprop']:
print('this optimizer does not exist!!!')
return None
loss='categorical_crossentropy'
if optimizer == 'Adamax': # leave the rest as default values
opti = keras.optimizers.Adamax(lr=learningRate)
loss = 'categorical_crossentropy'
elif optimizer == 'SGD':
opti = keras.optimizers.SGD(lr=learningRate, momentum=0.9, decay=5e-5)
loss = 'categorical_crossentropy'
elif optimizer == 'Adagrad':
opti = keras.optimizers.Adagrad(lr=learningRate)
elif optimizer == 'Adadelta':
opti = keras.optimizers.Adadelta(lr=learningRate)
elif optimizer == 'Adam':
opti = keras.optimizers.Adam(lr=learningRate, decay=5e-5)
loss = 'categorical_crossentropy'
elif optimizer == 'Nadam':
opti = keras.optimizers.Nadam(lr=learningRate)
loss = 'categorical_crossentropy'
elif optimizer == 'RMSprop':
opti = keras.optimizers.RMSprop(lr=learningRate)
return opti, loss
示例4: main
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def main():
# Define X and y
# # Load data
PATH = "./data/64_64_1/offset_1.3/"
X = np.load(PATH + "basic_dataset_img.npz")
y = np.load(PATH + "basic_dataset_pts.npz")
X = X['arr_0']
y = y['arr_0'].reshape(-1, 136)
print("Define X and Y")
print("=======================================")
# Split train / test dataset
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
print("Success of getting train / test dataset")
print("=======================================")
print("X_train: ", X_train.shape)
print("y_train: ", y_train.shape)
print("X_test: ", X_test.shape)
print("y_test: ", y_test.shape)
print("=======================================")
model.compile(loss=smoothL1, optimizer=keras.optimizers.Adam(lr=1e-3), metrics=['mape'])
print(model.summary())
# checkpoint
filepath="./basic_checkpoints/smooth_L1-{epoch:02d}-{val_mean_absolute_percentage_error:.5f}.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=True, mode='min')
callbacks_list = [checkpoint]
history = model.fit(X_train, y_train, batch_size=64, epochs=10000, shuffle=True,\
verbose=1, validation_data=(X_test, y_test), callbacks=callbacks_list)
# Save model
model.save("./model/face_landmark_dnn.h5")
print("=======================================")
print("Save Final Model")
print("=======================================")
示例5: initialize_model
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def initialize_model():
model = Sequential()
model.add(Dense(600, use_bias=True,input_dim=2886))#1924
model.add(keras.layers.BatchNormalization())
model.add(Dropout(0.5))
model.add(Activation("relu"))
model.add(Dense(100, use_bias=True,input_dim=1924))
model.add(keras.layers.BatchNormalization())
model.add(Dropout(0.5))
model.add(Activation("relu"))
model.add(Dense(1))
model.add(Activation('sigmoid'))
optimizer = keras.optimizers.Adam()
model.compile(optimizer=optimizer,loss='binary_crossentropy',metrics=['accuracy'])
return model
示例6: fPredict
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def fPredict(X, y, sModelPath, sOutPath, batchSize=64):
"""Takes an already trained model and computes the loss and Accuracy over the samples X with their Labels y
Input: X: Samples to predict on. The shape of X should fit to the input shape of the model y: Labels for the
Samples. Number of Samples should be equal to the number of samples in X sModelPath: (String) full path to a
trained keras model. It should be *_json.txt file. there has to be a corresponding *_weights.h5 file in the same
directory! sOutPath: (String) full path for the Output. It is a *.mat file with the computed loss and accuracy
stored. The Output file has the Path 'sOutPath'+ the filename of sModelPath without the '_json.txt' added the
suffix '_pred.mat' batchSize: Batchsize, number of samples that are processed at once """
sModelPath = sModelPath.replace("_json.txt", "")
weight_name = sModelPath + '_weights.h5'
model_json = sModelPath + '_json.txt'
model_all = sModelPath + '_model.h5'
# load weights and model (new way)
model_json = open(model_json, 'r')
model_string = model_json.read()
model_json.close()
model = model_from_json(model_string)
model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.Adam(), metrics=['accuracy'])
model.load_weights(weight_name)
score_test, acc_test = model.evaluate(X, y, batch_size=batchSize)
print('loss' + str(score_test) + ' acc:' + str(acc_test))
prob_pre = model.predict(X, batch_size=batchSize, verbose=1)
print(prob_pre[0:14, :])
_, sModelFileSave = os.path.split(sModelPath)
modelSave = sOutPath + sModelFileSave + '_pred.mat'
print('saving Model:{}'.format(modelSave))
sio.savemat(modelSave, {'prob_pre': prob_pre, 'score_test': score_test, 'acc_test': acc_test})
示例7: fPredict
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def fPredict(X, y, sModelPath, sOutPath, batchSize=64):
"""Takes an already trained model and computes the loss and Accuracy over the samples X with their Labels y
Input:
X: Samples to predict on. The shape of X should fit to the input shape of the model
y: Labels for the Samples. Number of Samples should be equal to the number of samples in X
sModelPath: (String) full path to a trained keras model. It should be *_json.txt file. there has to be a corresponding *_weights.h5 file in the same directory!
sOutPath: (String) full path for the Output. It is a *.mat file with the computed loss and accuracy stored.
The Output file has the Path 'sOutPath'+ the filename of sModelPath without the '_json.txt' added the suffix '_pred.mat'
batchSize: Batchsize, number of samples that are processed at once"""
sModelPath = sModelPath.replace("_json.txt", "")
weight_name = sModelPath + '_weights.h5'
model_json = sModelPath + '_json.txt'
model_all = sModelPath + '_model.h5'
# load weights and model (new way)
model_json = open(model_json, 'r')
model_string = model_json.read()
model_json.close()
model = model_from_json(model_string)
model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.Adam(), metrics=['accuracy'])
model.load_weights(weight_name)
score_test, acc_test = model.evaluate(X, y, batch_size=batchSize)
print('loss' + str(score_test) + ' acc:' + str(acc_test))
prob_pre = model.predict(X, batch_size=batchSize, verbose=1)
print(prob_pre[0:14, :])
_, sModelFileSave = os.path.split(sModelPath)
modelSave = sOutPath + sModelFileSave + '_pred.mat'
print('saving Model:{}'.format(modelSave))
sio.savemat(modelSave, {'prob_pre': prob_pre, 'score_test': score_test, 'acc_test': acc_test})
示例8: fPredict
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def fPredict(X, y, sModelPath, sOutPath, batchSize=64):
# takes the .mat file as a string
sModelPath = sModelPath.replace(".mat", "")
# sModelPath = sModelPath.replace("_json", "")
weight_name = sModelPath + '_weights.h5'
model_json = sModelPath + '.json'
model_all = sModelPath + '_model.h5'
model_json = open(model_json, 'r')
model_string = model_json.read()
model_json.close()
model = model_from_json(model_string)
model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.Adam(), metrics=['accuracy'])
model.load_weights(weight_name)
score_test, acc_test = model.evaluate(X, y, batch_size=batchSize)
print('score:' + str(score_test) + 'acc:' + str(acc_test))
prob_pre = model.predict(X, batch_size=batchSize, verbose=1)
_, sModelFileSave = os.path.split(sModelPath)
modelSave = sOutPath + sModelFileSave + '_pred.mat'
print(modelSave)
sio.savemat(modelSave, {'prob_pre': prob_pre, 'score_test': score_test, 'acc_test': acc_test})
示例9: fPredict
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def fPredict(X_test, y=None, Y_segMasks_test=None, sModelPath=None, sOutPath=None, batch_size=64):
"""Takes an already trained model and computes the loss and Accuracy over the samples X with their Labels y
Input: X: Samples to predict on. The shape of X should fit to the input shape of the model y: Labels for the
Samples. Number of Samples should be equal to the number of samples in X sModelPath: (String) full path to a
trained keras model. It should be *_json.txt file. there has to be a corresponding *_weights.h5 file in the same
directory! sOutPath: (String) full path for the Output. It is a *.mat file with the computed loss and accuracy
stored. The Output file has the Path 'sOutPath'+ the filename of sModelPath without the '_json.txt' added the
suffix '_pred.mat' batchSize: Batchsize, number of samples that are processed at once """
X_test = np.expand_dims(X_test, axis=-1)
Y_segMasks_test_foreground = np.expand_dims(Y_segMasks_test, axis=-1)
Y_segMasks_test_background = np.ones(Y_segMasks_test_foreground.shape) - Y_segMasks_test_foreground
Y_segMasks_test = np.concatenate((Y_segMasks_test_background, Y_segMasks_test_foreground), axis=-1)
_, sPath = os.path.splitdrive(sModelPath)
sPath, sFilename = os.path.split(sPath)
sFilename, sExt = os.path.splitext(sFilename)
listdir = os.listdir(sModelPath)
# load weights and model (new way)
with open(sModelPath + os.sep + sFilename + '.json', 'r') as fp:
model_string = fp.read()
model = model_from_json(model_string)
model.summary()
model.compile(loss=dice_coef_loss, optimizer=keras.optimizers.Adam(), metrics=[dice_coef])
model.load_weights(sModelPath + os.sep + sFilename + '_weights.h5')
score_test, acc_test = model.evaluate(X_test, Y_segMasks_test, batch_size=2)
print('loss' + str(score_test) + ' acc:' + str(acc_test))
prob_pre = model.predict(X_test, batch_size=batch_size, verbose=1)
predictions = {'prob_pre': prob_pre, 'score_test': score_test, 'acc_test': acc_test}
return predictions
示例10: fPredict
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def fPredict(X, y, sModelPath, sOutPath, batchSize=64):
"""Takes an already trained model and computes the loss and Accuracy over the samples X with their Labels y
Input: X: Samples to predict on. The shape of X should fit to the input shape of the model y: Labels for the
Samples. Number of Samples should be equal to the number of samples in X sModelPath: (String) full path to a
trained keras model. It should be *_json.txt file. there has to be a corresponding *_weights.h5 file in the same
directory! sOutPath: (String) full path for the Output. It is a *.mat file with the computed loss and accuracy
stored. The Output file has the Path 'sOutPath'+ the filename of sModelPath without the '_json.txt' added the
suffix '_pred.mat' batchSize: Batchsize, number of samples that are processed at once """
sModelPath = sModelPath.replace("_json.txt", "")
weight_name = sModelPath + '_weights.h5'
model_json = sModelPath + '_json.txt'
model_all = sModelPath + '_model.h5'
# load weights and model (new way)
model_json = open(model_json, 'r')
model_string = model_json.read()
model_json.close()
model = model_from_json(model_string)
model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.Adam(), metrics=['accuracy'])
model.load_weights(weight_name)
score_test, acc_test = model.evaluate(X, y, batch_size=batchSize)
print('loss' + str(score_test) + ' acc:' + str(acc_test))
prob_pre = model.predict(X, batch_size=batchSize, verbose=1)
print(prob_pre[0:14, :])
_, sModelFileSave = os.path.split(sModelPath)
modelSave = sOutPath + sModelFileSave + '_pred.mat'
print('saving Model:{}'.format(modelSave))
sio.savemat(modelSave, {'prob_pre': prob_pre, 'score_test': score_test, 'acc_test': acc_test})
###############################################################################
## OPTIMIZATIONS ##
###############################################################################
示例11: fPredict
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def fPredict(X,y, sModelPath, sOutPath, batchSize=64):
"""Takes an already trained model and computes the loss and Accuracy over the samples X with their Labels y
Input:
X: Samples to predict on. The shape of X should fit to the input shape of the model
y: Labels for the Samples. Number of Samples should be equal to the number of samples in X
sModelPath: (String) full path to a trained keras model. It should be *_json.txt file. there has to be a corresponding *_weights.h5 file in the same directory!
sOutPath: (String) full path for the Output. It is a *.mat file with the computed loss and accuracy stored.
The Output file has the Path 'sOutPath'+ the filename of sModelPath without the '_json.txt' added the suffix '_pred.mat'
batchSize: Batchsize, number of samples that are processed at once"""
sModelPath = sModelPath.replace("_json.txt", "")
weight_name = sModelPath + '_weights.h5'
model_json = sModelPath + '_json.txt'
model_all = sModelPath + '_model.h5'
# load weights and model (new way)
model_json = open(model_json, 'r')
model_string = model_json.read()
model_json.close()
model = model_from_json(model_string)
model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.Adam(), metrics=['accuracy'])
model.load_weights(weight_name)
score_test, acc_test = model.evaluate(X, y, batch_size=batchSize)
print('loss' + str(score_test) + ' acc:' + str(acc_test))
prob_pre = model.predict(X, batch_size=batchSize, verbose=1)
print(prob_pre[0:14, :])
_, sModelFileSave = os.path.split(sModelPath)
modelSave = sOutPath + sModelFileSave + '_pred.mat'
print('saving Model:{}'.format(modelSave))
sio.savemat(modelSave, {'prob_pre': prob_pre, 'score_test': score_test, 'acc_test': acc_test})
###############################################################################
## OPTIMIZATIONS ##
###############################################################################
示例12: fPredict
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def fPredict(X, y, sModelPath, sOutPath, batchSize=64):
"""Takes an already trained model and computes the loss and Accuracy over the samples X with their Labels y
Input:
X: Samples to predict on. The shape of X should fit to the input shape of the model
y: Labels for the Samples. Number of Samples should be equal to the number of samples in X
sModelPath: (String) full path to a trained keras model. It should be *_json.txt file. there has to be a corresponding *_weights.h5 file in the same directory!
sOutPath: (String) full path for the Output. It is a *.mat file with the computed loss and accuracy stored.
The Output file has the Path 'sOutPath'+ the filename of sModelPath without the '_json.txt' added the suffix '_pred.mat'
batchSize: Batchsize, number of samples that are processed at once"""
sModelPath = sModelPath.replace("_json.txt", "")
weight_name = sModelPath + '_weights.h5'
model_json = sModelPath + '_json.txt'
model_all = sModelPath + '_model.h5'
# load weights and model (new way)
model_json = open(model_json, 'r')
model_string = model_json.read()
model_json.close()
model = model_from_json(model_string)
model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.Adam(), metrics=['accuracy'])
model.load_weights(weight_name)
score_test, acc_test = model.evaluate(X, y, batch_size=batchSize)
print('loss' + str(score_test) + ' acc:' + str(acc_test))
prob_pre = model.predict(X, batch_size=batchSize, verbose=1)
print(prob_pre[0:14, :])
_, sModelFileSave = os.path.split(sModelPath)
modelSave = sOutPath + sModelFileSave + '_pred.mat'
print('saving Model:{}'.format(modelSave))
sio.savemat(modelSave, {'prob_pre': prob_pre, 'score_test': score_test, 'acc_test': acc_test})
###############################################################################
## OPTIMIZATIONS ##
###############################################################################
示例13: fPredict
# 需要导入模块: import keras [as 别名]
# 或者: from keras import optimizers [as 别名]
def fPredict(X,y, sModelPath, sOutPath, batchSize=64):
"""Takes an already trained model and computes the loss and Accuracy over the samples X with their Labels y
Input:
X: Samples to predict on. The shape of X should fit to the input shape of the model
y: Labels for the Samples. Number of Samples should be equal to the number of samples in X
sModelPath: (String) full path to a trained keras model. It should be *_json.txt file. there has to be a corresponding *_weights.h5 file in the same directory!
sOutPath: (String) full path for the Output. It is a *.mat file with the computed loss and accuracy stored.
The Output file has the Path 'sOutPath'+ the filename of sModelPath without the '_json.txt' added the suffix '_pred.mat'
batchSize: Batchsize, number of samples that are processed at once"""
sModelPath= sModelPath.replace("_json.txt", "")
weight_name = sModelPath + '_weights.h5'
model_json = sModelPath + '_json.txt'
model_all = sModelPath + '_model.h5'
# load weights and model (new way)
model_json= open(model_json, 'r')
model_string=model_json.read()
model_json.close()
model = model_from_json(model_string)
model.compile(loss='categorical_crossentropy',optimizer=keras.optimizers.Adam(), metrics=['accuracy'])
model.load_weights(weight_name)
score_test, acc_test = model.evaluate(X, y, batch_size=batchSize)
print('loss'+str(score_test)+ ' acc:'+ str(acc_test))
prob_pre = model.predict(X, batch_size=batchSize, verbose=1)
print(prob_pre[0:14,:])
_,sModelFileSave = os.path.split(sModelPath)
modelSave = sOutPath +sModelFileSave+ '_pred.mat'
print('saving Model:{}'.format(modelSave))
sio.savemat(modelSave, {'prob_pre': prob_pre, 'score_test': score_test, 'acc_test': acc_test})