东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4249|回复: 6

[课堂笔记] 10、TensorFlow中feed与fetch讲解_笔记

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14418
QQ
发表于 2018-9-17 18:49:38 | 显示全部楼层 |阅读模式


10、TensorFlow中feed与fetch讲解_笔记

  1. # -*- coding: utf-8 -*-
  2. __author__ = 'dongfangyao'
  3. __date__ = '2018/9/17 下午5:53'
  4. __product__ = 'PyCharm'
  5. __filename__ = 'tf05'

  6. import tensorflow as tf
  7. import os

  8. # 只显示 warning 和 Error
  9. os.environ["TF_CPP_MIN_LOG_LEVEL"] = '2'

  10. # 构建一个矩阵的乘法 但是矩阵数据在运行的时候给定(相当于定义一个方法一样)
  11. m1 = tf.placeholder(dtype=tf.float32, shape=[2, 3], name='placeholder_m1')
  12. print(type(m1))
  13. m2 = tf.placeholder(dtype=tf.float32, shape=[3, 2], name='placeholder_m2')

  14. m3 = tf.matmul(m1, m2)

  15. with tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)) as sess:
  16.     print('result:\n{}'.format(sess.run(fetches=[m3],
  17.                                         feed_dict={m1: [[1, 2, 3], [4, 5, 6]], m2: [[1, 2], [3, 4], [5, 6]]})))
  18.     print('result-eval:\n{}'.format(m3.eval(feed_dict={m1: [[1, 2, 3], [4, 5, 6]], m2: [[1, 2], [3, 4], [5, 6]]})))
  19.     pass




复制代码

feed与fetch讲解01.jpg
feed与fetch讲解02.jpg
feed与fetch讲解03.jpg
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14418
QQ
 楼主| 发表于 2019-1-23 12:16:18 | 显示全部楼层
TensorFlow中数据读入一般四种方式:
    1. 预先把所有数据加载内存
        对内存压力比较大,容易出现OOM
    2. 在每轮训练中使用原生Python代码读取一部分数据,然后使用feed_dict输入到计算图
        如果需要数据重复读取的时候,IO操作比较麻烦
    3. 利用Threading和Queues从TFRecord中分批次读取数据 (企业中)
    4. 使用Dataset API 内部用TFRecord,一般指使用TensorFlow默认数据集 一般不考虑
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14418
QQ
 楼主| 发表于 2019-1-23 12:16:38 | 显示全部楼层
使用TFRecord的时候,数据单位一般是:tf.train.Example或者tf.train.SequenceExample
    tf.train.Example:
        一般用于数值、图像等固定大小的数据(特征属性固定),使用tf.train.Feature指定每个记录各特征的名称和数据类型
        使用方式:
            tf.train.Example(features=tf.train.Features(feature={
                'height': tf.train.Features(int64_list=tf.train.Int64List(value=[height])),
                'weight': tf.train.Features(int64_list=tf.train.Int64List(value=[width])),
                'depth': tf.train.Features(int64_list=tf.train.Int64List(value=[depth])),
                'image': tf.train.Features(bytes_list=tf.train.BytesList(value=[image])),
            }))
            备注:Features支持三种数据:int64_list、float_list、bytes_list
    tf.train.SequenceExample:
        一般用于文本、时间序列等没有固定长度大小的数据
        使用方式:
            example = tf.train.SequenceExample()
            # 通过context来制定数据量大小
            example.context.feature['length'].int64_list.value.append(len(words))

            # 通过feature_lists来加载数据
            word_lists = example.feature_lists.feature_list['word']
            for word in words:
                word_lists.feature_add().int64_list.value.append(word_id(word))
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

0

主题

95

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
发表于 2020-3-1 11:16:40 | 显示全部楼层
好老师,谢谢楼主分享!66666666666666666
回复

使用道具 举报

0

主题

100

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
发表于 2020-5-22 09:10:19 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

0

主题

100

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
发表于 2020-5-22 09:10:50 | 显示全部楼层

好老师,谢谢楼主分享!66666666666666666
回复

使用道具 举报

0

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 6 天前 | 显示全部楼层

好老师,谢谢楼主分享!66666666666666666
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-3-29 20:38 , Processed in 0.194762 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表