Hugging Face功能介绍,及在线体验文生图模型Flux

Hugging Face简介

对于非机器学习或深度学习领域的人士来说,Hugging Face这个名字可能并不耳熟。然而,随着近年来大模型的迅速崛起,相信大家或多或少都有所接触。如果你对这一领域感兴趣,并在GitHub上查阅过一些开源资料,那么你一定会频繁地看到Hugging Face的身影。例如,在DeepSeek-V3的GitHub项目中,下载的栏目就出现了Hugging Face链接。

正如Hugging Face的名字所寓意的那样(意为“拥抱的脸”),其标志设计同样别具一格,极具辨识度。🤗

那么,Hugging Face Hub 究竟是何方神圣呢?

Hugging Face Hub 是一个庞大的平台,汇聚了超过 90 万个模型、20 万个数据集以及 30 万个演示应用程序(Spaces)。这些资源全部开源,并在在线平台上公开共享,使人们能够轻松协作,共同推动机器学习的发展。Hub 作为一个核心枢纽,为所有人提供了一个探索、实验、协作并利用机器学习技术构建创新的空间。

简而言之,Hugging Face 堪称 AI 领域的 GitHub,是一个开源的机器学习社区与平台。你可以将其想象成一个巨大的 AI 模型商店,里面陈列着琳琅满目的现成 AI 模型,从翻译助手到图像生成器,无所不包!

打开Hugging Face的官网,非常简洁,右侧列举的几个比较热门的模型。

Hugging Face平台上主要包含以下类型的资源:

  • 模型 (Models):Hugging Face托管了大量的开源机器学习模型,这些模型适用于各种任务,包括自然语言处理 (NLP)、计算机视觉和音频。这些模型不仅包括预训练的模型,也包括经过微调的模型。用户可以浏览、下载并使用这些模型,并且可以直接在浏览器中使用模型进行推理。

  • 数据集 (Datasets):该平台托管了超过 20 万个数据集,涵盖了各种领域和模式。这些数据集可用于各种任务,包括 NLP、计算机视觉和音频。用户可以轻松地查找、下载和上传数据集,并且可以直接在浏览器中浏览数据集的内容。

  • Spaces (应用程序演示):Spaces 提供了一种简单的方式来托管机器学习演示应用程序。用户可以使用 Gradio 和 Streamlit 等 Python SDK 构建交互式应用程序,并将其托管在 Spaces 上。
    • 用户可以创建自己的 ML 作品集,展示项目并与其他人协作。
    • Spaces 还支持用户创建静态 Spaces,使用简单的 HTML/CSS/JavaScript 页面。

尝试一下热度榜一的Kokoro TTS,选择中文,输入一段文字,点击生成按钮,读音非常清晰,推荐大家尝试一下。

audio.wav

代码体验Flux文生图模型

模型界面也提供了在线体验的代码,以当下非常火的文生图模型Flux为例,进入模型主页,点击“View Code”

需要关注的就是“Copy”按钮和“Manage tokens”,将代码复制下来,另外需要创建一个Token替换掉其中的xxxx才能使用。

from huggingface_hub import InferenceClient
client = InferenceClient("black-forest-labs/FLUX.1-dev", token="hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")

# output is a PIL.Image object
image = client.text_to_image("Astronaut riding a horse")

点击“Manage tokens”后需要登录,点击“Create new Token”

点击“Write”,写一个名称,最好使用英文名称,中文我没有尝试,并不保证一定可行。

