空占GPU资源的脚本

import torch 
import time
import os
import argparse
import shutil
import sys

def parse_args():
    parser = argparse.ArgumentParser(description='Matrix multiplication')
    parser.add_argument('--gpus', help='gpu amount', required=True, type=int)
    parser.add_argument('--size', help='matrix size', required=True, type=int)
    parser.add_argument('--interval', help='sleep interval', required=True, type=float)
    args = parser.parse_args()
    return args


def matrix_multiplication(args):

    a_list, b_list, result = [], [], []    
    size = (args.size, args.size)
    
    for i in range(args.gpus):
        a_list.append(torch.rand(size, device=i))
        b_list.append(torch.rand(size, device=i))
        result.append(torch.rand(size, device=i))

    while True:
        for i in range(args.gpus):
            result[i] = a_list[i] * b_list[i]
        time.sleep(args.interval)

if __name__ == "__main__":
    # usage: python matrix_multiplication_gpus.py --size 20000 --gpus 2 --interval 0.01
    args = parse_args()
    matrix_multiplication(args)

<think>好的,用户之前已经问过如何将TouchDesigner项目打包成EXE,现在他们又补充说自己是小白,需要一步一步详细展开步骤。这说明用户可能对之前提供的步骤还不够清楚,或者觉得操作复杂,需要更详细的指导。 首先,我需要回顾之前的回答,确保这次的回答更基础、更详细。用户提到是“小白”,所以步骤需要拆解得更细致,避免使用专业术语,尽量用简单易懂的语言。同时,可能需要解释一些概念,比如相对路径、Python环境等。 接下来,用户的需求不仅仅是打包EXE,还涉及到streamdiffusionTD插件和AI模型,这些可能有外部依赖。需要确保用户理解如何处理这些依赖,比如模型文件的路径问题,插件的安装位置,以及Python库的管理。 考虑到用户是新手,可能需要强调检查路径的重要性,因为路径错误是常见问题。此外,手动添加依赖的部分需要详细说明,包括如何找到Python库的位置,如何复制文件等。 另外,测试和调试部分也需要详细说明,特别是如何处理常见的错误,比如缺少DLL或模型加载失败。用户可能不知道如何查看错误日志,所以需要指导他们如何通过命令行输出来排查问题。 最后,补充建议部分需要提供一些优化和备选方案,比如精简文件体积或使用PyInstaller,但可能需要简要解释这些方法的基本操作,避免用户感到困惑。 整个过程中,要保持结构清晰,每个步骤都有明确的序号和标题,使用简单的语言,必要时举例说明。确保用户能够按照步骤一步步操作,减少可能的遗漏或错误。</think>好的!以下是针对零基础用户的 **超详细分步指南**,将你的TouchDesigner项目打包为独立EXE文件: --- ### **准备工作** 1. **确认项目完整性** - 确保你的TouchDesigner项目(.toe文件)在本地能正常运行,尤其是摄像头AI生图功能。 - 记录所有外部文件(如AI模型、图片、视频素材)的存放位置。 2. **安装必要软件** - **TouchDesigner**:确保版本与`streamdiffusionTD`插件兼容。 - **Python库**:如果插件需要额外库(如`torch`, `diffusers`),打开TouchDesigner的**Textport**窗口,输入: ```python pip install 库名 ``` *例如:`pip install torch diffusers`* --- ### **第一步:设置文件路径(关键!)** 1. **将所有外部文件移动到项目文件夹** - 新建一个文件夹(如`my_project`),内部创建子文件夹: ``` my_project/ ├─ data/ # 存放AI模型、图片等 ├─ scripts/ # 存放自定义Python脚本 └─ project.toe # 主项目文件 ``` - 将AI模型文件(如`model.ckpt`)复制到`data`文件夹。 2. **修改项目内的路径引用** - 在TouchDesigner中,打开所有引用外部文件的**Text DAT**或**参数栏**。 - 将绝对路径(如`C:/Users/xxx/model.ckpt`)改为相对路径: ``` project:/data/model.ckpt ``` --- ### **第二步:打包基础EXE** 1. **打开打包工具** - 在TouchDesigner中点击菜单栏:`File → Build Application/Plugin...`。 2. **基础设置** - **Application Type**:选择`Windows Console`(方便看错误日志)或`Windows GUI`(隐藏黑框)。 - **Output Directory**:设置输出路径(如`my_project/build`)。 - **Icon File**(可选):上传一个`.ico`图标文件作为EXE的图标。 3. **勾选关键选项** - ✅ `Include Project`(嵌入.toe文件) - ✅ `Extra Python Libs`(包含已安装的Python库) - 点击`Extra Files`,添加`data`文件夹和所有外部文件。 4. **生成EXE** - 点击`Build`,等待完成。此时会生成一个EXE文件和一个资源文件夹。 --- ### **第三步:手动添加插件和依赖** 1. **复制插件文件** - 找到`streamdiffusionTD`插件文件(通常是`.tox`或`.dll`)。 - 将其复制到打包后的文件夹内: ``` build/ ├─ Plugins/ # 新建此文件夹,放入插件 ├─ python-lib/ # TouchDesigner自动生成 └─ your_app.exe ``` 2. **处理Python库依赖** - 如果遇到“No module named...”错误,手动复制缺失的库: - 进入TouchDesigner安装目录的Python库文件夹(路径示例): ``` C:\Program Files\Derivative\TouchDesigner\bin\python\Lib\site-packages ``` - 找到报错的库文件夹(如`diffusers`),复制到打包后的`python-lib`目录中。 --- ### **第四步:测试EXE** 1. **本地运行测试** - 双击生成的EXE文件,观察是否正常启动并连接摄像头。 - 如果出现黑框(控制台),注意查看报错信息(如缺少文件、DLL错误)。 2. **常见问题解决** - **错误:CUDA初始化失败** - 安装对应版本的NVIDIA显驱动和CUDA工具包(参考插件文档要求)。 - **错误:模型未找到** - 检查`data`文件夹是否和EXE在同一目录,路径是否包含格或中文。 - **错误:缺少DLL文件** - 安装[Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)。 --- ### **最终部署** 1. **打包成单一文件夹** - 将整个`build`文件夹压缩,发送给用户。 - 用户需确保: - 操作系统为Windows 10/11 - 已安装NVIDIA显驱动(如果使用GPU加速) - 安装[DirectX](https://www.microsoft.com/download/details.aspx?id=35)和[Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe) 2. **进阶优化(可选)** - 使用工具如[Inno Setup](https://jrsoftware.org/isinfo.php)制作安装向导。 - 用`.tox`压缩大文件(右键文件 → Compress to .tox)。 --- ### **小白友好提示** - 如果第一次失败,尝试先打包一个**白项目**测试EXE生成流程。 - 路径问题90%的错误!坚持用`project:/`开头的相对路径。 - 截图保存每一步设置,方便回溯检查。 按此流程操作,即使零基础也能成功打包!如果在某一步,可以截图具体报错信息进一步排查 😊
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

低吟浅笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值