動手學Avalonia:基于硅基流動構建一個文生圖應用(一)

文生圖

文生圖,全稱“文字生成圖像”(Text-to-Image),是一種AI技術,能夠根據給定的文本描述生成相應的圖像。這種技術利用深度學習模型,如生成對抗網絡(GANs)或變換器(Transformers),來理解和解析文本中的語義信息,并將其轉化為視覺表現。文生圖可以用于創意設計、圖像編輯、虛擬現實、游戲開發等多個領域,為用戶提供了從文字到圖像的創造性轉換工具。例如,用戶可以輸入“一只藍色的貓坐在月球上”,AI將嘗試生成符合描述的圖像。

img

Stable Diffusion

Stable Diffusion 是一種潛在的文本到圖像擴散模型。得益于 Stability AI 慷慨的計算資源捐贈以及 LAION 的支持,我們得以使用 LAION-5B 數據庫的一個子集中的 512x512 圖像來訓練一個潛在擴散模型。與 Google 的 Imagen 類似,此模型使用一個凍結的 CLIP ViT-L/14 文本編碼器來根據文本提示對模型進行條件設定。該模型擁有 8.6 億參數的 UNet 和 1.23 億參數的文本編碼器,相對輕量,只需要至少 10GB VRAM 的 GPU 即可運行。詳情請參閱以下部分和模型卡片。

簡而言之,Stable Diffusion 是一個由 Stability AI 和 LAION 支持的項目,使用 LAION-5B 數據庫中的圖像訓練而成。它借鑒了 Google Imagen 的設計理念,使用 CLIP ViT-L/14 文本編碼器處理文本提示,具有相對較小的模型大小,使得它在普通 GPU 上即可運行。

Stable Diffusion 3 Medium 是目前 Stable Diffusion 3 系列中最新、最先進的文本到圖像 AI 模型,包含 20 億個參數。它擅長照片級真實感,處理復雜的提示并生成清晰的文本。

stable-diffusion-3-medium模型開源地址:https://huggingface.co/stabilityai/stable-diffusion-3-medium

image-20240710190246175

硅基流動

由于我目前硬件資源不行無法本地運行stable-diffusion-3-medium,但又想試試文生圖模型,因此現階段可以采用調用api的方式來使用。硅基流動平臺目前提供了stable-diffusion-3的調用接口,并且限時免費,因為選擇調用硅基流動提供的api。

image-20240710190603718

Avalonia

基于Avalonia可以使用C#+Xaml構建跨平臺應用。

本項目或許不具備太大的實用價值,權且當做學習Avalonia的一個練手項目。

項目架構:

image-20240710193030861

在使用Avalonia的模板創建項目之后,更改項目為.net8,并升級一下包,這樣可能會避免一些報錯。

由于發現不支持中文提示詞,因此還是使用SemanticKerenl基于LLM將中文提示詞翻譯為英文提示詞,然后根據英文提示詞繪圖。

觀察一下桌面端的依賴項,桌面端引用了核心項目,使用的包是Avalonia.Desktop。

image-20240710193917453

桌面端實現效果如下所示:

image-20240710191656219

觀察一下Android端的依賴項,Android端也引用了核心項目,使用的包是Avalonnia.Android與Xamarin.AndroidX.Core.SplashScreen。

image-20240710194047415

Android端調試可以選擇模擬器與物理機。

image-20240710193601252

避坑

選擇物理機調試時要打開開發者模式,打開USB調試,最重要的是要允許通過USB安裝,我之前沒有設置這個,就會遇到一個被用戶取消的錯誤提示。

Android端不知道為什么SenmanticKernel對提示模板不起作用如下所示:

現在只能自己寫英文提示詞繪圖。

Android端的實現效果如下:

以上就是動手學Avalonia:基于硅基流動構建一個文生圖應用(一)的內容,希望對使用C#構建跨平臺應用感興趣的小伙伴有所幫助。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43579.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43579.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43579.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Mac】Charles for Mac(HTTP協議抓包工具)及同類型軟件介紹

