【笔记】windows+pytorch:部署一下stable diffusion和NeRF

之前都是 *nix 环境使用 pytorch,这次尝试了一下windows。
我们来部署下流行性高的stable diffusion和我觉得实用性比stable diffusion高多了的NeRF

Stable Diffusion

其实,我也不知道要写啥,都是按照步骤做就好了,后面等有时间了我们来写写如何训练模型吧……

https://stability.ai/stable-diffusion/
https://github.com/Stability-AI/StableDiffusion

一般,我们不用直接去捣鼓这个模型和一堆脚本,人家有webui,可以启动网页版啊…所以国内有很多就是基于这个网页版,然后再把最重要的一步Hugging Face上的模型搬运过来…我估计在国内架一个Hugging Face CDN最近会很吃香啊,随便搜索了下,bing上还是有的…

是的,最近都不怎么用Google了,Bing已经不错了…有事就问搭载GPT-4的Coplit…
扯了这么多,用得比较多得webui的github:

https://github.com/AUTOMATIC1111/stable-diffusion-webui

看了一下,github上发布目前最新的已经只有source code了;
然而,如果你不想费周折去在windows上配置python+git,那么就直接

https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.0.0-pre
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-NVidia-GPUs
其他诸如AMD GPU、MacOSX、Docker可以看这里
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki

把 sd.webui.zip 下载下来,解压,运行 update.bat 再 run.bat 其实就可以用了…
btw,我得windows机器是Nvida 3070,所以先去官网安装Cuda驱动,3GB,啊既然提到了GB,准备好30GB再来运行stable diffusion哦…

首先如果你 run.bat 失败了很多次,我们来看看一些可行得解决方案:

  • 一个是这个pytorch,直接pip install得话只有400kb,查阅了网上得资料,打开cmd然后cd到stable diffusion webui的解压后的文件夹下,预先可以:
call enviroment.bat
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -f https://download.pytorch.org/whl/torch_stable.html

使用后就是飞一般的速度,据说有人是40MB/s,作为穷人的我还没那么非,10MB/s,几分钟就把这个2.6GB的pytorch搞定了…

  • 刚才说了Hugging Face CDN,去bing上看下国内的镜像,然后下载对应model文件好了;如果更方便,就是用在 C:\Windows\System32\drivers\etc 里用管理员权限编辑 huggingface.co 指像本地127.0.0.1的nginx,在nginx把huggingface接上国内镜像站就好了;哦不用这么麻烦,如果人家没用复杂的配置,直接ping拿到镜像站的ip然后直接hosts里指定就好了…嗯,基础模型也就将近4GB吧…

如果你得模型下了一半,网络挂了,最好得办法就是把下载一半的文件干掉,重新 run.bat 一下…

我们来看一下,界面其实一目了然,输入一些文字,然后"Generate"就可以出图了。
在这里插入图片描述这里我们可以玩一下controlNet,画一个简笔画,让它生成图片。
在这里插入图片描述 补充下,这里controlNet实际是一个插件

https://github.com/Mikubill/sd-webui-controlnet.git

按照它的github去操作就好了,这个的模型文件还是有点大的,因为分了不同的模块,Hugging Face上是每个模块都是1.45GB的pth模型参数文件…也就十几个吧…之后大家有兴趣,还可以自己去查LoRA插件的使用…估计网上教程漫天飞舞了…

NeRF

NeRF这个东西本身还是蛮有意思的…拍摄一系列的物体照片,通过神经网络,计算光场,相当于空间里某个点xyz上颜色的概率…就是如何让罗马在3天之内建成,可以通过在罗马拍照取样,然后计算建模生成整个3D场景;或者说我们想要3D打印一个手办,把现有的手办拍点照片,就可以生成数字化文件,直接再去打印去…

官方网址是

https://nerf.studio/

里面的过程也很详细…
首先我们可以学习上面的sd webui,里面有一些脚本配置环境,比如 environment.bat 配置了python在哪里;为了不污染各个python环境,我们可以把python的zip包下载下来后,然后安装个pip,sd webui里也有 get-pip.py 可以用。之后 pip install virtualenv把virtualenv安装好,这样用 python -m virtualenv xxxx就可以创建一个相对独立的python运行环境了;之后就是把 enviroment.bat 复制过来,把路径配置成我们virtualenv生成的python路径。按照stable diffusion描述的一些方法可以安装好另一套pytorch,这样就可以安装NeRF studio了:pip install nerfstudio

