簡體   English   中英

如何找到 neuralfit model 的參數數量?

[英]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 的偏差數 + 權重。

替代方法:通過 Keras

由於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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM