设计最优数据输入管道

设计最优数据输入管道

  1. 使用 prefetch 函数去重叠 数据读取器 和 数据消耗器的工作。推荐在输入管道的末端添加 prefetch(n) (n是batch size),以重叠 CPU 上的变换 及 GPU/TPU设备上的训练。

        dataset = dataset.batch(batch_size=FLAGS.batch_size)
        dataset = dataset.prefetch(buffer_size=FLAGS.prefetch_buffer_size) # last transformation
        return dataset
        ```
    
  2. 通过设置 num_parallel_calls 参数,来并行 map 变换。我们建议使用将该参数设置为 CPU 的核心数。

      dataset = dataset.map(map_func=parse_fn, num_parallel_calls=FLAGS.num_parallel_calls)
    

​ 如果使用 batch 变换来将预处理好的元素 batching,建议使用融合op:map_and_batch 变换;尤其是使用大的batch size。

​ dataset = dataset.apply(tf.contrib.data.map_and_batch(map_func=parse_fn,batch_size=FLAGS.batch_size))

  1. 如果数据存在远程存储上,(且有时需要解析),建议使用 parallel_interleave 来并行数据的读取和解析。

      dataset = files.apply(tf.contrib.data.parallel_interleave(
          tf.data.TFRecordDataset, cycle_length=FLAGS.num_parallel_readers))
    
  2. 将简单的用户自定义函数进行向量化,然后传递给 map 变换去分摊 用户自定义函数有关的调用、执行的负载。

  3. 如果数据能够加载到内存,使用 cache 变化去在训练的第一个 epoch 将数据集缓存到内存,所以能避免后来的 epoch 读取、解析、变换数据的负载。

  4. 如果预处理会增加你数据的 size,建议首先使用 interleave、prefetch、shuffle 变换去减少内存使用量(如果可能)。

  5. 建议在 repeat 变换之前使用 shuffle 变换,最好使用融合op: shuffle_and_repeat 变换。

https://blog.csdn.net/u014061630/article/details/80776975

https://www.imooc.com/article/68648

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GIS的最优路径分析方法主要包括以下几种: 1. 代价路径分析:该方法是一种基于代价函数的路径分析方法,用于计算图中任意两点之间的最优路径。代价函数是根据某种规则定义的,例如,在路网中,代价函数可以是路段长度、路段行驶时间等。代价路径分析可以用于规划道路、管道、电力线等建设,或者寻找最优的货物运输路线等。 2. 多目标路径分析:该方法是一种同时考虑多个目标的路径分析方法,可以用于计算图中任意两点之间的最优路径。多目标路径分析可以同时考虑多个目标,例如在路网中,可以同时考虑最短路径和最小行驶时间,从而得到一条既短又快的路径。 3. 地形分析:该方法是一种基于地形数据的路径分析方法,可以考虑地形对路径的影响,例如在山区中,路径可能会绕过陡峭的山峰,以避免过于陡峭的上下坡路段。地形分析可以用于规划环境保护、地质勘探等领域。 4. Network Analyst工具箱:该工具箱是GIS软件中的一个功能模块,可以用于进行路径分析。它提供了多种分析方法,如最短路径、最优路径、多路径、障碍物分析等,用户可以根据需要选择不同的方法进行分析。 以上就是GIS中最优路径分析的主要方法,不同的方法适用于不同的场景和问题,用户可以根据具体情况选择合适的方法进行分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值