web-dev-qa-db-fra.com

Quelle est la signification du "Aucun" dans model.summary de KERAS?

enter image description here

Quelle est la signification de (Aucun, 100) dans la forme de sortie? Est-ce ("Aucun") le numéro d'échantillon ou la dimension cachée?

17
jung hyemin

None signifie que cette dimension est variable.

La première dimension d'un modèle de kéros est toujours la taille du lot. Vous n'avez pas besoin de tailles de lot fixes, sauf dans des cas très spécifiques (par exemple, lorsque vous travaillez avec des couches LSTM stateful=True).

C'est pourquoi cette dimension est souvent ignorée lorsque vous définissez votre modèle. Par exemple, lorsque vous définissez input_shape=(100,200), vous ignorez en fait la taille du lot et définissez la forme de "chaque échantillon". En interne, la forme sera (None, 100, 200), Permettant une taille de lot variable, chaque échantillon du lot ayant la forme (100,200).

La taille du lot sera alors automatiquement définie dans les méthodes fit ou predict.


Autres dimensions None:

Non seulement la dimension du lot peut être None, mais aussi bien d'autres.

Par exemple, dans un réseau convolutionnel 2D, où l'entrée attendue est (batchSize, height, width, channels), Vous pouvez avoir des formes comme (None, None, None, 3), Autorisant des tailles d'image variables.

Dans les réseaux récurrents et dans les convolutions 1D, vous pouvez également créer la variable de dimension length/timesteps, Avec des formes comme (None, None, featuresOrChannels)

23
Daniel Möller

Oui, None en résumé signifie une dimension dynamique d'un batch (mini batch). C'est pourquoi vous pouvez définir n'importe quelle taille de lot pour votre modèle.

La méthode summary() fait partie de TF qui incorpore la méthode Keras print_summary() .

0
prosti