问题标签 [computation-graph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
256 浏览

java - 如何为具有 yolo 输出层的多任务学习网络准备数据集?

我有一个使用计算图的卷积神经网络,带有一个 Yolo 输出层和多个回归输出层(我只是将额外的输出层映射到一个典型的 Yolo CNN)。我遇到的问题是数据集,对于 Yolo 输出我有 pascal-voc.xml文件和回归输出.csv文件,即

物体检测数据

回归数据

我尝试从RecordReaderMultiDataSetIterator 示例 2中实现多任务学习示例

如何正确配置来自VocLabelProvider数据预处理的记录读取器的输入,或者是否可以环绕另一个数据集迭代器,即来自对象检测和回归文件MultiDataSetIterator的两个数据集迭代器的多数据集迭代器.xml.csv

0 投票
1 回答
119 浏览

pytorch - Pytorch 如何构建计算图

这是来自网站的示例 pytorch 代码:

在前向函数中,我们只是对 x 应用一系列变换,但从未明确定义哪些对象是该变换的一部分。然而,在计算梯度和更新权重时,Pytorch“神奇地”知道要更新哪些权重以及应该如何计算梯度。

这个过程是如何工作的?是否正在进行代码分析,或者我缺少的其他东西?

0 投票
1 回答
322 浏览

machine-learning - 在 pytorch 中,我想保存每个时期的输出以供后期计算。但它会在几个 epoch 后导致 OUT OF MEMORY ERROR,

在 pytorch 中,我想在每个 epoch 中保存输出以供后期计算。但它会在几个 epoch 后导致 OUT OF MEMORY ERROR。代码如下:

我知道原因是因为 pytorch 保存了每个时期的所有计算图。但是损失函数只有在得到所有预测结果后才能计算

有没有办法训练我的模型?

0 投票
1 回答
136 浏览

python - 维度未知时如何创建一维范围张量?

我有一个 nD 数组。我需要根据尺寸创建一维范围张量。

例如:

问题是,在构建计算图时 x.shape[0] 不存在。所以我不能使用范围来构建张量。它给出了一个错误。

对问题的任何建议或帮助。

提前致谢

0 投票
0 回答
48 浏览

python - 可以使用 tensorflow 函数重写这个嵌套的 for 循环以允许梯度计算吗?

我写了一个函数,它只对张量中的某些 q 值求和,这些值是与先前采取的操作相对应的值。我需要这个函数是自动微分的,但是我当前的实现使用了一个带有嵌套 for 循环的 numpy 数组,所以 TensorFlow 计算图无法跟踪它,我得到了错误:

这是有问题的功能:

在结构方面,actions (shape=(64,7,2))张量包含BATCH_SIZE=64样本,每个样本i的形式为:

actions[i] = [[g0, n0],[g1, n1],[g2, n2],[g3, n3],[g4, n4],[g5, n5],[g6, n6]].

critic1_reshaped (shape=(64,12,11))张量还包含BATCH_SIZE=64样本,首先分为组,然后是g节点n。这是 sample 组g的示例i

critic1_reshaped[i][g] = [n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10]


本质上,我想抓住每个action[i]gn,用它们来找到 的值critic1_reshaped[i][g][n],然后把它们加在一起(所以总共应该加起来 7 对)。应该对每个样本都这样做,从而产生一个 shape=(64,) 输出张量。

我一直在试图将它变成一个列表理解或使用 reduce_sum(),但 TensorFlow 在尝试使用另一个张量进行索引时表现不佳。

有任何想法吗?

0 投票
0 回答
307 浏览

deep-learning - Pytorch 错误:尝试第二次向后遍历图形,但保存的中间结果已被释放

我有一种情况,对于每个小批量,我有多个嵌套数据,需要训练哪个模型。

但是当我开始训练时,我得到以下错误RuntimeError: Trying back through the graph a second time, but the saved intermediate results have been freed. 第一次向后调用时指定retain_graph=True。设置 retain_graph=True 会增加内存使用量,我无法训练模型。我怎样才能解决这个问题。

0 投票
0 回答
23 浏览

python - 如何获得仍然具有 requires_grad True 的渐变

wphi成为两个参数

打印:

我想:

即我想要哪个phi.gradw更大网络的参数,应该有requires_grad=True这样我就可以做到

我不知道如何分离这两个计算图。

0 投票
1 回答
39 浏览

google-cloud-platform - GCP 数据流计算图和作业执行

大家好,当我在 Google Cloud Dataflow 中创建自定义模板时,我努力理解发生了什么,但未能理解。感谢 GCP 文档。以下是我正在实现的目标。

  1. 从谷歌云桶中读取数据
  2. 预处理它
  3. 加载深度学习模型(每个 1 GB)并获得预测
  4. 将结果转储到 BigQuery 中。

我成功创建了模板,并且能够执行该作业。但我有以下问题。

  1. 当我执行作业时,每次在执行期间下载模型(5 个模型,每个 1GB)模型被加载并放置在模板(执行图)中,并且在执行期间它使用加载的模型
  2. 如果仅在作业执行期间加载模型,那么它不会影响执行时间吗?因为每次触发作业时都必须加载 GB 的模型文件?
  3. 多个用户可以同时触发同一个模板吗?由于我想生产它,我不确定这将如何同时处理多个请求?

任何人都可以分享一些关于它的信息吗?

我提到但未能得到答案的来源:https ://cloud.google.com/dataflow/docs/guides/deploying-a-pipeline#pipeline-lifecycle-from-pipeline-code-to-dataflow-job http://cloud.google.com/dataflow/docs/guides/deploying-a-pipeline#pipeline-lifecycle-from-pipeline-code-to-dataflow-job /alumni.media.mit.edu/~wad/magiceight/isa/node3.html https://cloud.google.com/dataflow/docs/guides/setting-pipeline-options#configuring-pipelineoptions-for-local-execution https://beam.apache.org/documentation/basics/ https://beam.apache.org/documentation/runtime/model/ https://mehmandarov.com/apache-beam-pipeline-graph/

0 投票
0 回答
31 浏览

tensorflow - 如何在张量流中获得粗粒度的操作级图

我想使用 tensorflow 来获取完整的计算图(包括前向、后向和参数更新)。我尝试了 tf.functions,但我得到的图太细了,因为许多操作(例如 Adam)被分成更小的运算符(add、mul、div 等)。那么有什么方法可以得到粗粒度的操作级图吗?非常感谢!

0 投票
0 回答
19 浏览

python - 使用来自张量的分区/切片的 Pytorch 更新失败,但适用于列表

我在 Pytorch 中使用动作平衡 RND 为 PPO 编写了一些代码。当我遇到问题时,我正在为 RND 和 PPO 编写更新循环:

以下代码运行,但是当我使用张量时它没有: 简化情况的 Python 代码

注释掉的代码是一种不起作用并提供以下错误的方法:

Traceback(最近一次调用最后):文件“d:\Andreas\02456-RL-Exploration\tst2.py”,第 22 行,在 lis[i].backward() 文件“C:\code\python\env\base \lib\site-packages\torch\tensor.py”,第 245 行,在后向 torch.autograd.backward(self,gradient,retain_graph,create_graph,inputs=inputs)文件“C:\code\python\env\base\ lib\site-packages\torch\autograd_init _.py ",第 145 行,在后向 Variable._execution_engine.run_backward( RuntimeError: Trying backing through the graph a second time, but the saved intermediate results have been freed. 指定retain_graph =True 当第一次调用 .backward() 或 autograd.grad() 时。

我不明白为什么会发生这种情况。谁能解释一下?