Допустим, у меня есть модель keras, подобная этой:
with tf.device("/CPU"):
model = tf.keras.Sequential([
# Adds a densely-connected layer with 64 units to the model:
tf.keras.layers.Dense(64, activation='relu', input_shape=(32,)),
# Add another:
tf.keras.layers.Dense(64, activation='relu'),
# Add a softmax layer with 10 output units:
tf.keras.layers.Dense(10, activation='softmax')])
Я хотел бы переместить эту модель на графический процессор.
Я пытался сделать это:
with tf.device("/GPU:0"):
gpu_model = tf.keras.models.clone_model(model)
Но проблема в том, что имена переменных меняются. Например:
Имя веса первого слоя model
: Получено из model.layers[0].weights[0].name
'density / kernel: 0'
Но имя веса первого слоя gpu_model
: Получено из gpu_model.layers[0].weights[0].name
'density_3 / kernel: 0'
Как я могу сделать это преобразование графического процессора, пока также сохраняя имена переменных?
Я не хочу сохранять модель на диск и загружать снова