安装完成以后,按照教程

  • 下载样例照片 ns-download-data nerfstudio --capture-name=poster
  • 使用照片训练模型 ns-train nerfacto --data data/nerfstudio/poster

嗯,训练速度么,3070要训练30k epoch大概2h(tiny-cuda-nn没安装的情况);使用官方的链接可以看到结果,但是官方给的链接是官网的地址打开连接上本地的websocket服务端…我想纯local怎么呢…反正人家官网地址viewer是static的,直接把html css js都dump一下下载到本地就好了,就可以纯本地看结果了…

训练完成以后,可以通过webui生成一下导出point cloud的命令,在cmd里运行,比如

ns-export poisson
   --load-config outputs\poster\nerfacto\2023-11-29_141945\config.yml
   --output-dir exports/mesh/
   --target-num-faces 50000
   --num-pixels-per-side 2048
   --normal-method open3d
   --num-points 1000000
   --remove-outliers True
   --use-bounding-box True
   --bounding-box-min -1 -1 -1
   --bounding-box-max 1 1 1

就可以导出 obj mlt ply 文件了,这个文件找一个阅读软件观看好了…

在这里插入图片描述
这个生成的文件其实就可以导入3D软件里编辑了,修修边,调整一下,其实可以去3D打印了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

防孤岛装置在光伏发电、燃气发电等新能源并网供电系统的应用

• AM5SE-IS防孤岛保护装置主要适用于35kV、10kV及低压380V光伏发电、燃气发电等新能源并网供电系统。 • 当发生孤岛现象时,可以快速切除并网点,使本站与电网侧快速脱离,保证整个电站和相关维护人员的生命安全**。 保护功能** ● 三段式过流…

【开源】基于Vue+SpringBoot的服装店库存管理系统

项目编号: S 052 ,文末获取源码。 \color{red}{项目编号:S052,文末获取源码。} 项目编号:S052,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 角色管理模块2.3 服…

最新去水印小程序源码分享/无需后台/对接接口/支持全网去水印功能

2023年最新去水印小程序源码分享:无需后台、对接接口,支持全网去水印功能 该小程序的用户界面设计都非常出色,给人一种视觉上的享受。 下载地址:https://bbs.csdn.net/topics/617662270

Egg.js中Cookie和Session

Cookie HTTP请求是无状态的,但是在开发时,有些情况是需要知道请求的人是谁的。为了解决这个问题,HTTP协议设计了一个特殊的请求头:Cookie。服务端可以通过响应头(set-cookie)将少量数据响应给客户端&#…

塑料注塑件自动化光学测量蓝光自动化三维检测解决方案-CASAIM-IS(2ND)

一、背景介绍 在塑料制品的生产过程中,注塑件的质量对于产品的整体质量和性能至关重要。然而,通过使用三坐标、卡尺、千分尺等量具,对工件进行单点或人工检测其加工精度,对复杂形位公差检测目前比较难取得数据,无法快…

Golang数据类型(数组)

数组重要概念 数组(Array)是一种非常常见的数据类型,几乎所有的计算机编程语言中都会用到它 在Go语言中,数组有如下的特点: 数组里的元素必须全部为同一类型,要嘛全部是字符串,要嘛全部是整数…

从零开始部署一个网站详细图文教程——腾讯云的服务器、SSL证书,阿里云的域名,七牛云的对象存储、CDN等

文章目录 前期准备连接服务器配置Golang环境安装配置MySQL安装配置Redis安装配置Nginx安装Node域名解析SSL证书下载启动项目配置CDN加速总结 前期准备 云服务器(必备)、已经备案的域名(必备),已签发的SSL证书&#xf…

ABAP2XLSX 的安装和demo

ABAP2XLSX 是一个git上面的很好用的工具,它可以帮助abaper们更方便,更简单的生成各种各样复杂的自定义的excel,以满足各企业的信息化建设 在安装这个之前,请先查看之前的博客,去安装abapgit abap2xlsx地址&#xff1…

RabbitMQ的基本介绍

