问题标签 [tensorflow2.0]
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 - 从 np 数组转换后,keras(tensorflow 2.0)中 tensorflow 数据集数据的形状错误
在按照本指南设置简单的 tensorflow 2.0 测试时,keras 输入层的输入是错误的,但只有在转换为数据集(假装具有正确的形状)之后。
从文档中运行 colab 笔记本当然可以,但我无法弄清楚我的设置可能有什么问题。任何提示表示赞赏!
在 jupyter lab 中设置一些假数据:
使用功能性 keras API 构建简化模型(顺序没有区别):
在 numpy 数组上运行模型拟合按预期工作:
不适合数据集的是(而 docs/colab 示例可以):
这会在输入形状上引发 ValueError,显然是 (1,):
这是在遇到更复杂模型的错误之后最简单、最精简的版本,并且首先是新的 tensorflow-datasets 包 - 现在它是如此简单,以至于我不知道为什么它不能正常工作(并且执行 (几乎)与 numpy 数组版本相同)。
python - TensorFlow 2.0:如何更新张量?
在 TensorFlow 1.x 中,要更新张量,我会使用tf.scatter_update
, 仅更新张量的相关部分。
我们如何在 TF 2.0 中做同样的事情?
keras - Keras categorical_entropy 输出形状未知?
几乎说明了一切。最终形成通常的 TypeError:“NoneType”类型的对象没有 len() 。
tensorflow - 与初学者代码相比,使用 TensorFlow 2.0 专家代码的训练结果更差
我在TensorFlow 2.0.0 alpha教程中看到了两个快速入门模板。一种适用于初学者,model.fit
用于培训,另一种与tf.GradientTape() as tape:
and一起使用optimizer
。
我尝试了两种代码来训练相同的数据,相同的网络,但只有初学者一个效果很好。
输入: [224, 224] 图片 * 240
网络: keras 应用上的 VGG19
班级人数: 24
模型:
初学者代码:
专家代码:
初学者的结果:
专家结果:
python - TensorFlow 2.0:带有@tf.function 装饰器的函数不采用 numpy 函数
我正在编写一个函数来在 TensorFlow 2.0 中实现一个模型。它需要image_batch
(一批 numpy RGB 格式的图像数据)并执行一些我需要的特定数据增强任务。导致我出现问题的行是:
numpy
当我把装饰器放在它上面时,它的.append()
功能就不再起作用了。@tf.function
它返回:
ValueError:无法连接零维数组
当我np.append()
在函数之外使用命令时,或者没有@tf.function
顶部的命令时,代码运行没有问题。
这是正常的吗?我是否被迫移除装饰器以使其工作?或者这是一个错误,因为 TensorFlow 2.0 仍然是测试版?在这种情况下,我该如何解决这个问题?
python - tensorflow 2.0,调用函数时给出了两个变量,但是,定义函数时,没有变量
我正在关注tensorflow-2.0中的教程。定义生成器时,没有给出变量,但调用函数时,给出了两个变量。
这是 tensorflow 网站上的官方教程。
tensorflow - 如何在 TensorFlow 2.0 中调试 Keras?
实际上,我在 TensorFlow 1.13.0 中已经发现了问题。(tensorflow1.12.0 运行良好)。
我的代码被列为一个简单的例子:
在我的 Keras 模型中用作 lambda 层。在 tensorflow1.12.0 中,print(temp)
可以输出如下的详细数据
这是因为我使用 1024 作为 batch_size。但是当我更新到 tensorflow1.13.0 或 TensorFlow 2.0 时,相同的代码输出
这很糟糕,因为我不知道确切的错误。那么,关于如何解决它的任何想法?
keras - 由于 Keras 变量名称未出现在摘要中,如何通过名称访问回调或其他地方的 Keras 变量?
这是在 tensorflow-2.0 keras 中。
然后我使用这个模型(未编译)作为另一个模型构建过程的输入。
变量“V”没有出现在第一个或第二个模型的摘要中。如何在回调甚至急切模式下获取值 V?
python - 嵌套顺序模型未训练
我正在尝试建立几个模型来预测不同的市场发展,每个模型都使用相同的编码器网络。所以我定义了一个共享的 LSTM 网络,如下所示:
我还为每个市场定义了一个类,它有以下模型作为成员:
到目前为止一切顺利,模型都可以根据各自的数据进行训练。LSTM 模型构建一次,并作为encoder_model
. 我的目标是让 LSTM 学习创建一个潜在空间,然后其他密集层使用该潜在空间进行预测。然而,在检查直方图后,我意识到编码器网络权重根本没有变化。
我检查了trainable_variables
所有层都列出了,所以理论上这应该可行,对吧?我还通过以下方式在训练步骤之前保存了编码器权重
并将它们与训练后的权重进行比较
果然,权重根本没有改变(打印出来的结果只包含0)
我错过了什么?梯度不应该也通过 Sequential LSTM 网络传播吗?因为我只添加了两层,所以渐变不应该消失,对吧?