复现论文-报错记录dream-ood

复现论文Dream the Impossible: Outlier Imagination with Diffusion Models
过程中出现的问题记录
服务器:NIVIDA2080ti
github:
论文: arxiv.org/pdf/2309.13415

1.pytorch使用出现"RuntimeError: An attempt has been made to start a new process before the..."(应该用cpu才会出现)

具体报错:

RuntimeError: An attempt has been made to start a new process before the current process has finished its bootstrapping phase. This probably means that you are not using fork to start your child processes and you have forgotten to use the proper idiom in the main module: if __name__ == '__main__': freeze_support() ... The "freeze_support()" line can be omitted if the program is not going to be frozen to produce an executable.

我之后用的服务器就又都修改回来了。


2.Pytorch 如何修改Torch Hub模型下载路径

Torch Hub模型下载的默认路径是~/.cache/torch/hub/checkpoints/。

从github上下载国内下不下来,会报错:RuntimeError: unexpected EOF, expected 183852 more bytes. The file might be corrupted.

解答:

首先将模型自己下载到本地

然后设置环境变量

通过设置TORCH_HOME环境变量来指定新的模型下载路径。在终端中运行以下命令来设置环境变量:

export TORCH_HOME=/path/to/new/download/directory

请将/path/to/new/download/directory替换为您想要存储Torch Hub模型的新路径。

本人修改到:export TORCH_HOME=/opt/data/private


3.huggingface镜像下载

有很多模型要从huggingface上下载,但国内无法访问。也是下载到本地,然后传到相应位置

官网: HF-Mirror   网站域名 hf-mirror.com,用于镜像 huggingface.co 域名 

在HF-Mirror搜索,并在模型主页的Files and Version中下载文件


4.安装xformers指定版本

pip3 install xformers==0.0.13 

原作者说的版本为0.0.13

但是在之后的运行过程中发现还是会报错。

后来原作者也说了,要根据自己的cuda和pytorch版本安装相应的xformers版本。

网上都可以查到对应信息。

本人:NVIDIA-SMI 515.76       Driver Version: 515.76       CUDA Version: 11.7


5.Can't load tokenizer for 'openai/clip-vit-large-patch14'.

If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'openai/clip-vit-large-patch14' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.

解答:clip-vit-large-patch14 国内已经不能访问了
需要手动创建openai 目录并把 下载后解压的资源拖入到openai/clip-vit-large-patch14目录下面

下载地址:

openai/clip-vit-large-patch14 at main


6、CUDA out of memory

要么增加显卡,要么修改参数

原作者生成10K张,

我的解决方法:

1、减小batch_size:这里面减小了n_smple。

2、检查是否显存不足

watch -n 0.5 nvidia-smi

查看显存占用

指定使用的GPU

os.environ['CUDA_VISIBLE_DEVICES'] = "0, 1, 3"
device = torch.device("cuda:0" if torch.cuda.is_available() and not args.no_cuda else "cpu")  # cuda 指定使用GPU设备
model = torch.nn.DataParallel(model, device_ids=[0, 1, 3])  # 指定多GPU并行处理时使用的设备编号

这个方法会发生报错:AttributeError: 'DataParallel' object has no attribute 'XXXX' 

解决方法:将self.model都变成self.model.module

 或者

在python前面添加指定的GPU编号


CUDA_VISIBLE_DEVICES=1 python script1.py

7.import cv2 报错libSM.so.6: cannot open shared object file: No such file or directory

执行完以下三句就可以正常import cv2啦

apt-get install libsm6
apt-get install libxrender1
apt-get install libxext-dev

如果出现: 

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libsm6

先执行:在root下不用sudo

apt-get update

 然后再执行上面三个命令。


8、ModuleNotFoundError: No module named 'faiss'

conda install -c pytorch faiss-gpu

9、Need to compile C++ extensions to get sparse attention suport. Please run python setup.py build develop

要根据自己的pytorch版本安装xformers.

facebookresearch/xformers at v0.0.17

 找tag,tag下面写了对应关系。

一定要找对应版本的。

注: 不知道这个有没有影响

我没换xformers版本之前,还更改了代码中的attention.py文件。

 https://github.com/deeplearning-wisc/dream-ood/blob/main/ldm/modules/attention.py)

