免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持APP、电脑端、小程序、IOS免签等等

pytorch 打包exe

Pytorch 打包 EXE: 将 Pytorch 项目转换为独立的可执行文件

在开发过程中,我们可能想将我们的 Pytorch 项目打包为一个独立的可执行文件,以便其他人可以在没有 Python 和 Pytorch 环境的情况下轻松运行它。这个过程有很多方法,但接下来我们将介绍如何使用 Pyinstaller 将 Pytorch 项目打包为一个可执行文件 (EXE)。

首先,我们需要确保已经创建了一个适用于该项目的虚拟环境。这将使得项目打包更容易,因为它将只包含需要的包。在项目所在的文件夹中创建一个虚拟环境:

```bash

python -m venv venv

```

激活虚拟环境并安装 Pytorch 和其他依赖项:

```bash

# For Windows:

venv\Scripts\activate

# For Linux and macOS:

source venv/bin/activate

pip install torch torchvision

```

安装 Pyinstaller:

```bash

pip install pyinstaller

```

现在,我们可以使用 Pyinstaller 打包项目:

```bash

pyinstaller --onefile your_pytorch_script.py

```

这将创建一个名为 `dist` 的新目录,其中包含单个可执行文件。但是,由于 PyTorch 使用许多动态库,我们需要添加一些运行时HOOK。

创建一个名为 `hook-torch.py` 的新文件,添加以下代码:

```python

from PyInstaller.utils.hooks import collect_all

torch_root = 'your_custom_torch_path' # You need to specify path to your Pytorch installation

# ----------------------------- CUT HERE -----------------------------

datas, binaries, hiddenimports = collect_all('torch')

```

在项目中创建一个名为 hooks 的文件夹,并将 hook-torch.py 文件移到其中。

找到你的环境中的 Pytorch 安装位置。通常,您可以在 `venv\Lib\site-packages` (Windows) 或 `venv/lib/pythonX.Y/site-packages` (Linux/macOS) 中找到它。

现在,运行以下命令打包项目,相应地替换 `your_pytorch_script.py` 和 `your_custom_torch_path`:

```bash

pyinstaller --onefile --additional-hooks-dir=hooks --hidden-import=torch._C --exclude-module=torch._C --exclude-module=torch._six --exclude-module=torch.multiprocessing.spawn --exclude-module=torch.package --exclude-module=torch.quantization.cxx -r "hook-torch.py:your_custom_torch_path/lib/*.dll" your_pytorch_script.py

```

稍等片刻,可执行文件将在 `dist` 文件夹中生成。

请注意,生成的 EXE 文件可能会变得相当大,但这通常是因为它包含了 PyTorch 和其他所有依赖项。此外,由于可执行文件的特点,一些防病毒软件可能误报为病毒,但这是预期行为。可以添加数字签名或将可执行文件加入白名单以解决此问题。

现在您可以将生成的 EXE 文件发送给其他人,他们可以在没有安装 Python 和 Pytorch 的情况下轻松运行您的项目。


相关知识:
怎么制作exe文件夹
制作exe文件夹实际上是错误的表述,您可能是想知道如何制作在Windows系统上可执行的`.exe`文件。一个EXE文件,也就是可执行文件,它在Windows操作系统中表示一个独立的程序,用户可以直接通过双击这个文件来运行程序。制作一个EXE文件实际上就是
2023-06-14
vb 生成exe 灰色
Visual Basic(简称VB)是一种面向对象的编程语言,主要用于快速开发Windows桌面应用程序。生成exe文件是将VB源代码编译成可执行程序的过程,这样用户可以直接运行程序而无需安装任何额外的软件。下面将详细介绍VB生成exe文件以及“灰色”程序
2023-06-14
raptor生成exe文件
Raptor 生成可执行文件(EXE文件)——原理与详细介绍Raptor是一个开源的流程图设计软件,通过简易的流程图表示,用户可以对其逻辑进行设计。事实上,可以使用Raptor生成可执行文件(EXE)。在本教程中,我们将详细介绍如何使用Raptor生成EX
2023-06-14
pycharm生成exe
在本篇文章中,我们将详述使用 PyCharm 生成可执行文件(.exe)的过程。这篇教程适合那些想将自己的 Python 项目打包成一个独立的可执行文件的初学者。### PyCharm 简介PyCharm 是一款功能强大的 Python 集成开发环境(ID
2023-06-14
mysql生成exe文件
标题:使用MySQL生成可执行文件(EXE文件)的原理与教程简介:本文将详细解释在MySQL环境下生成可执行文件(EXE文件)的原理,并向您展示如何创建自己的MySQL可执行程序。目录:1. 生成可执行文件的原因2. 可执行文件的原理3. 使用pyinst
2023-06-14
java可以开发exe程序吗
是的,Java语言是可以用来开发.exe(可执行文件)程序的。尽管Java源代码需要先编译成字节码,再运行在Java虚拟机(JVM)上。但通过一些工具和方法,我们依然可以将Java程序打包成一个独立的.exe文件,以便在不安装Java环境的计算机上运行。下
2023-06-14