Как исправить ошибку «невозможно преобразовать массив размером 30233088 в форму (1,64,64,3)» в python? - PullRequest
0 голосов
/ 13 апреля 2019

Я конвертирую изображение в формат rgb, после чего хочу изменить его размер до интересующего меня размера, но появляется ошибка, приведенная ниже. Я попробовал следующую функцию:

def predict(graph):
    im = Image.open("image.jpeg")
    mat = np.asarray(im.convert('RGB'))  
    mat = mat.reshape(1,64,64,3)
    mat = mat / 255.
    x = graph.get_tensor_by_name("input_x:0")
    outlayer = graph.get_tensor_by_name("outlayer:0")
    prob = graph.get_tensor_by_name("probability:0")
    predict = graph.get_tensor_by_name("predict:0")

    with tf.Session(graph=graph) as sess:
        np.set_printoptions(suppress=True)
        out, prob, pred = sess.run([outlayer, prob,predict],feed_dict={x:mat})
        print(out)
        print(prob)
        print(pred)

if __name__=="__main__":
    graph = load_model()
    predict(graph)

, но не могу получитьизбавиться от этой ошибки

---> 18         mat = mat.reshape(1,64,64,3)
     19         mat = mat / 255.
     20         x = graph.get_tensor_by_name("input_x:0")

ValueError: cannot reshape array of size 30233088 into shape (1,64,64,3)

...