PAI-Diffusion中文模型全面升级,海量高清艺术大图一键生成

news2024/12/28 20:44:29

作者:段忠杰(终劫)、刘冰雁(伍拾)、汪诚愚(熊兮)、黄俊(临在) 

背景

以Stable Diffusion模型为代表,AI生成内容(AI Generated Content,AIGC)的模型和应用呈现出井喷式的增长趋势。在先前的工作中,阿里云机器学习PAI团队开源了PAI-Diffusion系列模型(看这里),包括一系列通用场景和特定场景的文图生成模型,例如古诗配图、二次元动漫、魔幻现实等。这些模型的Pipeline除了包括标准的Diffusion Model,还集成了PAI团队先前提出的中文CLIP跨模态对齐模型(看这里)使得模型可以生成符合中文文本描述的、各种场景下的高清大图。此外,由于Diffusion模型推理速度比较慢,而且需要耗费较多的硬件资源,我们结合由PAI自主研发的编译优化工具 PAI-Blade,支持对PAI-Diffusion模型的端到端的导出和推理加速,在A10机器下做到了1s内的中文大图生成(看这里)。在本次的工作中,我们对之前的PAI-Diffusion中文模型进行大幅升级,主要的功能扩展包括:

  • 图像生成质量的大幅提升、风格多样化:通过大量对模型预训练数据的处理和过滤,以及训练过程的优化,PAI-Diffusion中文模型生成的图像无论在质量上,还是在风格上都大幅超越先前版本;
  • 丰富的精细化模型微调功能:除了对模型的标准微调,PAI-Diffusion中文模型支持开源社区的各种微调功能,包括LoRA、Textual Inversion、DreamBooth、ControlNet等,支持各类图像生成和编辑的功能;
  • 简单易用的场景化定制方案:除了训练各种通用场景下的中文模型,我们也在垂类场景下做了很多尝试和探索,通过场景化的定制,可以在各种产品中使用这些模型,包括Diffuser API、WebUI等。

在下文中,我们详细介绍PAI-Diffusion中文模型的新功能和新特性。

艺术画廊

在详细介绍PAI-Diffusion中文模型及其功能前,我们首先带大家参观我们的艺术画廊,下面的所有图片都采用PAI-Diffusion中文模型真实生成。

positive prompt: 人工智能,未来派,4k,科幻

negative prompt: 模糊

positive prompt: 魔法药瓶

negative prompt:

positive prompt: 雄鹰展翅,风暴,动漫风格

negative prompt:

positive prompt: 中国风景图 远山、清水、古楼、古船、飞鸟、云雾,光线灿烂,远距离透视,超广角,气势磅礴,色彩逼真

negative prompt: 丑陋,畸形,模糊,画面不连贯,污染,噪声

positive prompt: 带墨镜的猫,黑客,特工,西装

negative prompt:

positive prompt: 海底世界,各种鱼类,海草

negative prompt:

positive prompt: 白瓷的咖啡杯,质地细腻、透光性好,中国传统的瓷器。深蓝色主色调。 高贵、优雅、沉稳

negative prompt: 斑点

positive prompt: 柴犬小狗,机甲,机器人,未来科技

negative prompt:

positive prompt: 白色小狐狸,扁平画风

negative prompt: 斑点,噪点

positive prompt: 参天大树,浮雕,画框

negative prompt:

positive prompt: 东方美女,学妹,少女,精致面容,可爱,长发,古装,汉服,画面精致,完美造型,柔和的色彩,电影感

negative prompt:

positive prompt: 奇妙几何形别墅,悬崖上

negative prompt:

positive prompt: 粉红色羽毛的猫头鹰

negative prompt:

positive prompt: 浮岛,天空,白云,城堡,幻想世界

negative prompt: 油画,模糊,雾蒙蒙

positive prompt: 一个抽烟的美丽女人的画像,梦幻般的色彩,精美细节

negative prompt: 丑陋,畸形,污染,噪声

positive prompt: 一个穿着连帽衫的酷女孩,日蚀背景,精美细节,赛博朋克

negative prompt: 噪声,污染

positive prompt: 火车,雪地,隧道,昏暗灯光,恐怖片

negative prompt: 多个铁轨

positive prompt: 金属盒子,宝箱,神秘,反光,骷髅,草地上

