avatar
q*n
1
matlab小白一个,求教请各位大虾帮忙看一下,出了什么问题,应该怎么处理?谢谢!
1,使用matlab2019a,现在系里的版本就是这个。
2,为什么采用以下这两种方式(方式A和方式B)运行同样的一个神经网络LSTM(包括输
入数据还有设置等等都是一模一样的!),但是得到的答案却不一样。
注:1,对于第一组数据(n=1)方式A和方式B是一样的,但是从第二组数据以后(n=2以
后,包括n=2)的所有结果,方式A和方式B全都不一样了:(
2,自己测试的结论是:matlab启动后的第一次神经网络计算都没有问题,但是让
matlab不重启,接着计算这个神经网络,就出问题了,即使已经清空了各种变量 (麻烦
大虾看看,是不是还有啥鬼咚咚还没有清空啊:(
---------------------------------------------------------
方式A: 一次性地完成这1500组数据,即启动matlab一次,不用关闭,就可以一组接着
一组地一次性地完成这1500组数据的lstm运算
for n = 1:1500
load ('tdata.txt')
dataTrain=tdata(n,:);
********************************
同样一个LSTM神经网络的code (中间没有变量n)
*******************************
Voutput=[num2str(n), '.txt'];
csvwrite(Voutput, xx, yy, zz, vv);
*/以下只是根据clear命令说明文件中的所有选项都写上了,目的是想为下一个循环清
空所有的东西。
*/麻烦大虾看看,是不是还有啥鬼咚咚还没有清空啊:(
close all hidden;
clear
clear all;
clear classes;
clear functions;
clear global;
clear import;
clear java;
clear mex;
clear variables;
clearvars;
clearvars all;
end
完成方式A
--------------------------------------------------------
方式B 单独运行一组数据,就关闭matlab;然后再启动matlab,再单独运行第二数据,
依次类推,这样需要不断地关闭和启动matlab 1500次:(
load ('data.txt')
dataTrain=tdata(1,:); */这里是第一组数据的例子,等第一组数据算完之后,一定要
关闭matlab, 再重启matlab, 计算第二组的时候,把该数据1改为2。依次类推计算其他
1500组。
********************************
同样一个LSTM神经网络的code (中间没有变量n)
*******************************
csvwrite(Voutput1, xx, yy, zz, vv); */这里是第一组数据的例子,等第一组数据算
完之后,一定要关闭matlab, 再重启matlab, 计算第二组的时候,把该数据1改为2。依
次类推计算其他1500组。
完成方式B
------------------------------------------------
avatar
r*g
2
random seed.

【在 q*******n 的大作中提到】
: matlab小白一个,求教请各位大虾帮忙看一下,出了什么问题,应该怎么处理?谢谢!
: 1,使用matlab2019a,现在系里的版本就是这个。
: 2,为什么采用以下这两种方式(方式A和方式B)运行同样的一个神经网络LSTM(包括输
: 入数据还有设置等等都是一模一样的!),但是得到的答案却不一样。
: 注:1,对于第一组数据(n=1)方式A和方式B是一样的,但是从第二组数据以后(n=2以
: 后,包括n=2)的所有结果,方式A和方式B全都不一样了:(
: 2,自己测试的结论是:matlab启动后的第一次神经网络计算都没有问题,但是让
: matlab不重启,接着计算这个神经网络,就出问题了,即使已经清空了各种变量 (麻烦
: 大虾看看,是不是还有啥鬼咚咚还没有清空啊:(
: ---------------------------------------------------------

avatar
q*n
3
什么意思?我不是学CS的,不懂,麻烦您详细解释一下,好吗? 给个链接也行,谢谢
了。这里没有随机数的问题啊,程序里没有随机数。

【在 r*g 的大作中提到】
: random seed.
avatar
m*y
4
没有用过Matlab的LSTM,只用过Python的Keras.
但原理应该是一样的,所有神经网络都是有状态的,没有内部状态,就谈不上训练了。
Keras带的stateless LSTM只是说它会自动在每次batch后重置状态,但你总可以调用
model.reset_states()强制重置。
Matlab的可能略有不同,但肯定也允许你reset states。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。