复制你创建的Token,然后点击“Done”即可。(此Token作为演示使用,发布文章时已删除,请自行创建Token

为了更直观地使用,我使用Gradio封装了一层,有一个web ui启动界面,代码如下。(程序中的Token作为演示使用,发布文章时已删除,请自行创建Token并替换

from huggingface_hub import InferenceClient
import gradio as gr

# 创建全局的client实例,避免重复创建
client = InferenceClient(
    "black-forest-labs/FLUX.1-dev", 
    token="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"
)

def generate_image(prompt, width, height, progress=gr.Progress()):
    """
    使用Flux生成图像的函数
    """
    try:
        # 检查提示词是否为空
        if not prompt.strip():
            raise ValueError("提示词不能为空!")
            
        progress(0.3, desc="正在连接服务器...")
        progress(0.6, desc="正在生成图像...")
        image = client.text_to_image(prompt, width=width, height=height)
        progress(1.0, desc="生成完成!")
        return image
        
    except Exception as e:
        # 返回错误信息
        raise gr.Error(f"生成图像时出错:{str(e)}")

# 创建Gradio界面
demo = gr.Interface(
    fn=generate_image,
    inputs=[
        gr.Textbox(label="输入你的提示词", placeholder="例如:a beautiful girl"),
        gr.Slider(minimum=256, maximum=1024, value=512, step=64, label="图像宽度"),
        gr.Slider(minimum=256, maximum=1024, value=512, step=64, label="图像高度"),
    ],
    outputs=gr.Image(label="生成的图像"),
    title="Flux AI 文生图",
    description="使用Flux AI模型生成图像",
    examples=[
        ["A cute cat", 512, 512],
        ["Beach view at sunset", 768, 512],
        ["Futuristic city streets", 512, 768]
    ]
)

if __name__ == "__main__":
    demo.launch()

界面和测试效果如下,可以更改图像长度、宽度,提示词方面我提供了三组示例。(因为此项目太过火热,能不能生成成功还要看脸)

下期我将写一篇文章讲讲如何本地部署Flux(已经测试成功了,感叹该模型的精细程度,尤其AI绘图经常翻车的手部,目前未整理文章),感兴趣的朋友们点个赞鼓励一下吧。

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

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

相关文章

华为ENSP:STP和链路聚合的管理与配置

这里将不再过度阐述STP和链路聚合的理论知识,不清楚的同学可以去观看Cisco文章中的理论知识 理论知识https://blog.csdn.net/2301_76341691/article/details/145166547?fromshareblogdetail&sharetypeblogdetail&sharerId145166547&sharereferPC&…

Asp.Net Core 8.0 使用 Serilog 按日志级别写入日志文件的两种方式

1、所需的Nuget包 本文项目的版本是.NET 8.0,如果使用其它版本安装适配版本即可。 Serilog.AspNetCore(8.0.2) Serilog.Sinks.File(5.0.0) Serilog.Expressions(5.0.0) 2、两种配置方式 2.1 代码形式(Program.cs) 在Program.cs文件中&am…

基于ESP32+VUE+JAVA+Ngnix的一个小型固件编译系统

一、前提 开发ESP32固件时,使用本地环境输出固件时,存在多个开发多种开发平台的问题。会导致最终输出的固件不统一。更可能因为本地的开发环境差异导致固件无法追溯。 基于上述原因,开发了一个小型的固件编译系统。将该系统部署在一台ubutn…

自然语言处理——自注意力机制

一、文字表示方法 在自然语言处理中,如何用数据表示文字是基础问题。独热编码(One-hot Encoding )是一种简单的方法,例如对于 “我”“你”“他”“猫”“狗” 等字,会将其编码为如 “我 [1 0 0 0 0 ……]”“你 [0 …

[JavaScript] 运算符详解

文章目录 算术运算符(Arithmetic Operators)注意事项: 比较运算符(Comparison Operators)注意事项: 逻辑运算符(Logical Operators)短路运算:逻辑运算符的返回值&#xf…

《汽车维护与修理》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答: 问:《汽车维护与修理》是不是核心期刊? 答:不是,是知网收录的正规学术期刊。 问:《汽车维护与修理》级别? 答:国家级。主管单位:中国汽车维修行业协会 …

VUE学习笔记(入门)17__小黑记事本综合案例

目录结构 记得引入css样式 css代码 /* 清除浏览器的默认内外间距 */ html, body {margin: 0;padding: 0; } body {background: #fff; } button {margin: 0;padding: 0;border: 0;background: none;font-size: 100%;vertical-align: baseline;font-family: inherit;font-weig…

React的应用级框架推荐——Next、Modern、Blitz等,快速搭建React项目

在 React 企业级应用开发中,Next.js、Modern.js 和 Blitz 是三个常见的框架,它们提供了不同的特性和功能,旨在简化开发流程并提高应用的性能和扩展性。以下是它们的详解与比较: Next、Modern、Blitz 1. Next.js Next.js 是由 Ve…

【React】插槽渲染机制

目录 通过 children 属性结合条件渲染通过 children 和 slot 属性实现具名插槽通过 props 实现具名插槽 在 React 中,并没有直接类似于 Vue 中的“插槽”机制(slot)。但是,React 可以通过 props和 children 来实现类似插槽的功能…

常见IQ测试题:把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是( )。​​​​​​​

[单选题] 把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是( )。 A A ①②③,④⑤⑥ B B ①⑤⑥,②③④ C C ①②④,③⑤⑥ (正确答案&#xff0…

项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(七)

文章目录 一、题库管理模块实现1、新增题目功能实现1.1 页面设计1.2 前端功能实现1.3 后端功能实现1.4 效果展示2、题目列表功能实现2.1 页面设计2.2 前端功能实现2.3 后端功能实现2.3.1 后端查询题目列表接口实现2.3.2 后端编辑试题接口实现2.4 效果展示二、代码下载一、题库管…

opentelemetry-collector docker安装

一、编写配置 nano /root/otelcol-config.yamlreceivers:otlp:protocols:grpc:endpoint: 0.0.0.0:4317http:endpoint: 0.0.0.0:4318 exporters:debug:verbosity: detailed service:pipelines:traces:receivers: [otlp]exporters: [debug]metrics:receivers: [otlp]exporters: …

xiao esp32 S3播放SD卡wav音频

本文旨在使用xiao esp32 S3 播放SD卡上的音频文件 1 硬件准备 SD卡 2 代码实现 2.1 依赖库 ESP32-audioI2S-master 2.2 代码 #include "Arduino.h" #include "Audio.h" #include "SD.h"// Digital I/O used #define I2S_DOUT 6 #defi…

要获取本地的公网 IP 地址(curl ifconfig.me)

文章目录 通过命令行查询(适用于 Linux/Mac/Windows)Linux/MacWindows 注意事项 要获取本地的公网 IP 地址,可以通过以下简单的方法: 通过命令行查询(适用于 Linux/Mac/Windows) Linux/Mac 打开终端。输入…

金融项目实战 07|Python实现接口自动化——连接数据库和数据清洗、测试报告、持续集成

目录 一、投资模块(投资接口投资业务) 二、连接数据库封装 和 清洗数据 1、连接数据库 2、数据清洗 4、调用 三、批量执行测试用例 并 生成测试报告 四、持续集成 1、代码上传gitee 2、Jenkin持续集成 一、投资模块(投资接口投资业务…

Zemax 中的二向色分束器和荧光波偏移

二向色分光镜是一种专用光学元件,用于根据光的波长将一束光分成两束独立的光。“二向色”是指该元件根据光的波长选择性地透射或反射光的性质。 在大多数情况下,二向色分束器由一种对不同波长的光具有不同折射率的材料制成。分束器的表面涂有一层薄膜&a…

一文大白话讲清楚webpack基本使用——2——css相关loader的配置和使用

一文大白话讲清楚webpack基本使用——2——css相关loader的配置和使用 1. 建议按文章顺序从头看是看 第一篇:一文大白话讲清楚啥是个webpack第二篇:一文大白话讲清楚webpack基本使用——1——完成webpack的初步构建然后看本篇,Loader的配置…

微信消息群发(定时群发)-UI自动化产品(基于.Net平台+C#)

整理 | 小耕家的喵大仙 出品 | CSDN(ID:lichao19897314) 关联源码及工具下载https://download.csdn.net/download/lichao19897314/90096681https://download.csdn.net/download/lichao19897314/90096681https://download.csdn.net/download/…

游戏引擎学习第81天

仓库:https://gitee.com/mrxiao_com/2d_game_2 或许我们应该尝试在地面上添加一些绘图 在这段时间的工作中,讨论了如何改进地面渲染的问题。虽然之前并没有专注于渲染部分,因为当时主要的工作重心不在这里,但在实现过程中,发现地…

Ubuntu 24.04 LTS 通过 docker desktop 安装 seafile 搭建个人网盘

准备 Ubuntu 24.04 LTSUbuntu 空闲硬盘挂载Ubuntu 安装 Docker Desktop [我的Ubuntu服务器折腾集](https://blog.csdn.net/jh1513/article/details/145222679。 安装 seafile 参考资料 Docker安装 Seafile OnlyOffice 并配置OnlyOffice到Seafile,实现在线编辑…