第43周学习总结——im2txt

上周学习任务没有完成,这周终于完成了。主要的内容有:

  • 重新学习了使用TFRecord、多线程输入数据处理
  • 看了tensorflow官网的Importing Data教程,使用更高级的组合数据集
  • 看了im2txt的源码,知道了Image caption的实现原理
  • 开始了年终项目(比赛项目),做了数据处理部分

一、重新学习了使用TFRecord、多线程输入数据处理

几个月前,看了《TensorFlow实战Google深度学习框架》这本书,然后懵懵懂懂做了一个图片识别的小东西。当时,仿照书上是将图片和label使用TFRecord格式进行存储,然后使用多线程与队列的形式组合数据。

当时不知道为什么这么做,现在明白了。给数据的方式有多种:

  • 1、可以直接读取数据到内存中,然后将数据分成一个个batch,给模型进行训练。这种方式读取适合数据量少的情况,如果对大数据量来的话,内存之中会存储多份这样数据,从而导致占用大量内存。我现在就碰到过,读取一个6G的文件到内存中,因为中途需要对数据进行处理,从而导致数据存储几份,直接就导致机器卡死。
  • 2、使用队列和多线程的形式进行读取,然后使用多线程组合batch。这种方式适合大量数据读取,而且效率特别高。在整个读取过程,我们可以控制输入队列的capacity,例如我们设置capacity为10000,当队列中的数据量少于10000的时候,输入队列就会启动多个线程从数据源读取数据到队列中;而当队列中的数据量等于10000时,输入队列将只进行出队,不进行入队。这样,既保证了模型有数据可用,又控制了数据量。当然,这个只是队列读取数据,我们还可以使用tf.train.batch来进行数据组合,每次都会取设置batch_size个数据。当然,TFRecord是官方建议的数据格式,它操作起来更方便。

二、看了tensorflow官网的Importing Data教程,使用更高级的组合数据集

在重新学习了上面的内容之后,不经意间发现了Importing Data,然后发现官网将读取数据和组合数据封装的更简单了。

它整个流程特别简单:

  • 1、定义数据源,它有三种方式:直接从内存中读取,例如可以使用tf.contrib.data.Dataset.range()或tf.contrib.data.Dataset.from_tensor_slices()等方法;使用tf.contrib.data.TFRecordDataset()从TFRecord文件格式读取;使用tf.contrib.data.TextLineDataset()从文件中一行一行读取。
  • 2、使用Dataset.map()方法对数据进行预处理,这个方法传递一个函数作为参数,然后通过这个函数来进行数据处理
  • 3、构建生成器,可以使用make_one_shot_iterator()创建,当然也有其它API。
  • 4、通过Dataset.batch()组合成Batch数据,还可以通过Dataset.repeat()来进行设置可以重复多少个Epochs

三、看了img2txt的源码,知道了Image caption的实现原理

星期天下午的时候,看了im2text模型的代码,发现实现起来比NMT简单多了。

它实现的原理主要参考是来自下图的模型:


它首先通过Inception v3模型对图片进行特征读取,然后再加上一个全连接层,从而对图片进行embedding了。

然后,将图片Embeddings给LSTM,才知道原来这里只使用了一层RNN。

最后,解码层其实就和seq2seq差不多了。

四、开始了年终项目(比赛项目),做了数据处理部分

主要是看了项目的数据是怎么样的,然后将一份数据拆成5份,然后将里面对图片的描述变成id。

进度还不怎么样,在处理TFRecord数据时出现了问题。

总结与计划

总结:主要对队列与多线程读取、组合数据有更深刻的印象,然后可以将公司的代码改下,会有更好的性能。

计划:将年终项目的代码写完,然后开始跑模型。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容