Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Keras模型在转换为tensorflow js模型后并没有提供相同的结果_Javascript_Python_Keras_Tensorflowjs - Fatal编程技术网

Javascript Keras模型在转换为tensorflow js模型后并没有提供相同的结果

Javascript Keras模型在转换为tensorflow js模型后并没有提供相同的结果,javascript,python,keras,tensorflowjs,Javascript,Python,Keras,Tensorflowjs,Keras模型在python中的性能与预期一样,但在转换模型后,相同数据的结果不同 我尝试更新keras和tensorflow js版本,但仍然存在相同的问题 用于测试的Python代码: import keras import cv2 model = keras.models.load_model("keras_model.h5") img = cv2.imread("test_image.jpg") def preprocessing_img(img): img = cv2.re

Keras模型在python中的性能与预期一样,但在转换模型后,相同数据的结果不同

我尝试更新keras和tensorflow js版本,但仍然存在相同的问题

用于测试的Python代码:


import keras
import cv2
model = keras.models.load_model("keras_model.h5")
img = cv2.imread("test_image.jpg")

def preprocessing_img(img):
    img = cv2.resize(img, (50,50))
    x = np.array(img)
    image = np.expand_dims(x, axis=0)
    return image/255

prediction_array= model.predict(preprocessing_img(img))
print(prediction_array)
print(np.argmax(prediction_array))
结果: [1.9591815e-16 1.0000000 E+00 3.8602989e-18 3.2472009e-19 5.8910814e-11]] 一,

这些结果是正确的

Javascript代码:

tfjs版本:

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.13.5">
</script>
在这种情况下,结果不一样,pred数组中的最后一个索引是90%的时间


我认为javascript中图像的预处理方法有问题,因为我不是javascript方面的专家,或者我在javascript部分遗漏了什么?

这与用于预测的图像有关。图像需要在预测之前完全加载

imEl.onload = function (){
 const pred = 
 model.predict(preprocessing_img(imgEl)).dataSync()
 const class_index = tf.argMax(pred);
}

你在这方面有什么进展吗?我也在经历同样的事情。
imEl.onload = function (){
 const pred = 
 model.predict(preprocessing_img(imgEl)).dataSync()
 const class_index = tf.argMax(pred);
}