La forma general de guardar un modelo de aprendizaje profundo es guardar sus pesos, y puede hacerlo guardando los pesos en un formato preferible, y cuando desea usar el modelo, carga los pesos y construye un modelo similar al entrenado y restablecer los valores de los pesos a los pesos del modelo entrenado cargado.
Por supuesto, esta es una forma muy general, espero que lo haya entendido, puede encontrar que bibliotecas más sofisticadas es mucho más fácil.
En Keras , biblioteca de aprendizaje profundo para Theano y TensorFlow , puede usar:
- ¿Cómo puede un programa determinar rápidamente si un tweet es negativo o positivo?
- ¿Qué trabajo puede hacer un ingeniero de aprendizaje automático para ayudar a las personas?
- ¿Por qué las redes neuronales artificiales son "cajas negras"?
- ¿Cuál es el objetivo de la detección de fraude con tarjeta de crédito?
- ¿Cuál es el mejor paquete R para predecir la causalidad entre dos flujos de datos de series temporales?
from keras.models import load_model model.save (‘my_model.h5’) # crea un archivo HDF5 ‘my_model.h5’
del modelo # elimina el modelo existente
# devuelve un modelo compilado
# idéntico al anterior
model = load_model (‘my_model.h5’)
Usando TensorFlow puedes usar:
guardar modelo:
w1 = tf.Variable (tf.truncated_normal (shape = [10]), name = ‘w1’)
w2 = tf.Variable (tf.truncated_normal (shape = [20]), name = ‘w2’)
tf.add_to_collection (‘vars’, w1)
tf.add_to_collection (‘vars’, w2)
ahorrador = tf.train.Saver ()
sess = tf.Session ()
sess.run (tf.global_variables_initializer ())
saver.save (sess, ‘mi-modelo’)
El método # `save` llamará implícitamente a` export_meta_graph`.
# obtendrá archivos de gráficos guardados: my-model.meta
restaurar modelo:
sess = tf.Session ()
new_saver = tf.train.import_meta_graph (‘my-model.meta’)
new_saver.restore (sess, tf.train.latest_checkpoint (‘./’))
all_vars = tf.get_collection (‘vars’)
para v en all_vars:
v_ = sess.run (v)
imprimir (v_)
En Lasange – biblioteca de peso ligero construida sobre Theano – puede usar:
guardar modelo:
importar numpy como np
lasaña de importación
# volcar los pesos de la red a un archivo:
np.savez (‘model.npz’, * lasagne.layers.get_all_param_values (red))
modelo de carga:
# cargar pesos de red del archivo de modelo
con np.load (modelo) como f:
param_values = [f [‘arr_% d’% i] para i en rango (len (f.files))]
lasagne.layers.set_all_param_values (network, param_values)
también puedes usar Pickling con los módulos pickle o cPickle ya que encontrará más en este sitio Cargando y Guardando o 12.1. pickle – Serialización de objetos de Python – Documentación de Python 3.6.1rc1.
referencias:
- Preguntas frecuentes: documentación de Keras.
- Tensorflow.
- 12.1 pickle – Serialización de objetos de Python – Documentación de Python 3.6.1rc1.
- Lasaña