tensorflow扩展功能

课堂学习笔记

tensorflow扩展功能

  • 自动求导
    • 反向传播消耗内存多,因为要保存tensor
  • 子图的执行
    • tensorflow支持单独执行子图,用户可以选择计算图的任意子图,并沿着某些边输入数据,同时从另一些边获取输出结果。
  • 计算图控制流
    • tensorflow提供了switch和merge两种operator
    • 还提供了enter、leave以及NextIteration来实现循环和迭代
    • tf的控制流还支持分布式
      • 分布式控制流的实现方法也是通过对计算图进行重构改写,循环内的节点会被划分到不同的小的子图上。每个子图连接控制节点,实现自己的循环。循环完成之后,循环终止信号会被发送到其他子图
  • 队列/容器
    • 队列可以让计算图的不同节点异步执行
      • 使用队列的目的是,当一个batch的数据运算时,提前从磁盘读取下一个数据,减少磁盘I/O的阻塞时间。同时还可以异步的计算许多梯度,再组合成一个更复杂的整体梯度
      • 除了先进先出(FIFO)队列,tf还实现了洗牌队列(shuffling queue),用来满足某些机器学习算法对随机性的要求,对损失函数优化以及模型收敛会有帮助
    • 容器是tf中一种特殊的管理长期变量的机制,例如Variable变量对象就存放在容器中。每一个进程会有一个默认的容器一直存在,直到进程结束。使用容器还能在不同的计算图的不同session之间共享一些状态变量。
发布了56 篇原创文章 · 获赞 11 · 访问量 2424

猜你喜欢

转载自blog.csdn.net/weixin_43056275/article/details/102567721
今日推荐