軟件介紹 Charles for Mac 是一款功能強大的網絡調試工具,主要用于HTTP代理/HTTP監視器。以下是它的一些主要特點和功能: 1.HTTP代理:Charles 可以作為HTTP代理服務器,允許你查看客戶端和服務器之間的所有HTTP和SSL/TLS通信。 …

金航標kinghelm宋仕強在介紹自己公司時說

金航標kinghelm宋仕強在介紹自己公司時說,金航標成立于2007年,成立地點在華強北雷圳大廈803室,后搬到華強北廣業大廈24樓CD室,后搬遷到龍華展滔科技大廈C座C809和C817室,現在的辦公地址為龍崗區坂田街道百瑞達大廈&…

WSL安裝USB驅動

wsl用不了USB盤,需要安裝驅動 1、安裝windows驅動 https://github.com/dorssel/usbipd-win/releases 下載msi,并且安裝 2、linux里面安裝 sudo apt install linux-tools-5.4.0-77-generic hwdata sudo update-alternatives --install /usr/local/bin/usb…

PageDTO<T>,PageQuery,BeanUtils,CollUtils的封裝

一、PageDTO<T> import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.annotation.JsonIgnore; import com.tianji.common.utils.BeanUtils; import com.tianji.common.utils.CollUtils; import com.tianji.common.utils.…

C#中的MD5摘要算法與哈希算法

文章目錄 一、哈希算法基礎二、MD5 算法原理三、MD5摘要算法四、哈希算法五、C#實現示例MD5算法示例哈希算法示例字符串MD5值對比 六、總結 一、哈希算法基礎 哈希算法是一種單向密碼體制&#xff0c;它將任意長度的數據轉換成固定長度的字符串。這種轉換是不可逆的&#xff0…

IDEA中配置代理,解決Codearts Snap登陸不了的問題

問題描述&#xff1a;在mac電腦中的idea中安裝了華為的codearts snap插件&#xff0c;一直登錄不了&#xff0c;賬號是沒問題的&#xff0c;后來我懷疑是我的代理有問題&#xff0c;找到IDEA中的代理設置先是有這個問題“You have JVM property "https.proxyHost" se…

千呼新零售2.0分銷商城視頻介紹

千呼新零售2.0系統是零售行業連鎖店一體化收銀系統&#xff0c;包括線下收銀線上商城連鎖店管理ERP管理商品管理供應商管理會員營銷等功能為一體&#xff0c;線上線下數據全部打通。 適用于商超、便利店、水果、生鮮、母嬰、服裝、零食、百貨、寵物等連鎖店使用。 詳細介紹請…

C語言 將兩個字符串連接起來,不用strcat函數

編一個程序,將兩個字符串連接起來,不要用strcat函數。 #include <stdio.h>void my_strcat(char *s1, const char *s2) {while (*s1) {s1;}while (*s2) {*s1 *s2;s1;s2;}*s1 \0; }int main() {char s1[100] "Hello, ";char s2[] "World!";my_str…

Android初學者書籍推薦

書單 1.《Android應用開發項目式教程》&#xff0c;機械工業出版社&#xff0c;2024年出版2.《第一行代碼Android》第二版3.《第一行代碼Android》第三版4.《瘋狂Android講義》第四版5.《Android移動應用基礎教程&#xff08;Android Studio 第2版&#xff09;》 從學安卓到用安…

uniapp 打包成安卓APP預覽base64pdf實現方法

下載PDF.js 問題描述 在uniapp中預覽base64的PDF&#xff0c;可以使用web-view組件嵌入一個PDF.js的實例。以下是一個簡單的示例&#xff1a; 解決方案&#xff1a; 1.在頁面的.vue文件中添加web-view組件&#xff1a; <template><view style"width: 50%;&qu…

【機器學習】支持向量機與主成分分析在機器學習中的應用