negative prompt:

positive prompt: 镜中花,水中月,水彩画,大量笔墨

negative prompt:

positive prompt: 阳光,彩虹,小白马

negative prompt:

positive prompt: 中国剪纸画,雪山,白云,落日

negative prompt:

positive prompt: 日落时分城市的鸟瞰图,日蚀行星建构主义风格

negative prompt: 噪点,扭曲

positive prompt: 山水画,流畅的线条,优美的山水图案

negative prompt: 斑点

positive prompt: 亭台楼阁,曲径通幽,水墨绘画,中国风

negative prompt: 油画,彩色

positive prompt: 洋葱头小精灵,可爱,童话

negative prompt:

positive prompt: 一只小猪在夕阳下奔跑,童话绘本

negative prompt:

positive prompt: 一个戴着眼镜的女孩 ,精致的五官,白皮肤,赛博朋克场景,全身照片

negative prompt:

positive prompt: 一个在上学路上的女孩,宫崎骏的绘画风格,清晰

negative prompt: 摄影,写实,模糊

positive prompt: 向日葵花海,最高的质量,8K,超精细刻画

negative prompt:

positive prompt: 落日风景油画,朦胧美

negative prompt: 画框,画笔

positive prompt: 生肖兔,武侠风,仙气,紫砂盔甲配剑,细节,特写

negative prompt:

positive prompt: 盛世莲花,传说,荷塘,发光,柔和光线,CG感

negative prompt: 斑点

positive prompt: 陶瓷大花瓶,牡丹花

negative prompt:

positive prompt: 童话绘本,蘑菇,树林,低饱和度氛围,可爱,萌萌哒

negative prompt:

positive prompt: 未来战士,机械装甲,光剑,红眼,科幻

negative prompt: 景深,模糊

positive prompt: 蝴蝶,对称美感,数字艺术

negative prompt:

PAI-Diffusion ModelZoo

我们利用海量中文图文对数据,训练了多个Diffusion中文模型,参数量均在10亿左右。本次我们开源了如下两个模型。概述如下所示:

模型名

使用场景

pai-diffusion-artist-large-zh

中文文图生成艺术模型,默认支持生成图像分辨率为512*512

pai-diffusion-artist-xlarge-zh

中文文图生成艺术模型(更大分辨率),默认支持生成图像分辨率为768*768

为了提升模型输出图像的质量,在最大限度内避免出现不合规或低质量内容,我们搜集海量开源的图文对数据集,包括大规模中文跨模态预训练数据集WuKong、大规模多语言多模态数据集LAION-5B等。我们针对图像和文本进行了多种清洗方式,筛选掉违规和低质量数据。具体的数据处理方式包括NSFW(Not Safe From Work)数据过滤、水印数据去除,以及使用CLIP分数和美观值分数评分,选出最合适的预训练数据子集进行训练。与英文开源社区的Diffusion模型不同,我们的CLIP Text Encoder采用EasyNLP自研的中文CLIP模型(GitHub - alibaba/EasyNLP: EasyNLP: A Comprehensive and Easy-to-use NLP Toolkit),并且在Diffusion训练过程中冻结其参数,使得模型对中文语义的建模更加精确。值得注意的是,上表的图像分辨率指训练过程中的图像分辨率,在模型推理阶段可以设置不同的分辨率。

PAI-Diffusion模型特性

为了更加便于广大用户使用PAI-Diffusion模型,我们从如下几个方面详细介绍PAI-Diffusion模型的特性。

丰富多样的模型微调方法

PAI-Diffusion模型和社区Stable Diffusion等模型的参数量一般在十亿左右。这些模型的全量参数微调往往需要消耗大量计算资源。除了标准的模型微调,PAI-Diffusion模型支持多种轻量化微调算法,支持用户在计算量尽可能少的情况下,实现模型的特定领域、特定场景的微调。以下,我们也给出两个轻量化微调的示例。

使用LoRA进行模型轻量化微调

PAI-Diffusion模型可以使用LoRA(Low-Rank Adaptation)算法进行轻量化微调,大幅降低计算量。调用开源脚本train_text_to_image_lora.py,我们同样可以实现PAI-Diffusion中文模型的轻量化微调。训练命令示例如下:

