Я хочу понимать на каждом этапе, что модель делает для каждой из своих переменных, таких как веса, потери, смещения, от одного слоя к другому и даже на уровне партии.
Существует ли какая-либо заранее созданная библиотека или как я могу получить полную информацию об этом?
Ниже приведен мой текущий код, в котором я пытаюсь создать все пользовательские обратные вызовы, но хочу полностью избавиться от них и понять модель с самого базового уровня. этапа 0, где назначаются веса и т. д.
from keras.models import Sequential
from keras.layers import Dense
from keras.callbacks import Callback
import numpy as np
Шаг 1. Пользовательский обратный вызов, чтобы понять, как модель работает внутри
class DebuggingCallback(Callback):
def on_epoch_begin(self, epoch, logs=None):
print(f"\n--- Epoch {epoch + 1} Start ---")
def on_epoch_end(self, epoch, logs=None):
print(f"--- Epoch {epoch + 1} End ---")
for layer_index, layer in enumerate(self.model.layers):
weights, biases = layer.get_weights()
print(f"Layer {layer_index + 1}: Weights\n{weights}")
print(f"Layer {layer_index + 1}: Biases\n{biases}")
def on_batch_end(self, batch, logs=None):
loss = logs.get('loss')
accuracy = logs.get('accuracy')
print(f"Batch {batch + 1} - Loss: {loss:.4f}, Accuracy: {accuracy:.4f}")
Шаг 2. Определите модель ИНС
classifier = Sequential()
classifier.add(Dense(units=3, input_dim=numFeatures, kernel_initializer='uniform', activation='relu'))
classifier.add(Dense(units=2, kernel_initializer='uniform', activation='relu'))
classifier.add(Dense(units=1, kernel_initializer='uniform', activation='sigmoid'))
classifier.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
Шаг 3. Подберите модель и используйте собственный обратный вызов
survivalANN_Model = classifier.fit(X_train, y_train,
batch_size=30,
epochs=5,
verbose=1,
callbacks=[DebuggingCallback()])
Шаг 4. Распечатайте окончательные веса после тренировки
print("\nFinal Weights After Training:")
for i, layer in enumerate(classifier.layers):
weights, biases = layer.get_weights()
print(f"Layer {i + 1}:")
print("Weights:", weights)
print("Biases:", biases)
Подробнее здесь: https://stackoverflow.com/questions/791 ... -library-i
Есть ли способ или функция, с помощью которой с помощью отладки, средства ведения журнала или библиотеки я могу получить ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как добавить собственный уровень журнала в функцию ведения журнала Python
Anonymous » » в форуме Python - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-