How to convert numpy arrays to standard TensorFlow format?

前端 未结 3 805
野的像风
野的像风 2020-12-28 12:42

I have two numpy arrays:

  • One that contains captcha images
  • Another that contains the corresponding labels (in one-hot vector format)

相关标签:
3条回答
  • 2020-12-28 13:22

    You can use tf.pack (tf.stack in TensorFlow 1.0.0) method for this purpose. Here is how to pack a random image of type numpy.ndarray into a Tensor:

    import numpy as np
    import tensorflow as tf
    random_image = np.random.randint(0,256, (300,400,3))
    random_image_tensor = tf.pack(random_image)
    tf.InteractiveSession()
    evaluated_tensor = random_image_tensor.eval()
    

    UPDATE: to convert a Python object to a Tensor you can use tf.convert_to_tensor function.

    0 讨论(0)
  • 2020-12-28 13:25

    You can use tf.convert_to_tensor():

    import tensorflow as tf
    import numpy as np
    
    data = [[1,2,3],[4,5,6]]
    data_np = np.asarray(data, np.float32)
    
    data_tf = tf.convert_to_tensor(data_np, np.float32)
    
    sess = tf.InteractiveSession()  
    print(data_tf.eval())
    
    sess.close()
    

    Here's a link to the documentation for this method:

    https://www.tensorflow.org/api_docs/python/tf/convert_to_tensor

    0 讨论(0)
  • 2020-12-28 13:26

    You can use placeholders and feed_dict.

    Suppose we have numpy arrays like these:

    trX = np.linspace(-1, 1, 101) 
    trY = 2 * trX + np.random.randn(*trX.shape) * 0.33 
    

    You can declare two placeholders:

    X = tf.placeholder("float") 
    Y = tf.placeholder("float")
    

    Then, use these placeholders (X, and Y) in your model, cost, etc.: model = tf.mul(X, w) ... Y ... ...

    Finally, when you run the model/cost, feed the numpy arrays using feed_dict:

    with tf.Session() as sess:
    .... 
        sess.run(model, feed_dict={X: trY, Y: trY})
    
    0 讨论(0)
提交回复
热议问题