我对Keras模型中使用的层数感到困惑.文件在这个问题上相当不透明.
根据Jason Brownlee的说法,第一层技术上由两层组成,即输入层,由input_dim隐藏层指定.请参阅他博客上的第一个问题.
在所有Keras文档中,第一层通常被指定为
model.add(Dense(number_of_neurons, input_dim=number_of_cols_in_input, activtion=some_activation_function)).
因此,我们可以制作的最基本的模型是:
model = Sequential()
model.add(Dense(1, input_dim = 100, activation = None))
Run Code Online (Sandbox Code Playgroud)
该模型是否由单个层组成,其中100维输入通过单个输入神经元传递,或者它是否由两个层组成,首先是100维输入层,第二个是1维隐藏层?
此外,如果我要指定这样的模型,它有多少层?
model = Sequential()
model.add(Dense(32, input_dim = 100, activation = 'sigmoid'))
model.add(Dense(1)))
Run Code Online (Sandbox Code Playgroud)
这是一个具有1个输入层,1个隐藏层和1个输出层的模型,还是具有1个输入层和1个输出层的模型?
我正在使用scikit-learn GridSearchCV来迭代参数空间来调整模型.具体来说,我用它来测试神经网络中的不同超参数.网格如下:
params = {'num_hidden_layers': [0,1,2],
'hidden_layer_size': [64,128,256],
'activation': ['sigmoid', 'relu', 'tanh']}
Run Code Online (Sandbox Code Playgroud)
问题是当隐藏num_hidden_layers设置为时,我最终运行冗余模型0.它将运行一个具有0个隐藏层和64个单元的模型,另一个具有128个单元,另一个具有256个单元.所有这些模型都是等价的,因为没有隐藏层.这是非常低效的,这意味着我需要编写更多代码来删除结果中的冗余.
有没有办法防止这样的参数组合,可能是通过传递一个参数元组?
我有一个 data.frame 包含我想用作网络文件中的属性的值。
当我尝试手动将值分配为属性时,其中一半工作,但另一半显示此错误。我仔细查看了数据,但看不到任何应该导致这种情况的内在因素。
格式化向量输入(这个有效)
visitgo2n%v%"hhid" <- attr2$hhid
Run Code Online (Sandbox Code Playgroud)
这是错误:
"Error in set.vertex.attribute(x, attrname = attrname, value = value) :
Inappropriate value given in set.vertex.attribute."
Run Code Online (Sandbox Code Playgroud)
我试过删除空白,但这不起作用。
我也试过以这种方式输入向量,但我得到了同样的错误:
for (n in names(attr2)) {
visitgo2n %v% n <- attr2[[n]]
}
Run Code Online (Sandbox Code Playgroud)
什么可能导致一半的向量“不合适”,什么值是合适的?
python ×2
grid-search ×1
igraph ×1
keras ×1
networking ×1
parameters ×1
r ×1
scikit-learn ×1
sna ×1
tensorflow ×1