Tensorflow 示例在 colab 上运行良好,但在 jupyter lab 上运行时给出了 nan
Posted
技术标签:
【中文标题】Tensorflow 示例在 colab 上运行良好,但在 jupyter lab 上运行时给出了 nan【英文标题】:Tensorflow example works fine on colab, but gives nan while running on jupyter lab 【发布时间】:2021-03-21 14:17:20 【问题描述】:使用 tensorflow 的 colab 示例教程后:基本回归:预测燃油效率,可在此处找到:https://www.tensorflow.org/tutorials/keras/regression。 我一直在尝试通过 anaconda 在 jupyter notebook 上运行这个示例,以便也能够离线运行它。 可以在链接上找到的代码在 google colab 上运行良好,但是当我尝试在 jupyter notebook 上运行它时,我得到了一个 nan 的向量。
-
在 google colab 上运行产生:Running the example on google colab
在 jupyter 上运行产生:Running the example on jupyter lab
构建顺序模型的代码:[问题可能来自哪里]
horsepower_model = tf.keras.Sequential([
horsepower_normalizer,
layers.Dense(units=1)
])
horsepower_model.summary()
其余代码可以在我上面附加的这个链接中找到:https://www.tensorflow.org/tutorials/keras/regression
模型必须做什么: 该模型从数据集中获取 2 个数组:MPG 和马力,并且即将使用单变量线性回归来预测马力中的 MPG。 因此,该模型引入了一个形状为 1 的 Dense 层,从这里可以看出:
layers.Dense(units=1)
模型的输出应该是 MPG 的值,基于马力值。 然后我们将能够将它与我们从数据集中获得的真实 MPG 的值进行比较。
提前谢谢你。
编辑:我上传我的笔记本:https://www.udrop.com/Jk3/Horsepower.ipynb
【问题讨论】:
在第一张图片中,normalization_1
层的输出形状为(None, 1)
,而在第二张图片中为(None, 314)
。请包含两个示例的输入形状的代码。
我使用的代码是您可以在下面的链接中找到的代码:tensorflow.org/tutorials/keras/regression 我已保存此代码并尝试通过 anaconda 在我的 jupyter 实验室上运行它。 colab 和 jupyter 中的代码相同。我不明白为什么 normalization_1 层的输出形状不同。感谢您尝试帮助我。
【参考方案1】:
为每个马力值加上一组额外的括号可以解决我的问题:
horsepower = np.array([[h] for h in train_features['Horsepower']])
【讨论】:
【参考方案2】:我看到您在其中使用了不同的模型。 在 Colab 中,您使用的模型只有 5 参数 而在 Notebook 中,您使用的是具有 944 参数的密集模型。
先尝试在笔记本上运行参数较少的模型 要么 尝试在两者上运行相同的模型。(可能复杂模型没有完全训练。)
编辑 1: 我创建了一个 jupyter notebook 并尝试了代码。 在我的系统中它运行良好,尝试在您的系统中运行这个 jupyter notebook。 Jupyter Notebook .如果它有效,那么您的代码中可能存在一些语法错误。
编辑 2: 更新张量流:
pip install --ignore-installed --upgrade tensorflow
使用此命令或适用于您的版本的任何其他命令。
【讨论】:
这正是我的想法。但是我在 colab 和 jupyter 中制作模型的方式是相同的。这就是为什么我不明白为什么它应该在 colab 而不是在 jupyter 中工作的原因。没有理由说明 colab 和 jupyter notebook 中的参数数量不应该完全相同。 你能分享模型细节吗,因为这里有点不清楚模型到底在做什么 当然,刚刚编辑。感谢您的帮助。 我在答案中分享我的笔记本。我正在编辑答案,请检查并告诉我。 是的,你是对的。这可能是原因。上传的时候告诉我。另外,你能给我的答案打勾吗,它有助于构建回购。以上是关于Tensorflow 示例在 colab 上运行良好,但在 jupyter lab 上运行时给出了 nan的主要内容,如果未能解决你的问题,请参考以下文章
使用 Colab 在 tf.keras 中训练模型,并使用 TensorFlow.js 在浏览器中运行
使用 Colab 在 tf.keras 中训练模型,并使用 TensorFlow.js 在浏览器中运行
使用 Colab 在 tf.keras 中训练模型,并使用 TensorFlow.js 在浏览器中运行
如何在 colab 中使用 R 运行时更改 tensorflow 版本?