【问题标题】:Keras Tensorflow 'Cannot apply softmax to a tensor that is 1D'Keras Tensorflow'无法将softmax应用于一维张量'
【发布时间】:2019-08-29 01:18:06
【问题描述】:

我正在阅读 F. Chollet 的《使用 Python 进行深度学习》一书。 https://www.manning.com/books/deep-learning-with-python

我正在尝试遵循代码示例。我刚刚安装了 keras,在尝试运行时出现此错误: 从这个笔记本: https://github.com/fchollet/deep-learning-with-python-notebooks/blob/master/2.1-a-first-look-at-a-neural-network.ipynb

from keras import models
from keras import layers

network = models.Sequential()
network.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))
network.add(layers.Dense(10, activation='softmax'))

TypeError Traceback(最近调用 最后)在() 4 网络 = 模型.Sequential() 5 network.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,))) ----> 6 network.add(layers.Dense(10, activation='softmax'))

~/anaconda3/lib/python3.6/site-packages/keras/engine/sequential.py 在 添加(自我,层) 179 self.inputs = network.get_source_inputs(self.outputs[0]) 180 elif self.outputs: --> 181 output_tensor = layer(self.outputs[0]) 182 如果是实例(输出张量,列表): 183 raise TypeError('顺序模型中的所有层'

~/anaconda3/lib/python3.6/site-packages/keras/engine/base_layer.py 调用(自我、输入、**kwargs) 455 # 实际调用层, 456 # 收集输出、掩码和形状。 --> 457 输出 = self.call(输入, **kwargs) 458 output_mask = self.compute_mask(输入,previous_mask) 第459章

~/anaconda3/lib/python3.6/site-packages/keras/layers/core.py 在 呼叫(自我,输入) 881 输出 = K.bias_add(输出,self.bias,data_format='channels_last') 882 如果 self.activation 不是无: --> 883 输出 = self.activation(输出) 884返回输出 第885章

~/anaconda3/lib/python3.6/site-packages/keras/activations.py 在 softmax(x, 轴) 29 raise ValueError('Cannot apply softmax to a tensor that is 1D') 30 elif ndim == 2: ---> 31 返回 K.softmax(x) 32 elif ndim > 2: 33 e = K.exp(x - K.max(x, axis=axis, keepdims=True))

~/anaconda3/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py 在 softmax(x, axis) 3229 一个张量。第3230章 -> 3231 返回 tf.nn.softmax(x, axis=axis) 3232 3233

TypeError: softmax() 得到了一个意外的关键字参数 'axis'

我想知道我的安装是否有问题?

keras.__version__
2.2.4

如果有人能告诉我要调查什么。

【问题讨论】:

    标签: tensorflow keras


    【解决方案1】:

    您的 TensorFlow 版本似乎不兼容(Keras 将其用作后端)。详情请看here

    【讨论】:

    • 是的,就是这样。在将 TF 版本更新到 1.10.0 后,我使用的是 1.1.0 版本,我不再收到该错误。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 2019-07-22
    • 1970-01-01
    相关资源
    最近更新 更多