Python nolearn自动添加隐藏层

Python nolearn自动添加隐藏层,python,machine-learning,scikit-learn,neural-network,nolearn,Python,Machine Learning,Scikit Learn,Neural Network,Nolearn,尝试向我的神经网络添加更多的隐藏层,这样我就可以使用相同的学习速率和动量等来比较不同层的精度分数 因此,我有以下几点: from nolearn.dbn import DBN from sklearn.cross_validation import train_test_split from sklearn.metrics import confusion_matrix from sklearn.metrics import classification_report from sklear

尝试向我的神经网络添加更多的隐藏层,这样我就可以使用相同的学习速率和动量等来比较不同层的精度分数

因此,我有以下几点:

from nolearn.dbn import DBN 
from sklearn.cross_validation import train_test_split

from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
from sklearn.metrics import accuracy_score

numFeat = 50 * 64 
labs = ["BC", "FL", "PRO1", "PRO2", "RP", "SD"]  # Defect types

hiddenAr = [numFeat, 6] # initial params for dbn
pos = len(hiddenAr) - 1

with open("all_defects.csv") as f:
reader = csv.reader(f)
for row in reader:
    input = [int(x) for x in row[:numFeat]]  
    labels += [labs.index(row[-1])]  # categorical labels in numerical form
    data += [input]

X_train, X_test, y_train, y_test = train_test_split(
data, labels, test_size=0.25) 

for i in range (0, layer):
    hiddenAr.insert(pos, 300) # Add hidden layer

    dbn = DBN(
    hiddenAr,
    # Learning rate of algorithm
    learn_rates = 0.03,
    # Decay of learn rate
    learn_rate_decays=1,
    # Iterations of training data (epochs)
    epochs=10,
    # Verbosity level
    verbose=1,
    momentum= 0.03,
    use_re_lu=True
    ) 
我在那里所做的,就是每次在另一个隐藏层上再添加300个节点。但是,由于某种原因,当我将层添加到它时,它会抛出许多npmat.py错误

这有明显的原因吗?我真的很想自动添加隐藏层,这样我就可以轻松地生成图形和csv文件进行评估

错误发生在隐藏阵列添加第二层之后,即当i=1时,然后在以下时间之后添加每个层:

npmat.py:433:运行时警告:inv 添加时遇到alid值 target.numpy_数组[:]=vec.numpy_数组+self.numpy_数组

运行时警告:inv alid值在较少的时间内遇到 target.numpy_数组[:]=self.numpy_数组 运行时警告:inv alid值在更大范围内遇到

npmat.py:969:运行时警告:inv 乘法中遇到的alid值

数据:

您是否可以添加完整的代码(例如导入语句)和一些允许重现错误的数据?您收到了哪些错误?@Cleb在错误和导入中添加。为了复制,我必须向您发送我正在使用的csv文件。问题是当我添加新层时,我认为hiddenAr变量有问题。当我用[input,hidden,output]硬编码Nueron而不是传入hiddenAr时,一切都很好。没有数据,很难重现问题。也许你至少可以发布一部分数据?!知道您使用的是哪个版本的
nolearn
。@Cleb我使用的是0.5版。在google drive上的数据集链接中添加了一个链接,以及我所说的部分之前的其他代码。您能否添加完整的代码(例如导入语句)和一些允许重现错误的数据?您收到了哪些错误?@Cleb在错误和导入中添加。为了复制,我必须向您发送我正在使用的csv文件。问题是当我添加新层时,我认为hiddenAr变量有问题。当我用[input,hidden,output]硬编码Nueron而不是传入hiddenAr时,一切都很好。没有数据,很难重现问题。也许你至少可以发布一部分数据?!知道您使用的是哪个版本的
nolearn
。@Cleb我使用的是0.5版。在google drive上添加了一个数据集链接,在我所说的部分之前添加了其他代码。