(十三)AI作画、AI绘画、AIGC本地大模型

这篇具有很好参考价值的文章主要介绍了(十三)AI作画、AI绘画、AIGC本地大模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(十三)AI作画、AI绘画、AIGC本地大模型

AI作画近期很火,涌现出了很多AIGC(AI内容生成)的网站、平台,但这些平台都是使用的云上的算力,基本都有使用的各种限制等。

一、本代码自动将大模型下载本地,可以无-限-使-用。但是对硬件的要求较高需要8G显存以上的显卡才能快速出图,用CPU会很慢的。

【同时,针对没有好显卡的网友,也编写了一个调用云上API的版本:
https://pan.baidu.com/s/1s7B1SAWWoNSdbxXYGTlgDQ 提取码:8888

远程API版本软件界面:
(十三)AI作画、AI绘画、AIGC本地大模型
二、本地模型的版本
下面Python的代码是本地版本,模型大概6G大小,首次运行需要在网络较快的电脑运行,下载时间需要半小时。

主代码如下:

#AI绘画工具_
import os, sys, time
import threading
import webbrowser
import configparser as configparser

from PIL import Image, ImageQt

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QWidget,QMessageBox, QFileDialog,QApplication
from PyQt5.QtCore import Qt, QTimer, QSize
from PyQt5.QtGui import QImage, QPixmap, QIcon
from PyQt5.QtCore import QByteArray
# import hashlib
from AI_Drawing_UI_Local import Ui_Ai_Drawing
import torch
from diffusers import StableDiffusionPipeline

my_title = "AI绘画工具"

out_dir = os.path.join(os.path.expanduser("~"), 'Pictures')
out_dir_pic = out_dir
run_flag = 0; Box1_flag = True; Box2_flag = True; Box3_flag = False
filesnums = 1
t0 = time.time()
t1 = time.time()
t2 = time.time()
iii = 0
stop_flag = False
break_flag = False

icanx_path = os.path.join(os.path.expanduser("~"), '.icanx')
if not os.path.exists(icanx_path): os.mkdir(icanx_path)
ini_file = os.path.join(icanx_path,'icanx.ini')
cfg = configparser.ConfigParser()
if not os.path.exists(ini_file):
    file = open(ini_file, 'w')
    file.write("[APPID]\napiKey=\nsecretKey=\nout_path=\n")
    file.close()

    cfg.read(ini_file)
    out_dir = os.path.join(os.path.expanduser("~"), 'Pictures')
    cfg.set('APPID', 'out_path', out_dir)    # 注意键值是用set()方法
    cfg.write(open(ini_file, 'w'))    # 一定要写入才生效

sample = [
    '日照香炉生紫烟,遥看瀑布挂前川,水墨画',
    '亭台楼榭 中国画',
    '杨柳依依 莫奈',
    '牧童遥指杏花村 水墨画',
    '姹紫嫣红 中国画',
    '青山绿水 梵高',
    '雄鹰展翅 中国画',
    '倒影 写意 油画 莫奈',
    '孤舟蓑笠翁 水墨画',
    '万山红遍 中国画',
    '山花烂漫 水彩画',
    '晚来天欲雪,能饮一杯无',
    "星空,未来,科技",
    '山水,松,石,水墨画',
    '日出,海面,4k壁纸,复杂'
]

# def get_md5(src):	#调用云上模型的API使用
#     m = hashlib.md5()
#     m.update(src.encode('UTF-8'))
#     return m.hexdigest()
# def get_stamp():
#     timestamp = int(round(time.time() * 1000))
#     return str(timestamp)