export MODEL_NAME="model_name"
export TRAIN_DIR="path_to_your_dataset"
export OUTPUT_DIR="path_to_save_model"

accelerate launch train_text_to_image_lora.py \
  --pretrained_model_name_or_path=$MODEL_NAME \
  --train_data_dir=$TRAIN_DIR \
  --resolution=512 --center_crop --random_flip \
  --train_batch_size=1 \
  --gradient_accumulation_steps=4 \
  --max_train_steps=15000 \
  --learning_rate=1e-04 \
  --max_grad_norm=1 \
  --lr_scheduler="cosine" --lr_warmup_steps=0 \
  --output_dir=$OUTPUT_DIR

其中,MODEL_NAME是用于微调的PAI-Diffusion模型名称或路径,TRAIN_DIR是训练集的本地路径,OUTPUT_DIR为模型保存的本地路径(只包含LoRA微调参数部分)。当模型LoRA轻量化微调完毕之后可以使用如下示例代码进行文图生成:

from diffusers import StableDiffusionPipeline

model_id = "model_name"
lora_path = "model_path/checkpoint-xxx/pytorch_model.bin"
pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe.unet.load_attn_procs(torch.load(lora_path))
pipe.to("cuda")
image = pipe("input text").images[0]  
image.save("result.png")

其中,model_path即为微调后的模型保存的本地路径(只包含LoRA微调参数部分),即前一步骤的OUTPUT_DIR;model_id为原始的没有经过LoRA微调的模型。

使用Textual Inversion进行模型定制化轻量微调

由于PAI-Diffusion模型一般用于生成各种通用场景下的图像,Textual Inversion是一种定制化轻量微调技术,使模型生成原来模型没有学会的、新的概念相关图像。PAI-Diffusion模型可以使用Textual Inversion算法进行轻量化微调。同样地,我们可以运行脚本textual_inversion.py,训练命令示例如下:

export MODEL_NAME="model_name"
export TRAIN_DIR="path_to_your_dataset"
export OUTPUT_DIR="path_to_save_model"

accelerate launch textual_inversion.py \
  --pretrained_model_name_or_path=$MODEL_NAME \
  --train_data_dir=$TRAIN_DIR \
  --learnable_property="object" \
  --placeholder_token="<小奶猫>" --initializer_token="猫" \
  --resolution=512 \
  --train_batch_size=1 \
  --gradient_accumulation_steps=4 \
  --max_train_steps=100 \
  --learning_rate=5.0e-04 --scale_lr \
  --lr_scheduler="constant" \
  --lr_warmup_steps=0 \
  --output_dir=$OUTPUT_DIR

其中,MODEL_NAME是用于微调的PAI-Diffusion模型名称,TRAIN_DIR是前述训练集的本地路径,OUTPUT_DIR为模型保存的本地路径。其中placeholder_token是与新的概念相关的文本,initializer_token是与新的概念密切相关的字(用于初始化新的概念对应的参数),这里我们以小奶猫为例。当模型轻量化微调完毕之后可以使用如下示例代码进行文图生成:

from diffusers import StableDiffusionPipeline

model_path = "path_to_save_model"
pipe = StableDiffusionPipeline.from_pretrained(model_path).to("cuda")
image = pipe("input text").images[0]  
image.save("result.png")

其中,model_path即为微调后的模型保存的本地路径,即前一步骤的OUTPUT_DIR。注意在使用微调后的模型生成包含新的概念的图像时,文本中新的概念用步骤二中的placeholder_token表示,例如:

输入文本:一只<小奶猫>在草地上

输入文本:一只<小奶猫>在沙发上

输出图像

输出图像

可控的图像编辑功能

AIGC系列模型的潜在风险在于容易生成不可控的、带有违法信息的内容,影响了这些模型在下游业务场景中的应用。PAI-Diffusion中文模型支持多种可控的图像编辑功能,允许用户对生成的图像内容作出限制,从而使得结果更加可用。PAI-Diffusion中文模型对StableDiffusionImg2ImgPipeline做到完全兼容,这一文本引导的图像编辑Pipeline允许模型在给定输入文本和图像的基础上,生成相关的图像,示例脚本如下:

from diffusers import StableDiffusionImg2ImgPipeline

