matlab的dbn网络,DBN网络例子代码有错

该博客中,作者在尝试使用MATLAB训练一个双层DBN网络,并将其权重初始化为神经网络时遇到了问题。在将DBN展开为NN的过程中,代码在`nnsetup`函数调用时出现错误,提示数组索引越界。错误源于`lmiunpck`函数,然后追溯到`nnsetup`、`dbnunfoldtonn`和`test_example_DBN`函数。
摘要由CSDN通过智能技术生成

function test_example_DBN

clear;

clc;

load mnist_uint8;

train_x = double(train_x) / 255;

test_x  = double(test_x)  / 255;

train_y = double(train_y);

test_y  = double(test_y);

%%  ex1 train a 100 hidden unit RBM and visualize its weights

rand('state',0)

dbn.sizes = [100];

opts.numepochs =   1;

opts.batchsize = 100;

opts.momentum  =   0;

opts.alpha     =   1;

dbn = dbnsetup(dbn, train_x, opts);

dbn = dbntrain(dbn, train_x, opts);

figure; visualize(dbn.rbm{1}.W');   %  Visualize the RBM weights

%%  ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NN

rand('state',0)

%train dbn

dbn.sizes = [100 100];

opts.numepochs =   1;

opts.batchsize = 100;

opt

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值