[英]How to find number of parameters of a neuralfit model?
我正在使用neuralfit
庫進化一個 neural.network,但我無法計算出 model 的超參數總數。我已經監控了 neural.network 的size
,它應該給出偏差參數,但它確實不包括連接的權重。
import neuralfit
import numpy as np
x = np.asarray([[0],[1],[2],[3],[4]])
y = np.asarray([[4],[3],[2],[1],[0]])
model = neuralfit.Model(1,1)
model.compile('alpha', loss='mse', monitors=['size'])
model.evolve(x,y)
Epoch 100/100 - ... - loss: 0.000000 - size: 4
有兩種方法可以做到這一點,但您要使用的方法取決於您想要的答案。 如果你想獲得 NeuralFit 考慮的參數總數,你可以這樣做
num_param = len(model.get_nodes()) + len(model.get_connections())
它給出了 model 的偏差數 + 權重。
由於NeuralFit模型可以導出到Keras,我們可以用這個問題來求一個Keras的參數個數model。但是,它為原始model的每個output節點增加了一個額外的參數。這是因為NeuralFit的模型的方式被轉換。
import keras.backend as K
keras_model = model.to_keras()
num_param = np.sum([K.count_params(w) for w in keras_model.trainable_weights])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.