pipe = StableDiffusionImg2ImgPipeline.from_pretrained("model_name").to("cuda")
image = pipe(prompt="input text", image=init_image, strength=0.75, guidance_scale=7.5).images[0]
image.save("result.png")

以下给出一个输入输出的示例:

输入文本:雪地里的两只企鹅

输入图像

输出图像

场景定制化的功能支持

除了用于生成艺术大图,通过对PAI-Diffusion中文模型进行继续预训练,我们也可以得到高度场景化的中文模型。以下是PAI-Diffusion中文模型在美食数据上继续预训练后生成的结果,可以看出只要拥有高质量的业务数据,可以产出针对不同业务场景的Diffusion模型。这些模型可以进一步与LoRA、ControlNet等技术进行无缝结合,做到与业务更契合、更可控的图像编辑与生成。

菠萝炒饭

韭菜鸡蛋水饺

番茄炒蛋

韩式炸鸡

红烧狮子头

清汤娃娃菜

模型的使用和下载

在开源社区使用PAI-Diffusion中文模型

为了方便开源社区使用这些模型,我们将这两个模型接入了两个知名的开源模型分享社区HuggingFace和ModelScope。以HuggingFace为例,我们可以使用如下代码进行模型推理:

from diffusers import StableDiffusionPipeline

model_id = "alibaba-pai/pai-diffusion-artist-large-zh"
pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe = pipe.to("cuda")

prompt = "雾蒙蒙的日出在湖面上"
image = pipe(prompt).images[0]  
image.save("result.png")

在ModelScope的使用接口示例如下:

from modelscope.pipelines import pipeline
import cv2

p = pipeline('text-to-image-synthesis', 'PAI/pai-diffusion-artist-large-zh', model_revision='v1.0.0')
result = p({'text': '雾蒙蒙的日出在湖面上'})
image = result["output_imgs"][0]
cv2.imwrite("image.png", image)

此外,我们也在EasyNLP算法框架中开设了Diffusion算法专区(链接),提供各种PAI-Diffusio模型的使用脚本和教程。

在PAI-DSW使用PAI-Diffusion中文模型

PAI-DSW(Data Science Workshop)是阿里云机器学习平台PAI开发的云上IDE,面向不同水平的开发者,提供了交互式的编程环境(文档)。在DSW Gallery中,提供了各种Notebook示例,方便用户轻松上手DSW,搭建各种机器学习应用。我们也在DSW Gallery中上架了使用PAI-Diffusion中文模型的Sample Notebook,欢迎大家体验!

免费领取:阿里云机器学习平台PAI为开发者提供免费试用额度,包含DSW、DLC、EAS多款产品。阿里云免费试用 - 阿里云

未来展望

在这一期的工作中,我们对PAI-Diffusion中文模型的效果和功能进行了大幅扩展,使得图像生成质量的大幅提升、风格多样化。同时,我们支持包括LoRA、Textual Inversion等多种精细化模型微调和编辑功能。此外,我们也展示了多种场景化定制方案,方便用户在特定场景下训练和使用自己的Diffusion中文模型。在未来,我们计划进一步扩展各种场景的模型功能。

阿里灵杰回顾

  • 阿里灵杰:阿里云机器学习PAI开源中文NLP算法框架EasyNLP,助力NLP大模型落地
  • 阿里灵杰:预训练知识度量比赛夺冠!阿里云PAI发布知识预训练工具
  • 阿里灵杰:EasyNLP带你玩转CLIP图文检索
  • 阿里灵杰:EasyNLP中文文图生成模型带你秒变艺术家
  • 阿里灵杰:EasyNLP集成K-BERT算法,借助知识图谱实现更优Finetune
  • 阿里灵杰:中文稀疏GPT大模型落地 — 通往低成本&高性能多任务通用自然语言理解的关键里程碑
  • 阿里灵杰:EasyNLP玩转文本摘要(新闻标题)生成
  • 阿里灵杰:跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA
  • 阿里灵杰:EasyNLP带你实现中英文机器阅读理解
  • 阿里灵杰:EasyNLP发布融合语言学和事实知识的中文预训练模型CKBERT
  • 阿里灵杰:当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界
  • 阿里灵杰:PAI-Diffusion模型来了!阿里云机器学习团队带您徜徉中文艺术海洋
  • 阿里灵杰:阿里云PAI-Diffusion功能再升级,全链路支持模型调优,平均推理速度提升75%以上

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙Hi3861问题解决-[OHOS ERROR] clang not found, install it please

