DeepLearning: 数据处理5:将caffe训练时屏幕输出可视化(matlab
发布时间:2021-03-16 21:02:41 所属栏目:大数据 来源:网络整理
导读:说明:必须再前一篇博文的基础上使用本文中的代码。先将屏幕输出保存到文本中,然后在使用本文中的代码。。。同样,这里只是我的环境下调通的,根据个人,适当调整代码就行了。。。都是重复造轮子,没啥技术含量。。。 % 根据caffe输出文档,作出accuracy,
说明:必须再前一篇博文的基础上使用本文中的代码。先将屏幕输出保存到文本中,然后在使用本文中的代码。。。同样,这里只是我的环境下调通的,根据个人,适当调整代码就行了。。。都是重复造轮子,没啥技术含量。。。 % 根据caffe输出文档,作出accuracy,loss图 clear;close all ;clc; file.test_accuracy = 'Test_accuracy.txt'; file.test_loss = 'Test_loss.txt'; file.train_loss = 'Train_loss.txt'; dir = '/home/li/lilai/myMatlabcode/'; % 测试准确率 test_accuracy = []; % 准确率 test_accuracy_inter = []; % 准确率对应的迭代间隔次数 path1 = [dir,file.test_accuracy]; fid1 = fopen(path1,'r'); % 给定一个指示器,用于获取前几行的关键信息 i= 0; % 判断文件末尾 while ~feof(fid1) % 一次获取一行 tmpline = fgetl(fid1); i = i+1; % 输出一些信息 if i ==1 || i==3 disp (tmpline) end % 迭代次数 if (i == 2) count_test_accuracy = str2num(tmpline); disp (count_test_accuracy) end % 迭代间隔 if (i==4) interval_test_accuracy = str2num(tmpline); disp(interval_test_accuracy) end % 准确率 if i>5 % 因为准确率一般不会大于1,所以用‘0’来分割 [tmp1,tmp2] = strtok(tmpline,'0'); test_accuracy(i-5) = str2num(tmp2); test_accuracy_inter(i-5) = (i-6)*interval_test_accuracy; end end fclose(fid1); figure('Color',[1 1 1]); plot(test_accuracy_inter,test_accuracy,'r->'); xlabel('迭代次数'); ylabel('准确率(%)'); title('TestAccuracy'); % 训练损失和测试损失 train.train_loss = []; % 准确率 train.train_loss_inter = []; test.test_loss= []; test.test_loss_inter = []; path2 = [dir,file.test_loss]; path3 = [dir,file.train_loss]; fid2= fopen(path2,'r'); fid3 = fopen(path3,'r'); % 给定一个指示器,用于获取前几行的关键信息 i= 0; % 判断文件末尾 while ~feof(fid2) % 一次获取一行 tmpline = fgetl(fid2); i = i+1; % 输出一些信息 if i ==1 || i==3 disp (tmpline) end % 迭代次数 if (i == 2) count_test_loss = str2num(tmpline); disp (count_test_loss) end % 迭代间隔 if (i==4) interval_test_loss = str2num(tmpline); disp(interval_test_loss ) end % 损失值 if i>5 % 因为loss一般不会大于1,所以用‘0’来分割 [tmp1,'0'); test.test_loss(i-5) = str2num(tmp2); test.test_loss_inter(i-5) = (i-6)*interval_test_loss; end end fclose(fid2); figure('Color',[1 1 1]); plot(test.test_loss_inter,test.test_loss,'g->'); xlabel('迭代次数'); ylabel('测试损失值'); title('TestLoss'); i= 0; % 判断文件末尾 while ~feof(fid3) % 一次获取一行 tmpline = fgetl(fid3); i = i+1; % 输出一些信息 if i ==1 || i==3 disp (tmpline) end % 迭代次数 if (i == 2) count_train_loss = str2num(tmpline); disp (count_train_loss) end % 迭代间隔 if (i==4) interval_train_loss = str2num(tmpline); disp(interval_train_loss ) end % 损失值 if i>5 % 因为loss一般不会大于1,所以用‘0’来分割 [tmp1,'0'); train.train_loss(i-5) = str2num(tmp2); train.train_loss_inter(i-5) = (i-6)*interval_train_loss; end end fclose(fid3); figure('Color',[1 1 1]); plot(train.train_loss_inter,train.train_loss,'b->'); xlabel('迭代次数'); ylabel('训练损失值'); title('TrainLoss'); 效果图以后有空再贴吧。。。。 (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |