titu1994 / Neural-Style-Transfer

Keras Implementation of Neural Style Transfer from the paper "A Neural Algorithm of Artistic Style" (http://arxiv.org/abs/1508.06576) in Keras 2.0+
Apache License 2.0
2.26k stars 481 forks source link

RuntimeError: tf.gradients is not supported when eager execution is enabled. Use tf.GradientTape instead. #75

Open Garfield8377 opened 3 years ago

Garfield8377 commented 3 years ago

hi i was run this on colab and when i run this cell:

!python {dir_path}/{NETWORK} {CONTENT_IMAGE_FN} {STYLE_IMAGE_FN} {RESULT_PREFIX} \
  --image_size {IMAGE_SIZE} --content_weight {CONTENT_WEIGHT} --style_weight \
  {STYLE_WEIGHT} --style_scale {STYLE_SCALE} --total_variation_weight \
  {TOTAL_VARIATION_WEIGHT} --content_loss_type {CONTENT_LOSS_TYPE} --num_iter \
  {NUM_ITERATIONS} --model {MODEL} --rescale_image {RESCALE_IMAGE} \
  --maintain_aspect_ratio {MAINTAIN_ASPECT_RATIO} --content_layer {CONTENT_LAYER} \
  --init_image {INITIALIZATION_IMAGE} --pool_type {POOLING_TYPE} --preserve_color \
  {PRESERVE_COLOR} --min_improvement {MIN_IMPROVEMENT}

i got this error: RuntimeError: tf.gradients is not supported when eager execution is enabled. Use tf.GradientTape instead. can someone tell me where i can use tf.GradientTape? thx

Mohamed209 commented 3 years ago

disable eager execution tf.compat.v1.disable_eager_execution()

rachidd12 commented 3 years ago

any solutions!!!

OterLabb commented 3 years ago

Adding these two lines to network.py worked for me. Thanks to @Mohamed209

import tensorflow as tf tf.compat.v1.disable_eager_execution()

rachidd12 commented 3 years ago

import tensorflow as tf tf.compat.v1.disable_eager_execution()

it works thanks a lot.

sangfrois commented 3 years ago

I had the same issue, but then got a cudNN error like this one. saying : Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above

solved everything by adding this to INetwork.py import section

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
tf.compat.v1.keras.backend.set_session(tf.compat.v1.Session(config=config))