Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.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
Python 在烧瓶中加载模型时,将形状转换为张紧形状时出错_Python_Tensorflow_Flask_Model_Pythonanywhere - Fatal编程技术网

Python 在烧瓶中加载模型时,将形状转换为张紧形状时出错

Python 在烧瓶中加载模型时,将形状转换为张紧形状时出错,python,tensorflow,flask,model,pythonanywhere,Python,Tensorflow,Flask,Model,Pythonanywhere,我在本地机器上训练了一个CNN模型,使用model.save('./models/my_model')保存了模型,我能够加载模型(new_model=tensorflow.keras.models.load_model('./models/my_model')),并使用web框架对通过浏览器传递的图像进行分类 现在,我想运行托管在pythonanywhere.com中的代码。但是,在加载模型时,我遇到了以下错误: ValueError:将形状转换为张量形状时出错:基数为10的int()的文本无效

我在本地机器上训练了一个CNN模型,使用
model.save('./models/my_model')
保存了模型,我能够加载模型
(new_model=tensorflow.keras.models.load_model('./models/my_model'))
,并使用web框架对通过浏览器传递的图像进行分类

现在,我想运行托管在pythonanywhere.com中的代码。但是,在加载模型时,我遇到了以下错误:

ValueError:将形状转换为张量形状时出错:基数为10的int()的文本无效:“class_name”

我不知道是否与版本有关。首先,我使用python 3.8和最新的tensorflow版本进行了培训,但由于Flask不允许3.8中所有必需的库,因此我在Flask中使用了3.7和tensorflow 2.0.0。所以我用3.7和TF2.0.0在我的电脑上重新训练了这个模型,并上传了更新的模型文件。但是,同样的错误仍然存在

--更新-- 我把日志错误放在这里了

运行WSGI应用程序时出错 ValueError:将形状转换为张量形状时出错:基数为10的int()的文本无效:“class_name”

文件“/var/www/user\u pythonanwhere\u com\u wsgi.py”,第16行,在 从主导入应用程序作为应用程序#noqa

文件“/home/user/mysite/main.py”,第11行,在 model=tensorflow.keras.models.load_model('/home/user/mysite/models/modelo')

文件“/usr/lib/python3.7/site packages/tensorflow_core/python/keras/saving/save.py”,第150行,在load_模型中 返回保存的\u模型\u load.load(文件路径,编译)

文件“/usr/lib/python3.7/site packages/tensorflow_core/python/keras/saving/saving_model/load.py”,第86行,在load中 model=tf\u load.load\u internal(路径、装入器\u cls=KerasObjectLoader)

文件“/usr/lib/python3.7/site packages/tensorflow\u core/python/saved\u model/load.py”,第541行,在load\u internal中 出口部主任)

文件“/usr/lib/python3.7/site packages/tensorflow_core/python/keras/saving/saving_model/load.py”,第103行,在init self._finalize()

文件“/usr/lib/python3.7/site packages/tensorflow_core/python/keras/saving/saving_model/load.py”,第127行,在 添加节点(图层)

文件“/usr/lib/python3.7/site packages/tensorflow\u core/python/training/tracking/base.py”,第457行,在方法包装中 结果=方法(自身、*args、**kwargs)

文件“/usr/lib/python3.7/site packages/tensorflow_core/python/keras/engine/sequential.py”,第174行,添加 批次形状=批次形状,数据类型=数据类型,名称=图层名称+“\u输入”)

文件“/usr/lib/python3.7/site packages/tensorflow_core/python/keras/engine/input_layer.py”,第263行,输入 输入(张量=张量)

文件“/usr/lib/python3.7/site packages/tensorflow_core/python/keras/engine/input_layer.py”,第125行,在init 衣衫褴褛的

占位符中的文件“/usr/lib/python3.7/site packages/tensorflow_core/python/keras/backend.py”,第1057行 x=数组\运算占位符(数据类型,形状=形状,名称=名称)

占位符中的文件“/usr/lib/python3.7/site packages/tensorflow_core/python/ops/array_ops.py”,第2630行 返回gen_数组操作占位符(dtype=dtype,shape=shape,name=name)

占位符中第6669行的文件“/usr/lib/python3.7/site packages/tensorflow_core/python/ops/gen_array_ops.py” shape=\u execute.make\u shape(shape,“shape”)

文件“/usr/lib/python3.7/site packages/tensorflow\u core/python/eager/execute.py”,第211行,make\u形状 e) )


错误来自tensorflow文件,我只是传递保存的模型路径,Python在将类名称转换为int时遇到问题


请参阅:

TensorFlow当前未在Pythonywhere web应用程序中工作。如果您使用的是Keras,您可以尝试切换到Theano后端,该后端已确认可以工作。还有一个短消息。

错误来自tensorflow文件。我只是使用tensorflow函数加载保存的模型(使用tensorflow),它在我的本地机器上运行良好。链接中的建议使用float或正确读取文件,但是,我无法修改tensorflow库函数来实现这一点。