文章目錄 一、支持向量機概述什么是支持向量機&#xff1f;超平面和支持向量大邊距直覺 二、數據預處理與可視化數據集的基本信息導入必要的庫加載數據集數據概況數據可視化特征對的散點圖矩陣類別分布條形圖平均面積與平均光滑度的散點圖變量之間的相關性熱圖 三、模型訓練&am…

JS【詳解】類 class ( ES6 新增語法 )

本質上&#xff0c;類只是一種特殊的函數。 console.log(typeof 某類); //"function"聲明類 class 方式 1 – 類聲明 class Car {constructor(model, year) {this.model model;this.year year;} }方式 2 – 類表達式 匿名式 const Car class {constructor(mod…

在conda的環境中安裝Jupyter及其他軟件包

Pytorch版本、安裝和檢驗 大多數軟件包都是隨Anaconda安裝的&#xff0c;也可以根據需要手動安裝一些其他軟件包。 目錄 創建虛擬環境 進入虛擬環境 安裝Jupyter notebook 安裝matplotlib 安裝 pandas 創建虛擬環境 基于conda包的環境創建、激活、管理與刪除http://t.cs…

podman 替代 docker ? centos Stream 10 已經棄用docker,開始用podman了!

&#x1f468;?&#x1f393;博主簡介 &#x1f3c5;CSDN博客專家 ??&#x1f3c5;云計算領域優質創作者 ??&#x1f3c5;華為云開發者社區專家博主 ??&#x1f3c5;阿里云開發者社區專家博主 &#x1f48a;交流社區&#xff1a;運維交流社區 歡迎大家的加入&#xff01…

淺談React

forwardRef和useImperativeHandle的聯動使用 import React, { useImperativeHandle, useRef } from "react" import { forwardRef } from "react"const CustomInput forwardRef((props, ref) > {const inputRef useRef<HTMLInputElement>(null…

Java中鎖的分類、原理、使用場景、注意事項、優缺點等詳解

Java開發中&#xff0c;鎖是保證多線程安全的重要手段。Java提供了多種類型的鎖來滿足不同的同步需求。在這篇文章中&#xff0c;我將為您介紹以下幾種常見的鎖類型&#xff1a; 偏向鎖/輕量級鎖/重量級鎖 偏向鎖&#xff1a;當一個線程獲取一個對象的鎖時&#xff0c;如果發現…

解決MCM功率電源模塊EMC的關鍵

對MCM功率電源而言&#xff0c;由于其工作在幾百kHz的高頻開關狀態&#xff0c;故易成為干擾源。電磁兼容性EMC&#xff08;Electro Magnetic Compatibility&#xff09;&#xff0c;是指設備或系統在其電磁環境中符合要求運行并不對其環境中的任何設備產生無法忍受的電磁干擾的…

react父調用子的方法,子調用父的方法

父調用子的方法 // 子組件 import React, { useRef, useEffect } from react;const ChildComponent ({ childMethodRef }) > {const childMethod useRef(null);useEffect(() > {childMethodRef.current childMethod;}, []);const someMethod () > {console.log(子…

量化交易的實戰操作與心得

量化交易&#xff0c;作為一種基于數學模型和算法執行交易的方法&#xff0c;已經在全球金融市場中取得了廣泛的應用。對于從事量化交易的投資者而言&#xff0c;了解實戰操作的具體細節及相關心得是至關重要的&#xff0c;它可以幫助投資者優化策略&#xff0c;提高交易效率&a…

浪潮天啟防火墻TQ2000遠程配置方法SSL-xxx、L2xx 配置方法

前言 本次設置只針對配置VXX&#xff0c;其他防火墻配置不涉及。建議把防火墻內外網都調通后再進行Vxx配置。 其他配置可參考&#xff1a;浪潮天啟防火墻配置手冊 配置SSLVxx 在外網端口開啟SSLVxx信息 開啟SSLVxx功能 1、勾選 “啟用SSL-Vxx” 2、設置登錄端口號&#xff0…