class MainWin(QWidget, Ui_Ai_Drawing):
    def __init__(self):
        super(MainWin, self).__init__()
        self.setupUi(self)
        global run_flag, out_dir
        self.createLayout()
       
        data = QByteArray().fromBase64(ico_data.encode())
        image = QImage()
		#image.loadFromData(data, "my.ico")
        pix = QPixmap.fromImage(image)

        cfg.read(ini_file)
        out_dir = cfg.get('APPID', 'out_path')
        self.txt2.setText(out_dir)
        self.flash_item_str = ""

        self.setWindowIcon(QIcon(pix))
        self.setWindowFlags(Qt.WindowMinimizeButtonHint)
        self.show(); run_flag = 1
        self.total_nums_over = 5
        # def show_error(self,str):
    #     r_button = QMessageBox.question(self, my_title,'\n\n'+str+'\n\n', QMessageBox.Ok)
    def show_error(self, str):
        infoBox = QMessageBox()
        infoBox.setIcon(QMessageBox.Information)
        infoBox.setText(str)
        infoBox.setStandardButtons(QMessageBox.Ok)
        infoBox.button(QMessageBox.Ok).animateClick(10000)  # 10秒自动关闭
        infoBox.exec_()

    def set_False_Btn(self):
        self.outButton.setEnabled(False)
        self.startButton.setEnabled(False);       self.stopButton.setEnabled(True)
        self.quitButton.setEnabled(False)
    def set_True_Btn(self):
        self.outButton.setEnabled(True)
        self.startButton.setEnabled(True);       self.stopButton.setEnabled(False)
        self.quitButton.setEnabled(True)

    def startrun(self):
        global iii, stop_flag, break_flag, t0, t2
        iii = 0
        stop_flag = False
        break_flag = False

        t0 = time.time()
        if not os.path.exists(out_dir): self.show_error('输出目录不存在,请重新选择!'); return

        self.set_False_Btn()
        out_sums = self.spinBox.value()
        prompt = self.lineEdit.text()
        self.set_text_info('【运行信息】 正在初始化AI模型......')

        def run_thread():
            global iii, stop_flag, break_flag, t0 ,t1, t2
            for i in range(out_sums):
                iii += 1
                t1 = time.time()
                if break_flag:
                    self.txt12.setText('【运行信息】 用户终止了正在运行的绘画...')
                    # self.set_True_Btn()
                    break

                torch.backends.cudnn.benchmark = True
                pipe = StableDiffusionPipeline.from_pretrained("IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-v0.1",
                                                               torch_dtype=torch.float16,
                                                               cache_dir='./model').to('cuda')
                image = pipe(prompt, guidance_scale=7.5).images[0]
                time_str = str(time.strftime('%Y%m%d@%H-%M-%S', time.localtime(time.time())))
                file_name = out_dir + '/' + time_str + '.jpg'
                image.save(file_name)

                # image = Image.open("11.jpg")
                # time.sleep(2)

                t2 = time.time()
                runinfo = '【运行信息】 当前绘画耗时:%.3f秒 | 总绘画耗时:%.1f秒 | 绘画个数:%d' % ((t2 - t1), (t2 - t0), i+1)
                self.set_text_info(runinfo)

                image = ImageQt.toqimage(image)
                piximg = QPixmap.fromImage(image.scaled(QSize(256, 256), Qt.IgnoreAspectRatio))
                if i % 3 == 0: self.my_label1.setPixmap(piximg)
                if i % 3 == 1: self.my_label2.setPixmap(piximg)
                if i % 3 == 2: self.my_label3.setPixmap(piximg)

            stop_flag = True

        t = threading.Thread(target=run_thread)
        t.start()

        self.my_timer = QTimer(self)
        self.my_timer.start(500)
        self.my_timer.timeout.connect(self.set_run_over)

    def set_text_info(self, str):
        self.txt12.setText(str)
        self.flash_item_str = str

    def set_run_over(self):
        global t0, t1, t2, iii
        if stop_flag:
            t2 = time.time()
            self.txt12.setText('【运行信息】 绘画完毕!总消耗时间:%d秒' % (t2 - t0))
            self.set_True_Btn()
            self.my_timer.stop()
        else:
            if self.txt12.text() == '【运行信息】':
                self.txt12.setText(self.flash_item_str)
            else:
                self.txt12.setText('【运行信息】')
                # self.txt12.repaint()

    def stoprun(self):
        global break_flag
        r_button = QMessageBox.question(self, my_title,
                                        "\n\n    确定要停止绘画过程吗?\n\n", QMessageBox.Yes | QMessageBox.No)
        if r_button == QMessageBox.Yes: break_flag = True

    def getapikeyBT(self):
        webbrowser.open("https://fengshenbang-lm.com/document")

    def helpWin(self):
        str="\n\n\n【软件设置】首次使用需要点击右上角按钮,此步骤只需操作一次即可;\n" \
            "【绘画提示】输入您想得到的绘画内容、风格等信息,可参考体验示例;\n" + \
            "【测试示例】可以直接下拉选择绘画提示语,用于初学者参考;\n"+\
            "【输出目录】选择绘画文件保存的目录,默认是本机图片目录;\n【查看输出】点击打开输出目录,便于查看绘画结果;\n\n\n"
        QMessageBox.question(self, my_title+"  【帮助信息】", str, QMessageBox.Ok)
    def quitWin(self):
        r_button = QMessageBox.question(self, my_title,
                                        "\n\n退出将终止绘画进程...... \n\n确认退出吗?\n\n", QMessageBox.Yes | QMessageBox.No)
        if r_button == QMessageBox.Yes:
            cfg.read(ini_file)
            cfg.set('APPID', 'out_path', out_dir)  # 注意键值是用set()方法
            cfg.write(open(ini_file, 'w'))  # 一定要写入才生效
            sys.exit()
    def checkresult(self):
        try: os.startfile(out_dir)
        except: pass

    def outButton_fuc(self):
        global out_dir
        out_dir = QFileDialog.getExistingDirectory(self,'选择绘画的输出文件夹', out_dir)
        if out_dir == '':
            self.txt2.setText(out_dir_pic)
            out_dir = out_dir_pic
        else: self.txt2.setText(out_dir)
    def click_comboBox(self, text):
        self.lineEdit.setText(text)

    def createLayout(self):
        self.my_label1.setAlignment(Qt.AlignCenter)
        self.my_label2.setAlignment(Qt.AlignCenter)
        self.my_label3.setAlignment(Qt.AlignCenter)
        # self.sample_lbl.setPixmap(QPixmap("sample.jpg"))
        # self.my_label1.setFixedSize(427, 240); self.my_label2.setFixedSize(427, 240)
        self.my_label1.setToolTip("本区域,显示的是绘画图片缩略图...")
        self.my_label2.setToolTip("本区域,显示的是绘画图片缩略图...")
        self.my_label3.setToolTip("本区域,显示的是绘画图片缩略图...")
        self.txt12.setText('【运行信息】 可以点击帮助按钮,查看使用说明..')
        self.lineEdit.setText(sample[0])
        self.comboBox.addItems(sample)
        self.comboBox.activated[str].connect(self.click_comboBox)

        self.outButton.setToolTip("选择输出文件目录,绘画后的文件将存在此目录...")

        self.outButton.clicked.connect(self.outButton_fuc)

        self.stopButton.setEnabled(False)
        self.startButton.clicked.connect(self.startrun)
        self.stopButton.clicked.connect(self.stoprun)
        self.helpButton.clicked.connect(self.helpWin)
        self.quitButton.clicked.connect(self.quitWin)
        self.check_result.clicked.connect(self.checkresult)

