Означает ли использование слоя tennsflow.v1.compat, что активное выполнение отключено? - PullRequest
0 голосов
/ 21 апреля 2020

Могут ли слои tenorflow.v1.compat работать с быстрым выполнением?

Это связано с ошибкой OperatorNotAllowedInGraphError

Вот мой пример и связанная с ним ошибка, которую я считаю имеет отношение к нетерпеливому исполнению.

    # Model creation
    x = tfkl.Input(shape=(timesteps, input_dim), name='input_seq')

    # Encoder
    encoded = tfkl.Conv1D(n_filters, kernel_size, strides=strides, padding='same', activation='linear')(x)
    encoded = tfkl.LeakyReLU()(encoded)
    encoded = tfkl.MaxPool1D(pool_size)(encoded)
    encoded = tfkl.Bidirectional(tf.compat.v1.keras.layers.CuDNNLSTM(n_units[0], return_sequences=True), merge_mode='sum')(encoded)
    encoded = tfkl.LeakyReLU()(encoded)
    encoded = tfkl.Bidirectional(tf.compat.v1.keras.layers.CuDNNLSTM(n_units[1], return_sequences=True), merge_mode='sum')(encoded)
    encoded = tfkl.LeakyReLU(name='latent')(encoded)

    # Decoder
    decoded = tfkl.Reshape((-1, 1, n_units[1]), name='reshape')(encoded)
    decoded = tfkl.UpSampling2D((pool_size, 1), name='upsampling')(decoded)  #decoded = UpSampling1D(pool_size, name='upsampling')(decoded)
    decoded = tfkl.Conv2DTranspose(input_dim, (kernel_size, 1), padding='same', name='conv2dtranspose')(decoded)
    output = tfkl.Reshape((-1, input_dim), name='output_seq')(decoded)  #output = tfkl.Conv1D(1, kernel_size, strides=strides, padding='same', activation='linear', name='output_seq')(decoded)

    # AE model
    autoencoder = tfk.Model(inputs=x, outputs=output, name='AE')
    # Model compilation and run
    self.autoencoder.compile(optimizer=optimizer, loss='mse',
            run_eagerly=run_eagerly)
    # Begin pretraining
    self.autoencoder.fit(X, epochs=epochs, verbose=verbose)
#Error:

OperatorNotAllowedInGraphError: in converted code:

    /opt/conda/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2.py:677 map_fn
        batch_size=None)
    /opt/conda/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training.py:2410 _standardize_tensors
        exception_prefix='input')
    /opt/conda/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_utils.py:578 standardize_input_data
        if ref_dim != dim and ref_dim is not None and dim is not None:
    /opt/conda/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py:757 __bool__
        self._disallow_bool_casting()
    /opt/conda/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py:520 _disallow_bool_casting
        "using a `tf.Tensor` as a Python `bool`")
    /opt/conda/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py:505 _disallow_when_autograph_disabled
        " Try decorating it directly with @tf.function.".format(task))

    OperatorNotAllowedInGraphError: using a `tf.Tensor` as a Python `bool` is not allowed: AutoGraph is disabled in this function. Try decorating it directly with @tf.function.

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