一、简介 在使用DevEco进行编译时出现[OHOS ERROR] clang not found, install it please问题&#xff0c;导致编译失败&#xff0c;这里做个问题记录。 二、解决 这种问题其实还是工具链安装不全造成的。 安装gn 这里用的是VSCode DevEco组件&#xff0c;里边包含了gn组件的安…

error while loading shared libraries: libc.so.6 误删除libc.so.6急救办法,

故障原因&#xff1a; 在高版本的环境中编译了一个软件&#xff0c;然而在低版本系统中无法使用&#xff0c;缺少libc.so支持,然而在编译过程中误删除了 libc.so.6的软连接&#xff0c;rm /lib64/libc.so.6 删除后发现系统好多命令都无法使用了&#xff0c;悲催&#xff01…

国际最高级别认可!赛宁网安荣获CMMI5国际认证

​​近日&#xff0c;经国际权威机构评估&#xff0c;南京赛宁信息技术有限公司&#xff08;简称&#xff1a;赛宁网安&#xff09;顺利通过国际软件领域最高级别的CMMI五级&#xff08;简称CMMI5&#xff09;认证。荣获CMMI5证书&#xff0c;标志着赛宁网安在软件研发、软件成…

Axure教程—动态单散点图(中继器)

本文将教大家如何用AXURE制作单散点图 一、效果介绍 如图&#xff1a; 预览地址&#xff1a;https://q79has.axshare.com 下载地址&#xff1a;https://download.csdn.net/download/weixin_43516258/87817717 二、功能介绍 简单填写中继器内容即可生成动态单散点图样式颜色等…

前端微服务无界实践 | 京东云技术团队

一、前言 随着项目的发展&#xff0c;前端SPA应用的规模不断加大、业务代码耦合、编译慢&#xff0c;导致日常的维护难度日益增加。同时前端技术的发展迅猛&#xff0c;导致功能扩展吃力&#xff0c;重构成本高&#xff0c;稳定性低。因此前端微服务应运而生。 前端微服务优势…

【源码篇】基于SSM+EasyUI开发的学生后台管理系统

系统介绍 一个基于SSM的学生管理系统:代码注释详细,逻辑结构清晰,对于初学 SSM 的同学非常具有参考,及学习价值哟! 数据库中默认的管理员身份信息 账户名:admin,密码:admin 用户权限介绍&#xff1a; 管理员:具有所有管理模块的操控权限。学生:仅具有学生信息管理模块的查…

智能AI抢了元宇宙的风头?

前几天&#xff0c;微博突然出现这么一条热搜。 #ChatGPT官方APP登录美国苹果应用商店 这绝对是一条相当火爆的新闻&#xff0c;因为这意味着智能聊天机器人ChatGPT终于有自己的App了。值得一提的是&#xff0c;ChatGPT不仅仅登录了美国苹果应用商店&#xff0c;而且下载量迅…

80个10倍提升Excel技能的ChatGPT提示

你是否厌倦了在使用Excel时感觉像个新手&#xff1f;你是否想将你的技能提升到更高的水平&#xff0c;成为真正的Excel大师&#xff1f;嗯&#xff0c;如果你正在使用ChatGPT&#xff0c;那么成为Excel专家简直易如反掌。 你只需要了解一些最有用的Excel提示&#xff0c;就能在…

打造高效互联网医院系统源码:解读其核心功能及应用

随着互联网的不断普及和发展&#xff0c;互联网医院系统已经成为了现代医疗服务的一个重要组成部分。本文将介绍互联网医院系统的核心功能以及其应用&#xff0c;并提供一些互联网医院系统开发代码。 互联网医院系统是一种基于互联网技术的医疗服务平台&#xff0c;可以通过网…

Springboot +spring security,实现session并发控制及实现原理分析

一.简介 在SpringSecurity中实现会话并发控制&#xff0c;只需要配置一个会话数量就可以了&#xff0c;先介绍下如何配置会话并发控制&#xff0c;然后再。介绍下SpringSecurity 如何实现会话并发控制。 二.创建项目 如何创建一个SpringSecurity项目&#xff0c;前面文章已经…

