Something wrong with the creation of a Keras model with probabilistic layers.

Aperta
#1,834 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
28/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
jupyter-notebook, python

Direzione di ricerca

Inizia riproducendo la costruzione del modello mostrata nell’issue con TensorFlow 2.17.0 e TensorFlow Probability 0.24, quindi confrontala con TensorFlow 2.15.1 e TensorFlow Probability 0.22.1, che risultano funzionare. Traccia il problema di compatibilità dell’input in tf_keras/src/engine/input_spec.py:251; il lavoro è completato quando viene identificata l’interazione tra le versioni e viene confermato un comportamento compatibile o un fix mirato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I am applying the use of Keras models that utilize probabilistic layers. The model below, which used to work normally, now presents the following error:

inputs = tf.keras.Input(shape=(X_train.shape[1],))
x = layers.Dense(500, activation='relu')(inputs)
x2 = layers.Dense(350, activation='relu')(x)
x3 = layers.Dense(250, activation='relu')(x2)
x4 = layers.Dense(150, activation='relu')(x3)
x5 = layers.Dense(50, activation='relu')(x4)
x6 = layers.Dense(15, activation='relu')(x5)
y_variational = tfpl.DenseVariational(4, make_prior_fn=prior, make_posterior_fn=posterior, kl_weight=1/X_train.shape[0], activation='tanh')(x6)

distribution_params = layers.Dense(units=216*2)(y_variational)
outputs = tfpl.IndependentNormal(216)(distribution_params)

PBNN3 = tf.keras.Model(inputs=inputs, outputs=outputs)


AttributeError Traceback (most recent call last)
in <cell line: 8>()
6 x5 = layers.Dense(50, activation='relu')(x4) #15
7 x6 = layers.Dense(15, activation='relu')(x5)
----> 8 y_variational = tfpl.DenseVariational(4, make_prior_fn=prior, make_posterior_fn=posterior, kl_weight=1/X_train.shape[0], activation='tanh')(x6)
9 #y_variational = layers.Dense(10, activation='relu')(x)
10 distribution_params = layers.Dense(units=216*2)(y_variational)

1 frames
/usr/local/lib/python3.10/dist-packages/tf_keras/src/engine/input_spec.py in assert_input_compatibility(input_spec, inputs, layer_name)
249 )
250 if spec.min_ndim is not None:
--> 251 ndim = x.shape.rank
252 if ndim is not None and ndim < spec.min_ndim:
253 raise ValueError(

AttributeError: 'tuple' object has no attribute 'rank'

Something is not working with TensorFlow version 2.17.0 and TensorFlow Probability version 0.24. Still works for Tensorflow: 2.15.1 and TensorFlow Probability: 0.22.1.

Thank you!

Lingua principale
Jupyter Notebook
Stelle
4.4k
Fork
1.1k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di tensorflow/probability

Tutte le issue di tensorflow/probability

Issue simili

Altre issue su Machine Learning

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.