问题标签 [eager-execution]
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.
python - tf.train.Checkpoint 和 tf.train.Saver 的区别
我发现有不同的方法可以在Tensorflow
. 这些方式包括:
在 tensorflow 的文档中,我发现了它们之间的一些差异:
tf.saved_model
是一个薄薄的包装tf.train.Saver
tf.train.Checkpoint
支持急切执行,但tf.train.Saver
不支持。tf.train.Checkpoint
不创建.meta
文件但仍然可以加载图形结构(这是一个大问题!它是如何做到的?)
如何tf.train.Checkpoint
在没有文件的情况下加载图形.meta
?tf.train.Saver
或更一般地说和有什么区别tf.train.Checkpoint
?
python - Tensorflow 访问 CsvDataset 值
渴望执行
我已经通过 API 挖掘了 2 天,但我似乎无法找到一种方法来使用来自CsvDataset
对象的数据。
我有来自数据集的以下示例:
70,1,4,130,322,0,2,109,0,24,2,3,3,2
67,0,3,115,564,0,2,160,0,16,2,0,7,1
57,1,2,124,261,0,0,141,0,3,1,0,7,2
64,1,4,128,263,0,0,105,1,2,2,1,7,1
74,0,2,120,269,0,2,121,1,2,1,1,3,1
65,1,4,120,177,0,0,140,0,4,1,0,7,1
56,1,3,130,256,1,2,142,1,6,2,1,6,2
59,1,4,110,239,0,2,142,1,12,2,1,7,2
60,1,4,140,293,0,2,170,0,12,2,2,7,2
63,0,4,150,407,0,2,154,0,4,2,3,7,2
我阅读了他们在高级 API 视频中所说的 csv:
但是从这里开始,我无法访问任何数据,例如获取列的值。
使用以下方法将数据集转换为列表:list(dataset)
不是一种选择,因为使用正常大小的 csv(约 190k 个样本)需要很长时间。
那么,有没有办法从这个对象中获取列值或行值?或者使用 TF 读取数据而不是使用 scikit/pandas 真的没有意义吗?
编辑1:
尝试col1 = dataset.map(lambda *row: row[0])
按照@kvish所说的那样做,这会返回一个<MapDataset shapes: (), types: tf.float64>
可迭代的。问题是必须遍历每一列然后遍历每一列MapDataset
会增加复杂性O(n^2)
。
想法输出将是张量列表,每个张量包含列中的所有值,类似于:
tensorflow - TensorFlow Gradient Tape 的用途是什么?
看了Tensorflow开发者的峰会视频Eager Execution in Tensorflow,主持人介绍了“渐变胶带”。现在我了解到梯度磁带跟踪 TF 模型中发生的自动微分。
我试图理解为什么我会使用渐变胶带?谁能解释梯度胶带如何用作诊断工具?为什么有人会使用 Gradient Tape 而不是仅仅使用 Tensorboard 的权重可视化。
所以我知道模型发生的自动微分是计算每个节点的梯度——这意味着在给定一批数据的情况下调整每个节点的权重和偏差。这就是学习过程。但我的印象是,我实际上可以使用tf.keras.callback.TensorBoard()
调用来查看训练的 tensorboard 可视化——所以我可以观察每个节点上的权重,并确定是否有死节点或过饱和节点。
使用渐变胶带是否只是为了查看某些渐变是否变为零或变得非常大等?或者渐变胶带还有其他用途吗?
tensorflow - TensorFlow v1.4 急切执行
我知道 Tensorflow v1.5+ 附带 Eager 执行,但是,由于其 CUDA/CuDNN 要求,我无法安装任何高于 v1.4 的版本(https://www.tensorflow.org/install/source #tested_build_configurations)。具体来说,CUDA v9 版本不支持 Ubuntu 14.04,我无法简单地升级我的操作系统。
我已经看到,当 v1.4 是最新版本时,您可以使用每晚构建( TensorFlow Eager 模块中的错误)。有没有办法 conda/pip 安装启用了急切执行的 1.4 的旧版本?如果我只是 pip install gpu nightly build,它将安装最新的 Tensorflow 版本。
python-3.x - 启用急切执行时,从 keras 模型手动访问和更新可训练变量
使用急切执行和keras 顺序模型时,如何访问和更新可训练变量?我在tf 优化器中看到了一些似乎同时处理图形模式和急切执行的代码,但我真的很难理解。我想更直接地了解如何手动更新可训练变量,以便我可以使用自己的优化器。
注意/仅供参考....当我尝试使用“=”符号为 model.variables 调用的输出分配新值时,我得到一个“TypeError:'ResourceVariable'对象不支持项目分配”。
我在github 上找到了答案,但它对我不起作用......抛出“AttributeError:'tensorflow.python.framework.ops.EagerTensor'对象没有属性'assign'”
python - 如何在 tensorflow 中更新“eagertensor”对象
如果它们是渴望张量,如何从 keras 顺序模型(model.variables)更新变量?当我尝试分配给他们时,我收到一个错误,指出该对象没有属性“分配”。
tensorflow - 在急切执行中运行梯度下降的困难
我已经在 TensorFlow 中使用 python 构建了一个神经网络,但我似乎无法通过 TensorFlow 的急切执行来解决这个问题。所有的梯度输出为零,我不确定我在程序中哪里出错了。
本来我用的是ReLU,我以为是网络的问题,所以改成了leaky ReLU。但是没有看到渐变的任何变化。
python - 模块“tensorflow._api.v1.metrics”没有属性“平均值”
我使用 tensorflow 1.12 版
这是我的代码
这就是错误
如何解决这个问题?
python - InvalidArgumentError:无法计算 MatMul,因为输入 #0(从零开始)应该是一个浮点张量,但它是一个双张量 [Op:MatMul]
有人可以解释一下,TensorFlow 的 Eager 模式是如何工作的吗?我正在尝试构建一个简单的回归,如下所示:
Gradient output: [None, None, None, None, None, None]
错误如下:
编辑
我更新了我的代码。现在,问题在于梯度计算,它返回零。我检查了非零的损失值。
python - AttributeError:对象没有属性“_lazy_read”
我正在使用 python 3 和 tensorflow 1.12 & eager eval
我正在尝试使用分散更新,如此处所述
我收到以下错误:
AttributeError:“EagerTensor”对象没有属性“_lazy_read”
是否有可用于急切评估的解决方法或其他功能?