Hive ---- 函数

Hive ---- 函数 1. 函数简介2. 单行函数1. 算术运算函数2. 数值函数3. 字符串函数4. 日期函数5. 流程控制函数6. 集合函数7. 案例演示 3. 高级聚合函数案例演示 4. 炸裂函数1. 概述2. 案例演示 5. 窗口函数1. 概述2. 常用窗口函数3. 案例演示 6. 自定义函数7. 自定义UDF函数 1.…

Unity - 记一次非正规变体优化带来的兼容性导致部分手机卡死的问题

文章目录 问题但是我咨询过 公司中台TA大佬 - 2023.4.6然后咨询 unity 技术官方 - 2023.4.6再次遇到卡死 - 2023.5.24 解决方法具体华为真机上的 DEBUG 问题 在 2023.4.6 我们的 角色展示界面 就遇到了 华为手机&#xff0c;red mi note 11 的测试手机上的 后 2023.5.24 再次遇…

SSM框架学习之spring

Spring 以下是关于Spring Boot学习的一些文档和资源&#xff0c;希望对你有帮助&#xff1a; Spring Boot官方文档&#xff1a;https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/ Spring Boot中文文档&#xff1a;https://www.springcloud.cc/spring-bo…

Server - 高性能的 PyTorch 训练环境配置 (PyTorch3D 和 FairScale)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/130863537 PyTorch3D 是基于 PyTorch 的 3D 数据深度学习库&#xff0c;提供了高效、模块化和可微分的组件&#xff0c;以简化 3D 深度学…

龙讯旷腾作为首批单位入驻北京昇腾人工智能计算中心

2023中关村论坛系列活动—北京人工智能产业创新发展大会圆满落幕&#xff0c;围绕北京AI产业发展&#xff0c;政产学研用各界大咖汇聚京城&#xff0c;中国科协副主席束为、北京市副市长于英杰、中国工程院院士廖湘科出席大会。会上&#xff0c;北京市门头沟区政府联合中关村发…

Kubernetes基础操作

K8S基础操作 ✨✨✨✨✨✨✨✨✨这个基础操作一切都基于各位把k8s搭建好哦&#xff0c;搭建的时候请一定一定一定&#xff08;很重要&#xff09;&#xff0c;选定一个版本&#xff0c;能避免很多错&#xff0c;然后本章节就给大家介绍了k8s最基础的操作&#xff0c;有一些复杂…

基于GPTP时间同步(时钟同步服务器)技术助力智能驾驶应用

基于GPTP时间同步&#xff08;时钟同步服务器&#xff09;技术助力智能驾驶应用 基于GPTP时间同步&#xff08;时钟同步服务器&#xff09;技术助力智能驾驶应用 智能驾驶区域网关架构并未采用车载以太网总线进行连接&#xff0c;而是采用传统的 CAN 总线、FlexRay 或 MOST 总线…

解决若依出现Error: Cannot find module ‘@/views/xxx‘问题

问题描述&#xff1a; 若依 vue 版菜单点不开&#xff0c;报错&#xff1a;Error: Cannot find module ‘/views/xxx’ 。后台、vue前端启动都没问题。但是左侧菜单点不开&#xff0c;一直在加载中。 原因&#xff1a; 路由懒加载&#xff0c;webpack版本问题&#xff0c;we…

常见淘宝API文档接口使用攻略,一文搞定

探索淘宝数据的奥秘&#xff0c;淘宝是目前国内最大的B2C电商平台之一&#xff0c;每天都会产生海量的数据。借助淘宝API技术文档&#xff0c;我们可以轻松地获取到这些数据&#xff0c;从而为电商运营和数据分析提供有力支持。 1.什么是淘宝API&#xff1f; 淘宝API&#xf…

工作分配问题——算法设计与分析(C实现)

目录 一、问题描述 二、问题分析 三、代码展示 四、结果验证 一、问题描述 问题描述&#xff1a;设有n件工作分配给n个人。将工作i分配给第j个人所需要的费用为Cij。试设计一个算法&#xff0c;为每个人都分配1件不同的工作&#xff0c;并使总费用达到最小值 算法设计&a…