问题标签 [tf.keras]

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 投票
1 回答
1994 浏览

tensorflow - 使用 tf.keras 时带有大 numpy 数组的 from_tensor_slices()

我在一个 numpy 数组中有一些训练数据 - 它适合内存,但大于 2GB。我正在使用 tf.keras 和数据集 API。给你一个简化的、独立的例子:

因此,执行此操作会导致错误“无法创建内容大于 2GB 的张量原型”。该文档列出了此问题的解决方案:https ://www.tensorflow.org/guide/datasets#sumption_numpy_arrays - 只需在会话运行中使用 tf.placeholders 然后 feed_dict 。

现在主要的问题是:如何用 tf.keras 做到这一点?当我调用 model.fit() 时,我无法为占位符提供任何东西,事实上,当我引入占位符时,我收到错误消息,说“你必须为占位符张量提供一个值”。

0 投票
1 回答
90 浏览

tensorflow - Q 关于“超网络”tape.gradient 来自 F. Chollet 为研究人员编写的 tf.keras:速成课程

这是原始 colab 笔记本的 URL:

https://colab.research.google.com/drive/17u-pRZJnKN0gO5XZmq8n5A2bKGrfKEUg#scrollTo=xEuWqzjlPobA

滚动到“现在快速研究示例:超网络”的最后一个单元格:

在训练循环中,请注意:

在外面:

我以为这应该在里面?如果有人可以保证这是正确的,并且同时解释渐变胶带的情况,那就太好了。

如果你运行这个笔记本,不管代码是否正常工作,因为你可以看到每个时期的损失都下降了。

0 投票
3 回答
1611 浏览

tensorflow - 直接导入 Keras 还是通过 TensorFlow 导入?我应该卸载其中一个吗?

我有一些从互联网上获得的工作 Python3 源代码,其中初始 Keras 导入是这样直接的:

在 TensorFlow 文档中,我看到了以下间接形式:

对我来说,它们似乎分别意味着,可以在不知道 TensorFlow 落后的情况下使用 Keras,并且 Keras 是(再次?)作为 TensorFlow 的一部分提供的。(我有点期待 Keras 在前一种情况下同样提供对 TensorFlow 的引用)

有什么区别?这取决于 Keras 和 TensorFlow 的安装方式,还是取决于它们的使用方式?这是我必须摆脱的潜在混乱来源吗?换句话说,我应该修复我的安装,以及如何修复?还是我应该接受有两个,并管理它们各自的用法以安全地与它们一起生活?

背景:我的安装是在 Ubuntu Linux 下,使用 Python3.5.2,其中pip3 list显示了以下包:

顺便说一句,我已经检查过它们确实不同:

事实上,我似乎有两个不同的 Keras,前者版本更高,更丰富。

相关阅读资料,有用但不足以解决“是否需要修复?” 问题:

谢谢!

0 投票
2 回答
2317 浏览

tensorflow - NVIDIA V100 上的 TensorRT FP16 或 INT8 无法加速

我一直在尝试使用 trt.create_inference_graph 将我的 Keras 翻译的 Tensorflow 保存模型从 FP32 转换为 FP16 和 INT8,然后将其保存为可用于 TensorFlow 服务的格式。代码在这里 - https://colab.research.google.com/drive/16zUmIx0_KxRHLN751RCEBuZRKhWx6BsJ

但是,使用我的测试客户端运行它,我发现时间没有变化。

我将不同型号的笔记本电脑与 NVIDIA V100 32 GB 和我的 8Gb 1070 GTX 卡进行了比较。我尝试减少和增加输入形状以检查记忆效果。总的来说,我认为,除了 32 GB 内存的优势(不仅仅是加载模型,而是处理更多帧而不会耗尽内存)V100 似乎没有加速;我特别想在 FP16 模式下将速度提高一倍。不确定 Keras 是否转换了 TF 模型,或者模型的复杂性或设计是否有作用。

以下是测试详细信息https://docs.google.com/spreadsheets/d/1Sl7K6sa96wub1OXcneMk1txthQfh63b0H5mwygyVQlE/edit?usp=sharing

FP32 - V100 -无优化

