zoukankan      html  css  js  c++  java
  • caffe 中如何打乱训练数据

    第一:

    可以选择在将数据转换成lmdb格式时进行打乱;

    设置参数--shuffle=1;(表示打乱训练数据)

    默认为0,表示忽略,不打乱。

    打乱的目的有两个:防止出现过分有规律的数据,导致过拟合或者不收敛。

    在caffe中可能会使得,在模型进行测试时,每一个测试样本都输出相同的预测概率值。

    或者,直接打乱训练文件的标签文件:train.txt

    方法如下:

    1)将 train_160309-train.txt按行打乱,每行内容则保持不变,命令:

    1. cd 存放文件的路径  
    2. awk 'BEGIN{ 100000*srand();}{ printf "%s %s ", rand(), $0}'   train_160309-train.txt |sort -k1n | awk '{gsub($1FS,""); print $0}'   

    2)但这样处理后只是在屏幕上输出显示,如果需要将输出写入新的文本train.txt,则在末尾加上 | tee train.txt:

    1. sudo awk 'BEGIN{ 100000*srand();}{ printf "%s %s ", rand(), $0}'   train_160309-train.txt |sort -k1n | awk '{gsub($1FS,""); print $0}' | tee train.txt  

    3)如果不需要在屏幕上输出显示,直接将输出写入新的文本train.txt,则在末尾将 | tee 换作 > 即可:

    1. sudo awk 'BEGIN{ 100000*srand();}{ printf "%s %s ", rand(), $0}'   train_160309-train.txt |sort -k1n | awk '{gsub($1FS,""); print $0}' > train.txt  

    附:

    1、awk命令详解

    2、tee命令详解

    参考:https://blog.csdn.net/u010555688/article/details/50475739

  • 相关阅读:
    MVVM模式下,ViewModel和View,Model有什么区别
    数据结构与算法JavaScript (三) 链表
    数据结构与算法JavaScript (二) 队列
    数据结构与算法JavaScript (一) 栈
    2014总结
    模拟jsonp的实现
    模拟ajax的 script请求
    四种常见的 POST 提交数据方式
    jQuery尺寸算法
    元素尺寸的获取
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/8997424.html
Copyright © 2011-2022 走看看