简体   繁体   中英

Keras InceptionV3 model.predict

Code:

  from keras.applications import InceptionV3
  model = InceptionV3(weights="imagenet")
  shape = (None,image_size,image_size,num_channels)
  x = tf.placeholder(tf.float32, shape=shape)      
  adv_x,grad_x = fgm(x, model, model.predict(x), y=y, targeted=True, eps=0, clip_min=-0.5, clip_max=0.5)
  adv_,grad_ = batch_eval(sess, [x,y], [adv_x,grad_x], [inputs,targets], args={'batch_size': args['batch_size']})

  model.predict(x)

Error:

  File "/u/.../env/lib/python3.5/site-packages/keras/engine/training.py", line 1594, in predict
    batch_size=batch_size, verbose=verbose)
  File "/u/.../env/lib/python3.5/site-packages/keras/engine/training.py", line 1208, in _predict_loop
    batches = _make_batches(samples, batch_size)
  File "/u/.../env/lib/python3.5/site-packages/keras/engine/training.py", line 364, in _make_batches
    num_batches = int(np.ceil(size / float(batch_size)))
TypeError: unsupported operand type(s) for /: 'Dimension' and 'float'

I can use model.predict on actual images, but end up with this error on tf.placeholders or tf.variables Can anyone help me debug this error?

Keras' Model.predict expects an numpy array for input data. You may also want to include a batch_size value, unless your batch size is 32. From the documentation:

predict(self, x, batch_size=None, verbose=0, steps=None) method of keras.engine.training.Model instance
    Generates output predictions for the input samples.

    Computation is done in batches.

    # Arguments
        x: The input data, as a Numpy array
            (or list of Numpy arrays if the model has multiple outputs).
        batch_size: Integer. If unspecified, it will default to 32.
        verbose: Verbosity mode, 0 or 1.
        steps: Total number of steps (batches of samples)
            before declaring the prediction round finished.
            Ignored with the default value of `None`.

    # Returns
        Numpy array(s) of predictions.

    # Raises
        ValueError: In case of mismatch between the provided
            input data and the model's expectations,

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM