python - Keras 和 OpenCV (CV2) 作为 Python 可执行文件的依赖项?

标签 python opencv keras pyinstaller cv2

对于一项学校作业,我编写了一个系统(在 Python 3 中,在 Windows 8.1 中)接受特定的扫描表格,识别数字,将其与答案键进行比较,并将“成绩”放入 csv 中。我的系统现在完全基于单个文件工作(例如,我有一个“解析”扫描文档的文件,一个进行识别的部分,一个训练用于识别的神经网络的文件等)但我的导师要求我把它变成一个可执行文件。

我最近了解了 pyinstaller,我觉得它可以满足我的需求,但我不知道依赖项在这里应该如何工作。我相信我应该在 Python 中创建一个“运行脚本”,它以指定的顺序导入各个组件并调用带有参数的函数。我还有一个"template"图像需要与可执行文件一起存储。

特别是对于 Keras 和 CV2,我知道有非常多的依赖项。所有这些依赖项是否都需要存在于我安装程序的目录中,或者 pyinstaller 是否从安装它们的 pip 目录中获取它们?对于 OpenCV,我是否必须弄清楚如何设法将它也带入安装程序?

如果这不是提问的正确位置,我们深表歉意。

最佳答案

Pyinstaller 使用 hooks对于每个包,您需要检查以确保 Pyinstaller 与您的 Keras 和 OpenCV 包兼容。大多数软件包开箱即用,您可以查看 here对于第三方支持的包。我目前使用 OpenCV v4.0.0 和 Pyinstaller v3.4,效果很好。据我了解,Pyinstaller 从安装它们的 pip 目录中获取它们,因此您不必担心依赖项存在于同一目录中。根据您用于构建程序的标志,程序中使用的任何包都将自动包含在 Pyinstaller 可执行文件中。

您可以对单个文件捆绑的可执行文件使用 --onefile 标志。另一个有用的标志是 --windowed 标志,它允许您从命令行调试程序。您可以找到有关标志的更多信息 here .

关于python - Keras 和 OpenCV (CV2) 作为 Python 可执行文件的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55500644/

相关文章:

python - 使用不同的类型和消息重新引发异常,保留现有信息

python - 该功能未实现。使用 Windows、GTK+ 2.x 或 Carbon 支持重建库

python - 自定义损失函数: NotImplementedError: Cannot convert a symbolic Tensor (truediv_2:0) to a numpy array

python - 无法在我的 Ubuntu 机器上安装 'xlwings'

python - 将控制字符应用于字符串 - Python

c++ - OpenCV 线性 SVM 未训练

python - 将 Halcon 代码迁移到 OpenCV

python - 第一层的 Keras 权重没有改变

tensorflow - Keras 中的 MaxPool 和 MaxPooling 层有什么区别?

python - 如何将 Unicode 标题传递给 matplotlib?