Keras Tensorflow 'Невозможно применить softmax к тензору, который является 1D' - PullRequest
0 голосов
/ 08 апреля 2019

Я перебираю Книгу глубокого обучения с 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 network =models.Sequential () 5 network.add (Layer.Dense (512, активация = 'relu', input_shape = (28 * 28,))) ----> 6 network.add (Layer.Dense (10, Activation ='softmax'))

~ / anaconda3 / lib / python3.6 / site-packages / keras / engine / sequential.py в add (self, layer) 179 self.inputs = network.get_source_inputs (self.output [0]) 180 elif self.outputs: -> 181 output_tensor = layer (self.outputs [0]) 182 if isinstance (output_tensor, list): 183 повысить TypeError ('Все слои в последовательной модели'

~ / anaconda3 / lib / python3.6 / site-packages / keras / engine / base_layer.py в вызов (self, input, ** kwargs) 455 # На самом деле вызвать слой, 456 #сбор выходных данных, масок и форм. -> 457 output = self.call (входные данные, ** kwargs) 458 output_mask = self.compute_mask (входные данные, previous_mask) 459

~ / anaconda3 / lib / python3.6 / site-packages / keras / layer / core.py в вызове (self, input) 881 output = K.bias_add (output, self.bias, data_format = 'channel_last') 882, если self.activation is None: -> 883 output = self.activation (output) 884 return output 885

~ / anaconda3 / lib / python3.6 / site-packages / keras / activations.py в softmax (x, ось) 29 повысить ValueError («Невозможно применить softmax к тензору, который является 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 / tenorflow_backend.py в softmax (x, ось) 3229 тензор.3230 "" "-> 3231 return tf.nn.softmax (x, axis = axis) 3232 3233

TypeError: softmax () получил неожиданный аргумент ключевого слова 'axis'

Мне интересно, есть ли что-то не так с моей установкой?

keras.__version__
2.2.4

Если бы кто-нибудь мог дать мне подсказку, на что обратить внимание.

1 Ответ

1 голос
/ 08 апреля 2019

Похоже, у вас несовместимая версия Tensorflow (которую Keras использует в качестве бэкэнда). Подробности смотрите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...