pytorch 运行时错误:预期所有Tensor都在同一设备上,但发现至少两个设备,cpu和cuda:0,未对程序进行自编码

dvtswwa3  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(462)

我已经无计可施了。我对编码一无所知,我不知道如何解决这个问题,我甚至没有尝试编写程序,而我在尝试使用automatic 1111的文本反转方法创建一个令牌时遇到了这个问题。请注意,我没有训练它,只是创建了令牌。完整的错误如下所示:
文件“C:\Users\ME\Desktop\AutomaticWebUI\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py”,第275行,在运行预测输出=等待应用程序块的过程_api中(文件“C:\Users\ME\Desktop\AutomaticWebUI\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py”,第787行,在过程_api结果=等待self.call_函数(fn_index,输入,迭代器)文件中)
“C:\用户\ME\桌面\自动Web UI\稳定扩散-webui\venv\lib\站点包\gradio\blocks.py”,第694行,在调用函数预测=等待anyio.tothread.run_同步(文件“C:\用户\ME\桌面\自动Web UI\稳定扩散-webui\venv\lib\站点包\anyio\to_thread.py”,第31行,在运行同步中等待get_asynclib()。运行同步工作线程(文件
“C:\用户\ME\桌面\自动Web用户界面\稳定扩散-webui\venv\库\站点包\任何io_backends_asyncio.py”,第937行,在运行_同步_在工作线程中返回等待未来文件
“C:\用户\ME\桌面\自动Web用户界面\稳定扩散-webui\venv\lib\站点包\任意后端_异步.py”,第867行,在运行结果= context.run(函数,* 参数)文件“C:\用户\ME\桌面\自动Web用户界面\稳定扩散-webui\模块\文本反转\ui.py”,第11行,在创建_嵌入文件名=模块.文本反转.文本反转.创建_嵌入(名称,nvpt,初始化_文本=初始化_文本)文件“C:\用户\ME\桌面\自动Web用户界面\稳定扩散-webui\模块\文本反转\文本反转.py”,第161行,在创建_嵌入文件名=模块.文本反转.文本反转.py”,第161行,在创建
“C:\用户\ME\桌面\自动化Web用户界面\稳定扩散-webui\venv\lib\站点包\torch\nn\模块\模块. py”,第1130行,在调用实现返回转发调用(*input,**kwargs)文件“C:\用户\ME\桌面\自动化Web用户界面\稳定扩散-webui\venv\lib\站点包\torch\nn\模块\稀疏. py”,第158行,在转发返回F.嵌入(文件“C:\用户\ME\桌面\自动化Web用户界面\稳定扩散-webui\venv\lib\站点包\torch\nn\功能. py”,第2199行,在嵌入返回torch.嵌入(权重,输入,填充_idx,按频率缩放grad,稀疏)
运行时错误:所有Tensor应位于同一设备上,但至少找到两个设备,cpu和cuda:0!(在检查方法wrapper__index_select中参数索引的参数时)
我不知道该怎么办。这是我目前所做的一切:
1.我从头开始重新安装了自动存储库
1.删除了所有提到“cuda”在我的c驱动器
1.重新安装图形驱动程序
1.卸载和重新安装python和git
1.卸载cuda的东西,我原来安装的,以及它安装的其他一切
我把tensorflow也处理掉了,没有安装cudatoolkit了,不知怎么的,它仍然认为我有2个cpu或者其他什么意思,我真的不想因为这个而把我的硬盘炸了,回到出厂设置。所有这一切都是因为我试图让deepdanbooru的询问器在我的gpu上工作,这就需要我使用这个:https://www.tensorflow.org/install/pip
在这个过程中,我基本上把它堵上了,我不知所措,我不知道除此之外还能做什么,因为我不知道我是如何让它相信我的电脑上有一个叫cuda:0的东西,而当时没有任何文件或目录或任何安装了这个名字的东西。
我只有1个cpu和1个gpu。我不知道如何说服它,不管这个cuda:0是什么,据我所知它并不存在,我也不知道如何删除它。
如果有人能告诉我怎么做,这样我就不用完全擦除我的硬盘了,那就太好了。请用最简单的术语解释,因为我是自闭症患者,我对python编码一无所知。
请帮帮忙。

6tdlim6h

6tdlim6h1#

我已经找到了解决办法!这实际上不是他们代码中的缺陷,而是用户错误和我对代码如何工作缺乏知识的混合。
这是解决办法,以防有人像我一样把事情搞砸。
当我通过git bash重新安装时,我按照指南建议使用--medvram编辑了.bat文件。
然而,显然,添加这个命令会完全混淆它。删除--medvram命令可以解决这个问题。

相关问题