文件变为: 

 stablediffusion/ldm/modules/attention.py at main · Stability-AI/stablediffusion · GitHub. 

其中要把源文件中的class LinearAttention(nn.Module)加到更换后的文件中就可以了


10、module ‘torch‘ has no attribute ‘_six‘

torch 2.0版本以后中没有 ‘_six.py’ 文件,所以运行模型报错

解答:

将version.py中的代码修改如下

if isinstance(root, torch._six.string_classes):

修改为:

if isinstance(root, str):


11、测试数据集下载梯子

测试数据集在dropbox,需要梯子

我用的翻墙:

SSRDOG 导航站


13、-bash: screen: command not found

命令:apt-get install screen

用screen防止中途断网之类的问题。深刻教训😭😭😭😭😭😭


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/16917.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

LinkedList与链表

目录 一、链表 链表相关练习题 二、LikedList 1、构造方法 2、常用方法 3、LinkedList的遍历 4、ArrayList与LinkedList的区别 一、链表 链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 链式结构在逻辑上是连…

vulnhub靶机hackxor提示(部分写出)

靶机地址:Hackxor: 1 ~ VulnHub 主机发现 130是靶机 端口扫描 服务扫描 漏洞扫描 Hosts配置(这个是需要在网上找的,这个是靶机的缘故搭建不完全所以需要自己写hosts) 访问wraithmail:8080 数据包 GET http://utrack/cat.jsp?id1…

录的视频怎么消除杂音?从录制到后期的杂音消除攻略

在录制视频时,杂音往往是一个令人头疼的问题。无论是环境噪音、设备噪音还是电磁干扰,杂音的存在都会极大地影响视频的听觉体验。录的视频怎么消除杂音?通过一些前期准备和后期处理技巧,我们可以有效地消除这些杂音,提…

C++内存模型与并发支持

本文是CppCon23演讲:C Memory Model:from C11 to C 23的笔记,掺杂个人见解以及扩展 内存模型 操作系统的四个特性:虚拟,并发,持久 抽象中很重要的一部分就是内存虚拟。从编程的角度来看,编程就…

机器学习day5-随机森林和线性代数1

十 集成学习方法之随机森林 集成学习的基本思想就是将多个分类器组合,从而实现一个预测效果更好的集成分类器。大致可以分为:Bagging,Boosting 和 Stacking 三大类型。 (1)每次有放回地从训练集中取出 n 个训练样本&…

jdk1.7的hashmap为什么会出现死循环问题

原因在于链表结构出现了环状。为什么会出现环状的链表? 原因在于多个线程同时进行扩容的时候。 由于一个线程使用的是头插法进行迁移数据到新开辟的数组中,使得链表中的数据是颠倒的顺序。 而当另一个线程扩容的时候就可能因为这个颠倒的顺序而出现指针…

微信小程序navigateTo:fail webview count limit exceed

theme: nico 你们好,我是金金金。 场景 uniapp编写微信小程序,使用uni.navigateTo跳转的过程中报错如下: 报错意思也非常明显了:errMsg":"navigateTo:fail webview 数量超出限制 排查 排查之前我先贴一下代码 代码非…

逆向攻防世界CTF系列33-流浪者

逆向攻防世界CTF系列33-流浪者 shiftf12看到pass&#xff0c;跟进 是个输入的处理&#xff0c;其实很简单&#xff0c;看不懂也没关系&#xff0c;先看看return 这里strcmp成功后return的就是成功 最后要为KanXueCTF2019JustForhappy while ( *(_DWORD *)(a1 4 * v4) < 0x…

算法--解决二叉树遍历问题

第一 实现树的结构 class Node(): # 构造函数&#xff0c;初始化节点对象&#xff0c;包含数据和左右子节点 def __init__(self, dataNone): self.data data # 节点存储的数据 self.left None # 左子节点&#xff0c;默认为None self.rig…

Ubuntu22.04.2 k8s部署

k8s介绍 简单介绍 通俗易懂的解释&#xff1a; Kubernetes&#xff08;也被称为 K8s&#xff09;就像是一个大管家&#xff0c;帮你管理你的云计算服务。想象一下&#xff0c;你有很多个小程序&#xff08;我们称之为“容器”&#xff09;&#xff0c;每个都在做不同的事情&…

