I am trying to get ResNet101 or ResNeXt, which are only available in Keras' repository for some reason, from Keras applications in TensorFlow 1.10:
import tensorflow as tf
from keras import applications
tf.enable_eager_execution()
resnext = applications.resnext.ResNeXt101(include_top=False, weights='imagenet', input_shape=(SCALED_HEIGHT, SCALED_WIDTH, 3), pooling=None)
However, this results in:
Traceback (most recent call last):
File "myscript.py", line 519, in get_fpn
resnet = applications.resnet50.ResNet50(include_top=False, weights='imagenet', input_shape=(SCALED_HEIGHT, SCALED_WIDTH, 3), pooling=None)
File "Keras-2.2.4-py3.5.egg/keras/applications/__init__.py", line 28, in wrapper
return base_fun(*args, **kwargs)
File "Keras-2.2.4-py3.5.egg/keras/applications/resnet50.py", line 11, in ResNet50
return resnet50.ResNet50(*args, **kwargs)
File "Keras_Applications-1.0.8-py3.5.egg/keras_applications/resnet50.py", line 214, in ResNet50
img_input = layers.Input(shape=input_shape)
File "Keras-2.2.4-py3.5.egg/keras/engine/input_layer.py", line 178, in Input
input_tensor=tensor)
File "Keras-2.2.4-py3.5.egg/keras/legacy/interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "Keras-2.2.4-py3.5.egg/keras/engine/input_layer.py", line 87, in __init__
name=self.name)
File "Keras-2.2.4-py3.5.egg/keras/backend/tensorflow_backend.py", line 529, in placeholder
x = tf.placeholder(dtype, shape=shape, name=name)
File "tensorflow/python/ops/array_ops.py", line 1732, in placeholder
raise RuntimeError("tf.placeholder() is not compatible with "
RuntimeError: tf.placeholder() is not compatible with eager execution.
I installed Keras from its GitHub master branch, since the pip installs of Keras and TensorFlow's Keras API for some strange reason do not include ResNet101, ResNetv2, ResNeXt, etc. Does anyone know how I can run such models (preferably ResNeXt) in TensorFlow's eager execution?