当前位置: 首页 > wzjs >正文

wordpress被刷搜索seo标题优化的方法

wordpress被刷搜索,seo标题优化的方法,WordPress客服插件破解版,网站后台设置网站地图【C#深度学习之路】如何使用C#实现Stable Diffusion的文生图功能 项目背景项目实现写在最后项目下载链接 本文为原创文章,若需要转载,请注明出处。 原文地址:https://blog.csdn.net/qq_30270773/article/details/147002073 项目对应的Github地…

【C#深度学习之路】如何使用C#实现Stable Diffusion的文生图功能

  • 项目背景
  • 项目实现
  • 写在最后
  • 项目下载链接

本文为原创文章,若需要转载,请注明出处。
原文地址:https://blog.csdn.net/qq_30270773/article/details/147002073
项目对应的Github地址:https://github.com/IntptrMax/StableDiffusionSharp
项目打包的Nuget地址:https://github.com/IntptrMax/StableDiffusionSharp
C#深度学习之路专栏地址:https://blog.csdn.net/qq_30270773/category_12829217.html
关注我的Github,可以获取更多资料,请为你感兴趣的项目送上一颗小星星:https://github.com/IntptrMax

另外本人已经在多平台上发现了不做任何修改直接照抄就发布我的文章的盗版行为,还将我的开源免费资源当成付费资源发布的行为,对此表示强烈的不满。这种“盗窃知识”的行为严重损害了开源项目作者的个人利益以及开源共享精神。

项目背景

本人已经在Github及CSDN上连续发布了C#训练和推理主流的Yolo版本的代码,受到了很多小伙伴的关注。由于YoloSharp的基本功能已经完成,本人对Stable Diffusion又比较感兴趣,所以开始了StableDiffusionSharp的开发。本文并不主要讲StableDiffusionSharp代码,而是先做个基本功能演示,代码会另外再讲解。
如果该资料对你有帮助,请在我的Github上送我一颗小星星。该项目的Github链接为https://github.com/IntptrMax/StableDiffusionSharp

项目实现

本文主要借助了本人开发的StableDiffusionSharp,该包已经发布到了Nuget上,所以直接拉取就可以用了。另外还需要环境依赖项,这个依赖项也需要再Nuget上拉取。
Nuget上拉取支持包
拉取完成后,就可以调用了。为了更直观,本文使用了Winform作为演示。需要使用.Net 8.0以上的环境支持。如果想要使用低版本的.net,请自行修改StableDiffusionSharp源码编译。

作为演示,主界面绘制得较为简单。

在这里插入图片描述

主要功能集中在Load Model 和 Generate两个按钮中。所有的功能代码均贴在下面了。其中Sd_StepProgress这个事件可以看到正在进行的步数和去噪的图像效果。

using StableDiffusionSharp;
using System.Diagnostics;namespace StableDiffusionDemo_Winform
{public partial class FormMain : Form{string modelPath = string.Empty;string vaeModelPath = string.Empty;StableDiffusionSharp.StableDiffusion sd;public FormMain(){InitializeComponent();}private void FormMain_Load(object sender, EventArgs e){ComboBox_Device.SelectedIndex = 0;ComboBox_Precition.SelectedIndex = 0;}private void Button_ModelScan_Click(object sender, EventArgs e){FileDialog fileDialog = new OpenFileDialog();fileDialog.Filter = "Model files|*.safetensors;*.ckpt;*.pt;*.pth|All files|*.*";if (fileDialog.ShowDialog() == DialogResult.OK){TextBox_ModelPath.Text = fileDialog.FileName;modelPath = fileDialog.FileName;}}private void Button_ModelLoad_Click(object sender, EventArgs e){if (File.Exists(modelPath)){SDDeviceType deviceType = ComboBox_Device.SelectedIndex == 0 ? SDDeviceType.CUDA : SDDeviceType.CPU;SDScalarType scalarType = ComboBox_Precition.SelectedIndex == 0 ? SDScalarType.Float16 : SDScalarType.Float32;Task.Run(() =>{base.Invoke(() => Button_ModelLoad.Enabled = false);sd = new StableDiffusionSharp.StableDiffusion(deviceType, scalarType);sd.StepProgress += Sd_StepProgress;sd.LoadModel(modelPath, vaeModelPath);base.Invoke(() =>{Button_ModelLoad.Enabled = true;Button_Generate.Enabled = true;Label_State.Text = "Model loaded.";});});}}private void Button_VAEModelScan_Click(object sender, EventArgs e){FileDialog fileDialog = new OpenFileDialog();fileDialog.Filter = "Model files|*.safetensors;*.ckpt;*.pt;*.pth|All files|*.*";if (fileDialog.ShowDialog() == DialogResult.OK){TextBox_VaePath.Text = fileDialog.FileName;vaeModelPath = fileDialog.FileName;}}private void Sd_StepProgress(object? sender, StableDiffusionSharp.StableDiffusion.StepEventArgs e){base.Invoke(() =>{Label_State.Text = $"Progress: {e.CurrentStep}/{e.TotalSteps}";if (e.VaeApproxImg != null){MemoryStream memoryStream = new MemoryStream();e.VaeApproxImg.Write(memoryStream, ImageMagick.MagickFormat.Jpg);base.Invoke(() =>{PictureBox_Output.Image = Image.FromStream(memoryStream);});}});}private void Button_Generate_Click(object sender, EventArgs e){string prompt = TextBox_Prompt.Text;string nprompt = TextBox_NPrompt.Text;int step = (int)NumericUpDown_Step.Value;float cfg = (float)NumericUpDown_CFG.Value;long seed = 0;int width = (int)NumericUpDown_Width.Value;int height = (int)NumericUpDown_Height.Value;int clipSkip = (int)NumericUpDown_ClipSkip.Value;Task.Run(() =>{Stopwatch stopwatch = Stopwatch.StartNew();base.Invoke(() =>{Button_ModelLoad.Enabled = false;Button_Generate.Enabled = false;Label_State.Text = "Generating...";});ImageMagick.MagickImage image = sd.TextToImage(prompt, nprompt, clipSkip, width, height, step, seed, cfg);MemoryStream memoryStream = new MemoryStream();image.Write(memoryStream, ImageMagick.MagickFormat.Jpg);base.Invoke(() =>{PictureBox_Output.Image = Image.FromStream(memoryStream);Button_ModelLoad.Enabled = true;Button_Generate.Enabled = true;Label_State.Text = $"Done. It takes {stopwatch.Elapsed.TotalSeconds.ToString("f2")} s";});GC.Collect();});}}
}

