我正在尝试pylearn2使用RBM预训练训练多层人工神经网络.我稍微修改了一个名为run_deep_trainer的脚本,该脚本包含在pylearn2\pylearn2\scripts\tutorials\deep_trainer中.我想要一个4层网,其中前3个是500 GaussianBinaryRBM,最后一个是mlp.Softmax层.
这是我创建的脚本:
from pylearn2.models.rbm import GaussianBinaryRBM
from pylearn2.models.softmax_regression import SoftmaxRegression
from pylearn2.models.mlp import Softmax
from pylearn2.training_algorithms.sgd import SGD
from pylearn2.costs.autoencoder import MeanSquaredReconstructionError
from pylearn2.termination_criteria import EpochCounter
from pylearn2.datasets.dense_design_matrix import DenseDesignMatrix
from pylearn2.energy_functions.rbm_energy import GRBM_Type_1
from pylearn2.blocks import StackedBlocks
from pylearn2.datasets.transformer_dataset import TransformerDataset
from pylearn2.costs.ebm_estimation import SMD
from pylearn2.training_algorithms.sgd import MonitorBasedLRAdjuster
from pylearn2.train import Train
from optparse import OptionParser
import numpy
def get_dataset_timitConsSmall():
print('loading timitConsSmall dataset...')
template = \
"""!obj:pylearn2.datasets.timitConsSmall.timit.TIMIT { …Run Code Online (Sandbox Code Playgroud) 我正在使用 pylearn2 库训练卷积神经网络,并且在所有 ephoc 期间,我的验证错误始终高于测试错误。是否可以?如果是这样,在什么样的情况下?
machine-learning computer-vision neural-network deep-learning pylearn
我在将自定义数据集加载到pylearn2时遇到问题.我正在尝试使用一个小的XOR数据集来训练一个简单的MLP.我有一个xor.csv与我的yaml文件在同一目录中命名的数据集,该文件与pylearn2的train.py脚本不在同一目录中.
这是以下内容的全部内容xor.csv:
label,x,y
0,0,0
1,0,1
1,1,0
0,1,1
Run Code Online (Sandbox Code Playgroud)
这是我的YAML文件的全部内容:
!obj:pylearn2.train.Train {
dataset: &train !obj:pylearn2.datasets.csv_dataset.CSVDataset {
path: 'xor.csv',
task: 'classification'
},
model: !obj:pylearn2.models.mlp.MLP {
layers: [
!obj:pylearn2.models.mlp.Sigmoid {
layer_name: 'h0',
dim: 10,
irange: 0.05,
},
!obj:pylearn2.models.mlp.Softmax {
layer_name: 'y',
n_classes: 1,
irange: 0.
}
],
nvis: 2,
},
algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
learning_rate: 1e-2,
batch_size: 1,
monitoring_dataset:
{
'train' : *train
},
termination_criterion:
!obj:pylearn2.termination_criteria.EpochCounter {
max_epochs: 10000
},
},
extensions: [
!obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
channel_name: 'valid_y_misclass',
save_path: "best.pkl" …Run Code Online (Sandbox Code Playgroud)