if __name__ == '__main__':
    QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
    app = QtWidgets.QApplication(sys.argv)
    MainWin = MainWin()
    sys.exit(app.exec_())

软件的界面代码如下:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'AI_Drawing_UI_Local.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Ai_Drawing(object):
    def setupUi(self, Ai_Drawing):
        Ai_Drawing.setObjectName("Ai_Drawing")
        Ai_Drawing.setEnabled(True)
        Ai_Drawing.resize(864, 651)
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(12)
        Ai_Drawing.setFont(font)
        Ai_Drawing.setMouseTracking(False)
        self.layoutWidget = QtWidgets.QWidget(Ai_Drawing)
        self.layoutWidget.setGeometry(QtCore.QRect(320, 595, 531, 41))
        self.layoutWidget.setObjectName("layoutWidget")
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout_5.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.startButton = QtWidgets.QPushButton(self.layoutWidget)
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(12)
        self.startButton.setFont(font)
        self.startButton.setObjectName("startButton")
        self.horizontalLayout_5.addWidget(self.startButton)
        self.stopButton = QtWidgets.QPushButton(self.layoutWidget)
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(12)
        self.stopButton.setFont(font)
        self.stopButton.setObjectName("stopButton")
        self.horizontalLayout_5.addWidget(self.stopButton)
        spacerItem = QtWidgets.QSpacerItem(60, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem)
        self.helpButton = QtWidgets.QPushButton(self.layoutWidget)
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(12)
        self.helpButton.setFont(font)
        self.helpButton.setObjectName("helpButton")
        self.horizontalLayout_5.addWidget(self.helpButton)
        self.quitButton = QtWidgets.QPushButton(self.layoutWidget)
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(12)
        self.quitButton.setFont(font)
        self.quitButton.setObjectName("quitButton")
        self.horizontalLayout_5.addWidget(self.quitButton)
        self.groupBox_2 = QtWidgets.QGroupBox(Ai_Drawing)
        self.groupBox_2.setGeometry(QtCore.QRect(10, 20, 841, 281))
        self.groupBox_2.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
        self.groupBox_2.setAlignment(QtCore.Qt.AlignCenter)
        self.groupBox_2.setObjectName("groupBox_2")
        self.my_label1 = QtWidgets.QLabel(self.groupBox_2)
        self.my_label1.setGeometry(QtCore.QRect(10, 20, 256, 256))
        self.my_label1.setObjectName("my_label1")
        self.my_label3 = QtWidgets.QLabel(self.groupBox_2)
        self.my_label3.setGeometry(QtCore.QRect(570, 20, 256, 256))
        self.my_label3.setObjectName("my_label3")
        self.my_label2 = QtWidgets.QLabel(self.groupBox_2)
        self.my_label2.setGeometry(QtCore.QRect(290, 20, 256, 256))
        self.my_label2.setObjectName("my_label2")
        self.groupBox_4 = QtWidgets.QGroupBox(Ai_Drawing)
        self.groupBox_4.setGeometry(QtCore.QRect(10, 330, 841, 141))
        self.groupBox_4.setAlignment(QtCore.Qt.AlignCenter)
        self.groupBox_4.setObjectName("groupBox_4")
        self.outButton = QtWidgets.QPushButton(self.groupBox_4)
        self.outButton.setGeometry(QtCore.QRect(20, 100, 78, 24))
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(12)
        self.outButton.setFont(font)
        self.outButton.setObjectName("outButton")
        self.txt2 = QtWidgets.QLabel(self.groupBox_4)
        self.txt2.setGeometry(QtCore.QRect(110, 102, 771, 20))
        self.txt2.setObjectName("txt2")
        self.check_result = QtWidgets.QPushButton(self.groupBox_4)
        self.check_result.setGeometry(QtCore.QRect(690, 100, 131, 24))
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(12)
        self.check_result.setFont(font)
        self.check_result.setObjectName("check_result")
        self.txt2_2 = QtWidgets.QLabel(self.groupBox_4)
        self.txt2_2.setGeometry(QtCore.QRect(20, 60, 81, 20))
        self.txt2_2.setObjectName("txt2_2")
        self.txt2_3 = QtWidgets.QLabel(self.groupBox_4)
        self.txt2_3.setGeometry(QtCore.QRect(20, 30, 81, 20))
        self.txt2_3.setObjectName("txt2_3")
        self.lineEdit = QtWidgets.QLineEdit(self.groupBox_4)
        self.lineEdit.setGeometry(QtCore.QRect(100, 30, 551, 20))
        self.lineEdit.setObjectName("lineEdit")
        self.comboBox = QtWidgets.QComboBox(self.groupBox_4)
        self.comboBox.setGeometry(QtCore.QRect(100, 60, 551, 22))
        self.comboBox.setObjectName("comboBox")
        self.spinBox = QtWidgets.QSpinBox(self.groupBox_4)
        self.spinBox.setGeometry(QtCore.QRect(770, 30, 51, 22))
        self.spinBox.setMinimum(1)
        self.spinBox.setStepType(QtWidgets.QAbstractSpinBox.DefaultStepType)
        self.spinBox.setProperty("value", 3)
        self.spinBox.setDisplayIntegerBase(10)
        self.spinBox.setObjectName("spinBox")
        self.txt2_4 = QtWidgets.QLabel(self.groupBox_4)
        self.txt2_4.setGeometry(QtCore.QRect(690, 30, 81, 20))
        self.txt2_4.setObjectName("txt2_4")
        self.groupBox_5 = QtWidgets.QGroupBox(Ai_Drawing)
        self.groupBox_5.setGeometry(QtCore.QRect(10, 500, 841, 61))
        self.groupBox_5.setAlignment(QtCore.Qt.AlignCenter)
        self.groupBox_5.setObjectName("groupBox_5")
        self.txt12 = QtWidgets.QLabel(self.groupBox_5)
        self.txt12.setGeometry(QtCore.QRect(20, 25, 861, 21))
        self.txt12.setObjectName("txt12")

        self.retranslateUi(Ai_Drawing)
        QtCore.QMetaObject.connectSlotsByName(Ai_Drawing)

    def retranslateUi(self, Ai_Drawing):
        _translate = QtCore.QCoreApplication.translate
        Ai_Drawing.setWindowTitle(_translate("Ai_Drawing", "iCANX AI绘画工具"))
        self.startButton.setText(_translate("Ai_Drawing", "开始处理"))
        self.stopButton.setText(_translate("Ai_Drawing", "停止处理"))
        self.helpButton.setText(_translate("Ai_Drawing", "帮助"))
        self.quitButton.setText(_translate("Ai_Drawing", "退出"))
        self.groupBox_2.setTitle(_translate("Ai_Drawing", "预览窗口"))
        self.my_label1.setText(_translate("Ai_Drawing", "    【AI绘画缩略图显示区域】"))
        self.my_label3.setText(_translate("Ai_Drawing", "    【AI绘画缩略图显示区域】"))
        self.my_label2.setText(_translate("Ai_Drawing", "    【AI绘画缩略图显示区域】"))
        self.groupBox_4.setTitle(_translate("Ai_Drawing", "文件设置"))
        self.outButton.setText(_translate("Ai_Drawing", "输出目录"))
        self.txt2.setText(_translate("Ai_Drawing", "输出目录"))
        self.check_result.setText(_translate("Ai_Drawing", "查看绘画图片"))
        self.txt2_2.setText(_translate("Ai_Drawing", "体验示例:"))
        self.txt2_3.setText(_translate("Ai_Drawing", "绘画提示:"))
        self.txt2_4.setText(_translate("Ai_Drawing", "输出数量:"))
        self.groupBox_5.setTitle(_translate("Ai_Drawing", "信息统计"))
        self.txt12.setText(_translate("Ai_Drawing", "【运行信息】"))