写在最后

使用C#深度学习项目是很多人所希望的。不过在该方向上资料很少,开发难度大。常规使用C#进行深度学习项目的方法为使用Python训练,转为Onnx模型再用C#调用。
目前我希望能够改变这一现象,希望能用纯C#平台进行训练和推理。这条路还很长,也很困难,希望有兴趣的读者能跟我一起让让C#的深度学习开发环境更为完善,以此能帮助到更多的人。

另外随着项目的关注度增多,已经开始有人盗版我的项目并将免费开源的项目当成付费项目在卖了。这种行为极其恶劣,请各位小伙伴积极抵制这种行为,还开源项目一片干净的环境,也让开源项目开发者有动力继续贡献更多的项目。

我在Github上已经将完整的代码发布了,项目地址为:https://github.com/IntptrMax/StableDiffusionSharp,期待你能在Github上送我一颗小星星。在我的Github里还GGMLSharp这个项目,这个项目也是C#平台下深度学习的开发包,希望能得到你的支持。

项目下载链接

https://download.csdn.net/download/qq_30270773/90566451

http://www.dtcms.com/wzjs/162290.html

相关文章:

  • 网站建设q a产品经理培训哪个机构好
  • 海绵宝宝网页设计素材石家庄seo外包公司
  • 设计方案网站谷歌浏览器手机版官网下载
  • 学做视频t的网站快速排名服务平台
  • 公司网站建设费属于宣传费吗友情链接批量查询
  • 淘宝代运营多少钱一个月旺道seo推广有用吗
  • 和田哪里有做网站的地方注册公司网上申请入口
  • 广州品牌网站建设活动策划
  • 广州软件开发外包赣州seo
  • 做网站编辑大专可以吗百度快照
  • 西数 网站建设如何做品牌运营与推广
  • 用flash做网站建设免费域名注册平台有哪些
  • html 门户网站模板今天的最新消息新闻
  • 培训教育网站开发h5网站制作平台
  • 专业的常州网站建设北京建站工作室
  • 沂源网站制作深圳网络推广营销公司
  • 方法数码做的网站怎么样临沂网站建设
  • 域名跟空间都有了怎么做网站网站源码下载
  • wordpress首页显示vip标志陕西网络营销优化公司
  • 网站建设与管理的网页网页模版
  • 企业网站设计推广方案中国十大软件外包公司排名
  • 制作简单网页的步骤杭州专业seo服务公司
  • 做网站ie10缓存百度推广优化怎么做的
  • 人才网站app建设建议2020新闻大事件摘抄
  • 怎样自己做网站卖钱seo网站推广推荐
  • 高端建设网站公司哪家好友好链接
  • wordpress vip视频解析seo的形式有哪些
  • 网站如何做问卷调查问卷企业查询信息平台
  • 可以做数据图的的网站有哪些学技术的培训学校
  • 定制平台苏州seo整站优化