RabbitMQ的基本介绍 基于AMQP协议,Erlang语言开发,是部署最广泛的开源消息中间件,是最受欢迎的开源消息中间件之一。 AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议&a…

MySQL之undo日志

聊聊undo log 什么是undo log undo log(回滚事务),在事务没有提交前,MySQL将记录更新操作的反向操作到undo log日志中,以便进行回退保证事务的原子性 undo log的作用 1.提供回滚操作 我们在进行数据更新操作的时候…

肖sir__搭建环境报错:com.alibaba.druid:type=DruidDataSourceStat异常

报错现象: 解决方案: 同一个服务器配置多个tomcat,而这些tomcat里边的项目配置的数据库连接池都是用alibaba.druid。下面说下我的解决过程,首先,修改tomcat bin目录下的catalina.sh,添加如下代码: 代码如…

Flink(八)【窗口】

前言 终于忙完了四门专业课的期末,确实挺累啊。今天开始继续学习 Flink ,接着上次的内容。 今日摘录: 他觉得一个人奋斗更轻松自在。跟没有干劲的人在一起厮混,只会徒增压力。 -《解忧杂货店》 1、窗口 之前我们已经了解了…

HyperBDR云容灾v4.10.1发布,划重点:支持UCloud云平台自动化容灾+新增可灵活定义的备份策略

版本更新 HyperBDR云容灾v4.10.1版本来啦! 此次更新为大家带来了多个新功能,下面让我们来看看具体是哪些吧~ 01 策略管理新功能: 多时间段限速功能: 更加灵活的多个时间段限速选择,可以在创建策略时为不同的时间段设…

Zoho CRM:高效捕捉线索,精准管理客户

线索管理是销售过程中的重要环节,它可以获取潜在客户信息,有效的管理和转化,提高企业销售业绩。如今,Zoho CRM管理系统广泛应用于更多的企业,他们使用CRM系统进行线索管理,用以提高线索转化率。下面就来说说…

VsCode中使用功能vite创建vue3+js项目报错

VsCode中使用功能vite创建vue3js项目报错 VsCode中使用功能vite创建vue3js项目import模块报错如下处理方法 VsCode中使用功能vite创建vue3js项目import模块报错如下 处理方法 在项目根目录新建jsconfig.json {"compilerOptions": {"baseUrl": "./&q…

YOLOv7独家原创改进:自研独家创新FT_Conv,卷积高效结合傅里叶变换

💡💡💡本文自研创新改进:卷积如何有效地和频域结合,引入分数阶傅里叶变换和分数阶Gabor变换,最终创新到YOLOv7。 推荐指数:五星 在道路缺陷检测任务中,原始map为0.8,FT_Conv为0.82 收录YOLOv7原创自研 https://blog.csdn.net/m0_63774211/category_12511937.htm…

虚拟机指定开放数据库3306端口

1、查看当前防火墙状态: sudo firewall-cmd --state 2、开放指定端口 sudo firewall-cmd --zonepublic --add-port3306/tcp --permanent 3、重新加载防火墙配置 sudo firewall-cmd --reload 4、检查端口是否开放成功 sudo firewall-cmd --zonepublic --list-por…

macbook电脑运行缓慢和卡顿内存怎么清理了?

假如你还在为“你的系统内存不足”的提示所困扰,或者你的Mac电脑突然运行缓慢和卡顿,那么你一般需要认真了解一下macbook内存怎么清理了? MacBook是功能强大的电脑,这点毫无疑问,但是它仍旧会随着时间推移变得运行缓慢。值得庆幸…

6.16二叉搜索树中的搜索(LC700-E)

算法: 二叉搜索树自带顺序,所以不用强调前、中、后序。 调试过程: 原因:初始化变量result时,没有给result赋值 正确代码: /*** Definition for a binary tree node.* public class TreeNode {* int…

Typora .MD笔记中本地图片批量上传到csdn (.PNG格式)(无需其他任何图床软件)

Typora .MD笔记中本地图片批量上传到csdn (.PNG格式)(无需其他任何图床软件) 截图软件推荐 qq 截图 快捷键 ctrlshiftA. 步骤一 设置Typora 的图片 点击文件. 点击偏好设置 ->图像 我们可以选择将图片复制到我们的文件夹中。 建议刚写好文件标题就…