三、最后
上诉代码没有任何删节,可以直接运行。基本的依赖库还是要自己安装的,看import就知道要安装哪些库了。文章来源地址https://www.toymoban.com/news/detail-514103.html

到了这里,关于(十三)AI作画、AI绘画、AIGC本地大模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AI本地绘画软件(无需联网)+7Glatest模型+10G数据整合包

    今年的AI技术实在太强了......AI对话、AI绘画...后面围绕AI演变出的无数产品正在跃跃欲试,颇有种让人跟不上时代的感觉;如果说ChatGPT是AI对话领域的老大哥,那么Midjourney就是全网最强的AI绘画平台,只要描述得够好,它生成的图像质量绝对能让你惊掉下巴! 但让人比较

    2024年02月12日
    浏览(38)
  • AI作画技术实践第二期|用腾讯云智能图片融合优化AI绘画的效果

    上一篇文章《AI作画技术实践第一期》提到用腾讯云智能能力如何实现简易版的AI画画,发布后受到大量网友关注,也在思考还能不能做出更好的效果。最近发现AI绘画玩法在短视频平台也掀起了一波热潮,结合在网上看到有一些很优秀的AI画画模型,也想尝试在上一篇的基础

    2024年02月09日
    浏览(62)
  • Ai绘画生成软件哪个好用?这款AI作画的二次元太精致了

    Ai绘画生成软件哪个好用呢?今天小编给大家推荐一款AI作画神器,用它生成的二次元真的是超级惊艳,每天每个手机号可以免费生成多张画作。 我们打开数画ai绘画,这是一款国产软件,使用的是自身研发的算法,目前支持(即文本)创本以及语音创作,同时也支持将

    2024年02月11日
    浏览(56)
  • NoveAI本地环境搭建、AI作画

    鉴于按照别人的教程安装过程中遇到各种问题,极其痛苦,所以还是自己也整理总结一份. 所谓扩散算法diffusion是指先将一幅画面逐步加入噪点,一直到整个画面都变成白噪声。记录这个过程,然后逆转过来给AI学习。 AI看到的是什么?一个全是噪点的画面如何一点点变清晰直到

    2024年02月02日
    浏览(41)
  • AI绘画——本地配置webui启动器教程,支持一键启动/修复/更新/模型下载管理+Lora模型推荐

    秋葉aaaki的个人空间_哔哩哔哩_bilibili https://space.bilibili.com/12566101/?spm_id_from=333.999.0.0 感谢 秋葉aaaki大佬の免费开源 目录 1.获取资源整合包 2. 下载并配置webui启动器  3.启动器功能  4.一键启动,开始实战 5.效果演示  露出鸡脚哩  幻想景色加上lora模型xiaorenshu  刘亦菲图生图

    2024年02月03日
    浏览(57)
  • ChatGPT也能作画了,AI绘画 DALL-E 3不一样的乐趣

    关注留言,获取dalle3免费试用资格。 **文成图提示词见评论** DALL-E 3,作为前沿的图像生成技术,已经成功打破时间与空间的界限,将不同时代与文化的艺术风格融为一体。本次,我们将深入探索DALL-E 3所涵盖的18种独特艺术风格,它们不仅是对古典手工艺的深情致敬,也是对

    2024年04月09日
    浏览(53)
  • AIGC-Stable Diffusion Webui-AI作画初体验

    一、项目地址 :传送门:github:stable-diffusion-webui 二、安装方式 :本地安装 or Google Colab.(下文介绍中关于安装的部分均以本地安装为例) 本地安装 : 1、git 2、python(推荐3.10.8) 3、下载git仓库代码 4、配置:python及git路径 5、启动:(windows) (第一次启动会很慢,会下载安装很多文

    2024年02月13日
    浏览(47)
  • 以AI作画,祝她节日快乐;简单三步,OpenVINO™ 助你轻松体验AIGC

    近期,ChatGPT的爆火,引起了大众对于AIGC(AI Generate Content AI生成内容)的广泛关注。作为技术领域的又一热点话题——AIGC距离大众使用似乎还存在一定距离? 等风来不如追风去。随着第113个“三·八”国际妇女节于春日中悄然来临,OpenVINO™ 特推出“以AI作画,祝她节日快乐

    2024年02月08日
    浏览(40)
  • 百度最强中文AI作画大模型

    最近文生图领域的发展可谓是分生水起,这主要是得益于最近大火的扩散模型,之前笔者也写过一篇关于文本生产3D模型的文章,大家感兴趣的可以穿梭: https://zhuanlan.zhihu.com/p/570332906 今天要给大家介绍的这一篇paper是百度最新的文生图佳作:ERNIE-ViLG 2.0,其在diffusion的model基

    2024年02月15日
    浏览(33)
  • AI 作画:Stable Diffusion 模型原理与实践

    本文首先简单介绍 Stable Diffusion 模型结构 Latent Diffusion 的论文和博客,然后介绍模型的训练和推理技术细节(不含数学推导),接着介绍几个 prompt 搜索引擎等实用工具,最后简单介绍 AI 作画(图像生成)的发展史,并测试了 Stable Diffusion 不同风格和 prompt 的生成样例。 Mod

    2024年02月10日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包