Python ValueError:层序列的输入0与层不兼容(重塑错误)
这是我的代码:Python ValueError:层序列的输入0与层不兼容(重塑错误),python,numpy,reshape,equation,Python,Numpy,Reshape,Equation,这是我的代码: import cv2 import numpy as np import matplotlib.pyplot as plt from tensorflow.keras.models import load_model model=load_model('equation.h5') ############ prediction via paints ########## ### glob run = False ix, iy = -1, -1 follow = 25 img
import cv2
import numpy as np
import matplotlib.pyplot as plt
from tensorflow.keras.models import load_model
model=load_model('equation.h5')
############ prediction via paints ##########
### glob
run = False
ix, iy = -1, -1
follow = 25
img = np.zeros((512, 512, 1))
### func
def draw(event, x, y, flag, params):
global run, ix, iy, img, follow
if event == cv2.EVENT_LBUTTONDOWN:
run = True
ix, iy = x, y
elif event == cv2.EVENT_MOUSEMOVE:
if run == True:
cv2.circle(img, (x, y), 20, (255, 255, 255), -1)
elif event == cv2.EVENT_LBUTTONUP:
run = False
cv2.circle(img, (x, y), 20, (255, 255, 255), -1)
gray = cv2.resize(img, (100,100))
gray = gray.reshape(-1,100,100,1)
result = np.argmax(model.predict(gray))
result = 'cnn : {}'.format(result)
file_object = open('sample.txt', 'a')
# Append 'hello' at the end of file
file_object.write(result +'\n')
# Close the file
file_object.close()
cv2.putText(img, org=(25, follow), fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=1, text=result,
color=(255, 0, 0), thickness=1)
follow += 25
elif event == cv2.EVENT_RBUTTONDOWN:
img = np.zeros((512, 512, 1))
follow = 25
### param
cv2.namedWindow('image')
cv2.setMouseCallback('image', draw)
while True:
cv2.imshow("image", img)
if cv2.waitKey(1) == 27:
break
cv2.destroyAllWindows()
我用数学符号创建了一个模型,如+,-,=
等,模型的输入形状是(100100,3)。
当我尝试使用该模型时,它会抛出一个错误,错误在重塑中,这里通过OpenCV拍摄图像,并对其进行大小调整和重塑,重塑时会抛出以下错误:
C:\Users\Suganya\PycharmProjects\pythonProject1\venv\Scripts\python.exe C:/Users/Suganya/PycharmProjects/pythonProject1/digit.py
2021-05-02 11:27:53.306670:W tensorflow/stream_executor/platform/default/dso_loader.cc:60]无法加载动态库“cudart64_110.dll”;错误:找不到cudart64_110.dll
2021-05-02 11:27:53.306939:I tensorflow/stream_executor/cuda/cudart_stub.cc:29]如果您的计算机上没有设置GPU,请忽略上面的cudart dler错误。
2021-05-02 11:27:55.277915:I TysFult/Cys/JIT/XLAYCPUION.CAR:41)不创建XLA设备,TFXXLANEABLE LXLAX设备未设置
2021-05-02 11:27:55.278851:W tensorflow/stream_executor/platform/default/dso_loader.cc:60]无法加载动态库“nvcuda.dll”;错误:未找到nvcuda.dll
2021-05-02 11:27:55.279077:W tensorflow/stream_executor/cuda/cuda_driver.cc:326]调用cuInit失败:未知错误(303)
2021-05-02 11:27:55.282800:I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169]检索主机的cuda诊断信息:笔记本电脑-OTIM27
2021-05-02 11:27:55.283095:I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176]主机名:笔记本电脑-OTIM27
2021-05-02 11:27:55.283480:I tensorflow/core/platform/cpu_feature_guard.cc:142]此tensorflow二进制文件使用oneAPI深度神经网络库(oneDNN)进行优化,以便在性能关键型操作中使用以下cpu指令:AVX2
要在其他操作中启用它们,请使用适当的编译器标志重新生成TensorFlow。
2021-05-02 11:27:55.284291:I TysFult/Cys/JIT/XLAAGPUIONDECTION.CC:99)不创建XLA设备,TFXXLANEABELYXXLAL设备未设置
2021-05-02 11:27:57.000628:I tensorflow/compiler/mlir/mlir\u graph\u optimization\u pass.cc:116]没有启用任何mlir优化过程(注册2)
回溯(最近一次呼叫最后一次):
文件“C:/Users/Suganya/PycharmProjects/pythonProject1/digit.py”,第29行,在绘图中
结果=np.argmax(模型预测(灰色))
文件“C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\keras\engine\training.py”,第1629行,在predict中
tmp_batch_outputs=self.predict_函数(迭代器)
文件“C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\eager\defêfunction.py”,第828行,在êu调用中__
结果=自身调用(*args,**kwds)
文件“C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\eager\def_function.py”,第871行,在调用中
self.\u初始化(参数、KWD、添加初始值设定项到=初始值设定项)
文件“C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\eager\def_function.py”,第726行,在
*args,**科威特第纳尔)
文件“C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\eager\function.py”,第2969行,位于“获取具体功能内部垃圾”中
图形函数,自变量。可能定义函数(args,kwargs)
文件“C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\eager\function.py”,第3361行,在函数“定义”中
graph\u function=self.\u create\u graph\u function(args,kwargs)
文件“C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\eager\function.py”,第3206行,在创建图函数中
按值捕获=自身。_按值捕获),
文件“C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\framework\func\u graph.py”,第990行,位于func\u graph\u from\u py\u func
func_outputs=python_func(*func_args,**func_kwargs)
文件“C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\eager\def_function.py”,第634行,包装为
out=弱包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹包裹
文件“C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\framework\func_graph.py”,第977行,在包装器中
将e.ag\u错误\u元数据引发到\u异常(e)
ValueError:在用户代码中:
C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\keras\engine\training.py:1478 predict\u函数*
返回步骤_函数(self、迭代器)
C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\keras\engine\training.py:1468步骤\函数**
输出=模型。分配策略。运行(运行步骤,参数=(数据,)
C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\distribute\distribute\u lib.py:1259 run
返回self.\u扩展。为每个\u副本调用\u(fn,args=args,kwargs=kwargs)
C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\distribute\distribute\u lib.py:2730为每个副本调用
返回自我。为每个副本(fn、ARG、kwargs)调用
C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\distribute\distribute\distribute\u lib.py:3417\u为每个副本调用\u
返回fn(*args,**kwargs)
C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\keras\engine\training.py:1461运行\u步骤**
输出=模型。预测步骤(数据)
C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\keras\engine\training.py:1434 predict\u步骤
返回自我(x,训练=假)
C:\Users\Suganya\PycharmProjects\pythonProject1\venv\lib\site packages\tensorflow\python\keras\engine\base\u layer.py:998\u调用__
输入规格。断言输入规格兼容性(self.input规格,在