游戏引擎学习第12天

视频参考:https://www.bilibili.com/video/BV1yom9YnEWY 这节没讲什么东西&#xff0c;主要是改了一下音频的代码 后面有介绍一些alloc 和malloc,VirtualAlloc 的东西 _alloca 函数&#xff08;或 alloca&#xff09;分配的是栈内存&#xff0c;它的特点是&#xff1a; 生命周…

Linux-软件管理-本地仓库和网络资源仓库配置(RHCSA)

该章节的目录如下&#xff1a; 认识rpm包 将设备挂载到/mnt上面 查看光驱上的相关信息 使用rpm包管理软件 仓库的配置(重要) 无相关文件 本地仓库配置&#xff08;书写相关的仓库文件&#xff09; 配置流程 效果测试&#xff08;安装卸载&#xff09; 查看仓库 清理…

【arxiv‘24】Vision-Language Navigation with Continual Learning

论文信息 题目&#xff1a;Vision-Language Navigation with Continual Learning 视觉-语言导航与持续学习 作者&#xff1a;Zhiyuan Li, Yanfeng Lv, Ziqin Tu, Di Shang, Hong Qiao 论文创新点 VLNCL范式&#xff1a;这是一个新颖的框架&#xff0c;它使得智能体能够在适…

数字化建设:指标如何驱动的企业KPI设计?

我们以KPI设定为例&#xff0c;简单说明在一套科学的经营分析体系的加持下&#xff0c;企业的经营KPI应该如何设定&#xff0c;如图所示。 指标驱动的企业KPI设计 每年年初企业做战略规划的同时&#xff0c;会启动年度业务KPI的设定。这个时候经营分析团队会主导整个过程。首先…

初级数据结构——栈题库(c++)

目录 前言1.杭电oj——Bitset2.杭电oj——进制转换[3.力扣——LCR 123. 图书整理 I](https://leetcode.cn/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/description/)[4.力扣——LCR 027. 回文链表](https://leetcode.cn/problems/aMhZSa/)[5.力扣——1614. 括号的最大嵌…

数字化转型企业架构设计手册(交付版),企业数字化转型建设思路、本质、数字化架构、数字化规划蓝图(PPT原件获取)

1、企业架构现状分析 2、企业架构内容框架 3、企业架构设计方法 3.1 、业务架构设计方法 3.2 、数据架构设计方法 3.3 、应用架构设计方法 3.4 、技术架构设计方法 软件全套资料部分文档清单&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&…

⾃动化运维利器Ansible-基础

Ansible基础 一、工作原理二、快速入门2.1 测试所有资产的网络连通性2.2 发布文件到被管理节点(资产) 三、资产(被管理节点)3.1 静态资产3.1.1 自定义资产3.1.2 自定义资产的使用3.1.3 资产选择器 四、Ansible Ad-Hoc 命令4.1 模块类型4.1.1 command & shell 模块4.1.2 cop…

鸿蒙NEXT自定义组件:太极Loading

【引言】&#xff08;完整代码在最后面&#xff09; 本文将介绍如何在鸿蒙NEXT中创建一个自定义的“太极Loading”组件&#xff0c;为你的应用增添独特的视觉效果。 【环境准备】 电脑系统&#xff1a;windows 10 开发工具&#xff1a;DevEco Studio NEXT Beta1 Build Vers…

AVL树了解并简单实现

这篇文章默认知道二叉搜索树&#xff0c;如果了解并不多可以先看看二叉搜索树了解和实现-CSDN博客 目录 1.AVL树概念 2.AVL树节点定义 3.AVL树的插入&#xff08;重点&#xff09; 3.1AVL树 3.2AVL树的旋转 3.3AVL树插入代码 4.AVL树的验证 5.AVL树的删除 6.AVL树的性能…

【MySQL】索引原理及操作

目录 索引原理 初识索引 磁盘原理 磁盘与系统之间的关系 MySQL、系统、磁盘之间的关系 理解索引 页目录 页目录设计的数据结构问题 聚簇索引与非聚簇索引 遗留问题 索引操作 创建索引 查询索引 删除索引 其他索引概念与操作 索引原理 索引&#xff08;I…