FP 32 与基于 TensorFlow 的优化 - TransformGraph

没有权重或模型量化

FP ?? 使用基于 TensorFlow 的优化 - +Weight Quantized- TransformGraph

权重量化后;模型大小为 39 MB!!(从 ~149 MB)但是时间是两倍('Time for ', 10, ' is ', 1.201113224029541)

模型量化 - 不起作用(至少使用 TF Serving)

使用 NVIDIA TensorRT 优化(colab notebook)

FP16 - v100

INT 8

优化片段 https://colab.research.google.com/drive/1u79vDN4MZuq6gYIOkPmWsbghjunbDq6m

注意:运行之间存在细微差异

0 投票
2 回答
1379 浏览

python - 如何将多个数据集合并为一个数据集?

假设我有 3 个 tfrecord 文件,即neg.tfrecord, pos1.tfrecord, pos2.tfrecord.

我用

此代码创建 3 个 Dataset 对象。

我的批量大小是 400,包括 200 个 neg 数据、100 个 pos1 数据和 100 个 pos2 数据。如何获得所需的数据集?

我将在 keras.fit()(急切执行)中使用这个数据集对象。

我的 tensorflow 版本是 1.13.1。

之前尝试获取每个数据集的迭代器,拿到数据后手动concat,但是效率低,GPU利用率也不高。

0 投票
3 回答
12491 浏览

tensorflow - keras 和 tf.keras 有什么区别?

我正在学习 TensorFlow 和 Keras。我想试试https://www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438/,它似乎是用 Keras 编写的。

将代码转换为 是否相当简单tf.keras

我对代码的可移植性并不感兴趣,而不是两者之间的真正区别。

0 投票
1 回答
173 浏览

tensorflow - keras v. tf.keras 顺序模型的编译命令

我一直在加快 keras 的速度,没有意识到 tf.keras 也是一个东西(对于新手来说,很容易在 python 中与导入交叉)。在尝试将脚本从 keras 转换为 tf.keras 时,似乎命令不一致?一般来说,tf.keras 是否应该遵循 keras 文档,或者它们是否存在分歧?

我的具体问题是这适用于 keras,但不适用于 tf.keras:

这给出了错误:

这似乎与 tf.keras 文档(https://www.tensorflow.org/api_docs/python/tf/keras/models/Model#compile)不一致。知道发生了什么吗?

0 投票
1 回答
287 浏览

python - 在 Ubuntu 18.04 上运行 Keras MNIST 示例 - GPU 错误

在 Ubuntu 18.04 上设置 Anaconda 2018.12 后,我正在运行以下 Keras/TensorFlow 代码。我有 Nvidia 驱动程序 390.116 和 GTX 1070 GPU。但是,当我尝试运行这个简单的 MNIST 示例时

我得到一个回溯,指出新的 NVidia 驱动程序不够新。整个回溯很长,但我认为关键是

文件“/home/christopher/anaconda3/envs/tensorflow_gpuenv/lib/python3.6/site-packages/tensorflow/python/client/session.py”,第 676 行,在init self._session = tf_session.TF_NewSessionRef(self._graph ._c_graph, opts) tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() 失败。状态:CUDA 驱动程序版本对于 CUDA 运行时版本不足

这似乎没有意义,因为这是 Ubuntu 18.04 可用的最新驱动程序。这不是早先驱动程序不足问题的重复,因为我使用的是 Nvidia 驱动程序 390.116。

0 投票
1 回答
136 浏览

python - 如何让 IDEA/PyCharm 正确对待 @tf_export?

如何让 IDEA/PyCharm@tf_export正确处理注释?

我切换到 TF 1.12 并使用以下代码

我看到 IDEA 突出显示layers.

在此处输入图像描述

我无法Dense通过右键单击它来导航到声明。

代码正确执行。

有没有办法解决这个问题?

0 投票
7 回答
15072 浏览

python - model.summary() 在使用子类模型时无法打印输出形状

这是创建keras模型的两种方法,但是output shapes两种方法的总结结果不同。显然,前者打印了更多信息,更容易检查网络的正确性。

输出:</p>

那么,我应该如何使用子类方法来获取output shapesummary() 呢?