惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
S
Security @ Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
人人都是产品经理
人人都是产品经理
The Hacker News
The Hacker News
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
博客园 - 司徒正美
雷峰网
雷峰网
L
LINUX DO - 最新话题
博客园 - 叶小钗
云风的 BLOG
云风的 BLOG
The Last Watchdog
The Last Watchdog
V2EX - 技术
V2EX - 技术
S
Security Affairs
有赞技术团队
有赞技术团队
月光博客
月光博客
T
Threatpost
T
Tor Project blog
O
OpenAI News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V
V2EX
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
博客园 - 三生石上(FineUI控件)
D
Docker
AWS News Blog
AWS News Blog
AI
AI
P
Proofpoint News Feed
K
Kaspersky official blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
www.infosecurity-magazine.com
www.infosecurity-magazine.com
S
Securelist
F
Fortinet All Blogs
F
Full Disclosure
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
量子位
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Palo Alto Networks Blog
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
美团技术团队
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
AIGC初学者:Stable Diffusion高效实操指南
Ewvue · 2023-07-24 · via 人人都是产品经理

Stable Diffusion是一款生成高质量图像的工具,生成的图像还很逼真。本文作者对这款软件的使用方法及功能进行了详细地介绍,希望能帮助到你的工作。

Stable Diffusion是一个文本到图像的潜在扩散模型,这个数据库拥有从互联网上抓取的 58 亿「图像-文本」数据,它可以生成包括人脸在内的任何图像,这些图像可以是逼真的,如相机拍摄的图像,也可以是艺术风格,就像由专业艺术家制作一样。

它有两个优势:

  1. 开源:许多爱好者已经创建了免费的工具和模型
  2. 专为低功耗计算机设计:运行免费或便宜

因为有开源的预训练模型,所以我们可以在自己部署机器上运行它。

一、界面部分

可以在顶部切换大模型checkpoint(可以在https://huggingface.co/下载尝试)

  • Inkpunk-Diffusion-v2(偏赛博朋克 关键词是nvinkpunk)
  • openjourney-v2/mdjrny-v4(中规中矩)
  • Protogen_V2.2/deliberate_v2.safetensors (偏人像写实)
  • woolitize768(偏超现实)
  • chilloutmix_NiPrunedFp16Fix.safetensors(偏绘画)
  • anything-v3-fp16-pruned(偏动漫)

1. Prompt 和 Negative prompt

Prompt内输入的东西就是你所构思的场景,Negative prompt 内输入的就是你不希望在图中包含的。两个输入口只能输入英文半角,词语之间使用半角逗号隔开;一般越靠前权重越高(还是得多试)。

Negative Prompt(仅供参考):

cloned face, ugly, cross-eye,3d,render,realistic,((disfigured)), ((bad art)), ((extra limbs)),blurry, (((duplicate))), ((mutilated)),extra fingers, mutated hands, ((poorly drawn hands)), ((ugly)), ((bad anatomy)), (((bad proportions))), extra limbs, gross proportions, (malformed limbs), ((missing arms)), (((extra arms))),(fused fingers), (too many fingers), (((long neck))), tiling, (((nsfw))), (badhands)

(nsfw),EasyNegative,.badhandv4,ng_deepnegative_v1_75t,(worst quality:2),(lowquality:2),(normal quality:2),lowres,((monochrome)),((grayscale)),bad anatomy,DeepNegative,skin spots,acnes,skin blemishes,(fat:1.2),facing away,looking away,tilted head,lowres,bad anatomy,bad hands,missing fingers,extra digit,fewer digits,bad feet,poorly drawn hands,poorly drawn face,mutation,deformed,extra fingers,extra limbs,extra arms,extra legs,malformed limbs,fused fingers,too many fingers,long neck,cross-eyed,mutated hands,polar lowres,bad body,bad proportions,gross proportions,missing arms,missing legs,extra digit,extra arms,extra leg,extra foot,teethcroppe,signature,watermark,username,blurry,cropped,jpeg artifacts,text,error,Lower body exposureads, multiple people, group of people, fingers

结构建议:内容描述+风格描述+属性描述

内容描述:主题内容

风格描述:艺术家/画笔/摄影风格等 (可以参考以下个人比较常用的链接)

属性描述:比如Midjourney或者人像相关的lora模型(可以参考网站

eg:字符分隔多个提示,则有四种可能的组合(始终保留提示的第一部分)

小Tips:

生成高质量图像的快捷方式是反复尝试调节现有描述。灵感收集可以从C站或者Midjourney热图,选择您喜欢的图像,然后学习不同作者的描述特点/方法论。

在寻找灵感收集人像Prompt时需可以注意Lora模型以及对应的Base Model,lora权重一般0.6-0.8(冒号后边)。

eg:<dalcefo, realistic, chromatic aberration, cinematic light, finely detailed face)>, portrait, Best quality, masterpiece, full body, brilliant colors, a girl, strapless white dress, sky, complex background, flying, white butterfly wings, long black hair, looking down, looking into the camera, lake, reflection, flying birds, delicate face, <lora:dalcefoNocopyV2_dalcefoNocopyV2:1>

Emoji、颜文字 Emoji (💰👨👩🎅👼🍟🍕) 表情符号也是可以使用并且非常准确的。因为 Emoji 只有一个字符,所以在语义准确度上表现良好。关于 emoji 的确切含义,可以参考Emoji List, v15.0 (unicode.org),同时 Emoji 在构图上有影响。

关于c站lora下载导入SD

可以在C站下载插件:

https://civitai.com/images/359273?modelVersionId=31558&prioritizedUserIds=169238&period=AllTime&sort=Most+Reactions&limit=20

找到对应需求的lora链接

链接复制到Civitai这个tab中URL,点击获取

各个选项获取信息之后,填写下载的位置,目前/是根目录

点击下载即可,后续在生成按钮下方的红色选项卡选择已下载的lora

2. 权重调节

(best quality:1.3) 可以对关键词设置权重,一般权重设置在0.5~2之间。

eg:(8k, best quality, masterpiece:1.2),(best quality:1.0), (ultra highres:1.0),extremely luminous bright design, pastel colors, (ink:1.3), autumn lights, High Detail, Sharp focus, dramatic, photorealistic painting art by midjourney and greg rutkowski

使用括号人工修改提示词的权重,方法如下(请注意,权重值最好不要超过 1.5):

  • (word) – 将权重提高 1.1 倍
  • ((word)) – 将权重提高 1.21 倍(= 1.1 * 1.1)
  • [word] – 将权重降低至原先的 90.91%
  • (word:1.5) – 将权重提高 1.5 倍
  • (word:0.25) – 将权重减少为原先的 25%
  • (word) – 在提示词中使用字面意义上的 () 字符

( n ) = ( n : 1.1 ) (( n )) = ( n : 1.21 ) ((( n ))) = ( n : 1.331 ) (((( n )))) = ( n : 1.4641 ) ((((( n )))) = ( n : 1.61051 ) (((((( n )))))) = ( n : 1.771561 )

3. 采样方式

  • Euler a:速度快的采样方式,随着采样步数增加并不会增加细节(*常用)
  • DPM++ SDE:人像效果OK(*常用)
  • DPM++2S a Karras 和 DPM++ SDE Karras等:相对于Euler a来说,同等分辨率下细节会更多,但是速度更慢

4. 采样步数

保持在20~30之间,较低图片展示不完整,较高细节偏差大(类似锐化)。

5. 生成数量(批量生成)

Batch count:每批生成几张图片

Batch size:显卡一共生成几批图片

生成的图片数量=批次*数量(越多速度越慢,建议加一个Grid功能多图进行拼图)

6. 宽高比例(展示画面内容大小)

方图512*512,倾向于出脸和半身像

高图512*768,倾向于出站着和坐着的全身像

宽图768*512,倾向于出斜构图的半躺像

7. CFG(提示词相关性)

CFG越小细节越少,CFG越高自由度越多(更飞);通常7-12,更丰富可以12-20,写实(也可以是用ControlNet时越接近原图)可以4-7,通过0.5为步微调。

image2image中Denoising strength是添加噪点的强度。也是类似噪点强度越高,AI的创作空间就越大,出图也就和原图越不相似。一般来讲阈值是 0.7 左右,超过 0.7 和原图基本上无关,0.3 以下就是稍微改一些。实际执行中,具体的执行步骤为 Denoising strength * Sampling Steps。

8. Seed(效果参数)

随机写一个参数(*-1是随机效果)可以再次使用该参数生成效果进行微调,也就是同一个Seed生成的图一般是一致的。

二、ControlNet 的使用

可以搭配服用,比如controlnet0用某张图的风格style, congrolnet1要处理的图(比如人像),这样生成的图既保持1的人像,又使用0的风格样式。

1. 小Tips:

controlnet预处理的图的mask分辨率和输出图的分辨率对不上,mask就会留边。

eg:风格预设:clip_vision 对应模型:t2iadapter_style_sd14v1 [202e85cc]

所选的 ControlNet 模型必须与预处理器一致。如图,对于hed应该选择control_hed-fp16 [13fee50b] 作为模型。None使用输入图像作为控制图。

Enable记得勾选应用。

2. Preprocessor&Model

带 hed 一般用于人脸

带softedge-hedsafe相较于hed质量更高更清晰。

最高结果质量:SoftEdge_HED > SoftEdge_PIDI > SoftEdge_HED_safe > SoftEdge_PIDI_safe

考虑到权衡,我们建议默认使用 SoftEdge_PIDI。在大多数情况下,它运行良好。

带Openpose一般用于姿势。

带有 Canny一般用于偏毛发细节。

带 M-LSD一般用于建筑。

带 Scribble、fake_Scribble一般用于涂鸦。

带 Depth一般用于轮廓比如人物(常用)。

带 Normal一般用于物体细节,它是法线贴图图像,会一定程度上保留物体内部的细节,比如衬衫褶皱。

带Lineart一般用于粗略的线条。

带Shuffle一般用于重新组织图像,随机洗牌图像来稳定扩散重构图像。

带Tile一般用于修复模糊图像/补充细节。

3. outpainting

在SD绘图中16:9和9:16比例生成的效果图出现多头,解决方法是:

第一步先1:1比例生成,第二步是outpainting功能实现扩展。

preprocessor: inpaint_only+lama

model: control_v11p_sd15_inpaint_fp16 [be8bc0ed]

resize mode: Resize and Fill

4. inpainting

在controlnet区域放上需要进行局部调整的图片,点击inapint预设,在需要调整的图片上进行涂抹,并在描述区域写上你的预期效果。

左:有缺陷的原始图像。右:面部和手臂通过修复固定

5. 对比了不同产品Inpaint功能

Firefly-Generative fill、Imagine-Inpainting和ModelScope-Inpaint相比,前两者对头发和人物消除的处理更自然。试了一下Stable Diffusion对于衣服替换以及人物消除处理上,文本和图像的实现不理想。

Firefly-Generative fill地址:

https://firefly.adobe.com/generate/inpaint

Imagine-Inpainting地址:

https://play.google.com/store/apps/details?id=com.vyroai.aiart

ModelScope-Inpaint地址:

https://modelscope.cn/models/damo/cv_stable-diffusion-v2_image-inpainting_base/summary

6. Weight(230719)

Control Weight:相对于提示给予控制图的强调程度。它类似于提示中的关键字权重,但适用于控制图。对于二维码、文字相关建议数值调整为0.4-0.65。这里数值越大,图案就会越明显,但相对的,文字和图片的融合度也会越差。可以自己多试,比较复杂的文字为了出效果可以调高点,简单的图案可以调低点。

Ending Control Step这个参数建议0.6-0.75,代表着ControlNet什么时候停止介入,**数值越大后面留给模型处理融合的时间就越少,文字融合度就会变差,**数值越小模型介入过早就会破坏已有的结构导致看不清文字。也得多尝试,跟你图案的复杂程度也有关系。

*文字光效或者将二维码合成在衣服上的图最近火遍即刻,看了歸藏老师的文章,效果图主要是ControlNet的应用,具体可以见微信公众号。

https://mp.weixin.qq.com/s/rvpU4XhToldoec_bABeXJw

7. Resize Mode

在t2t的controlnet模块/i2i模块,有几个选项可以调整图像大小:

  • Just resize 只需调整大小 – 只需将源图像调整为目标分辨率,导致宽高比不正确
  • Crop and resize (*常用)裁剪和调整大小 – 调整源图像保留纵横比的大小,以便整个目标分辨率被它占据,并裁剪突出的部分
  • Resize and fill 调整大小和填充 – 调整源图像保留纵横比的大小,使其完全适合目标分辨率,并按源图像中的行/列填充空白区域

8. Preview another result

查看预处理结果:

三、script小技巧操作

1. Script-X/Y/Z plot(选择自己想要对比的变量)

点击checkpoint-再点击右侧黄色书本选择想要对比的大模型

对比lora权重可以选择Prompt S/R(search/replace)比如我要切换不同同个风格的不同lora

eg:1girl, smile, brown hair, hair ornament, upper body, flower, looking back, hair flower, from behind, lips, illustration Tranquil beach waves and palm trees, Margo Selby, knitted tapestry,(sks),masterpiece, best quality, highly detailed, 8k lora:KnittedPattern-000008:0.68

Prompt S/R – 000008,000009,000010,000011

四、通过Chatgpt提高工作效率

可以这么问:

use Deliberate_deliberate_v2 model, create some prompt to make awesome anime style image

五、最后

很喜欢王建硕老师说的「不要把研究AI新闻当成研究AI」,如果有时间可以从最简单的prompt开始学起,真正在业务中去实践,比如效果图光线太暗、背景太花等,这是「需求驱动」的意义,最终需要磨很多次才能有好的呈现。

毕竟AI对不同词语理解能力是不同的,最重要的是好奇心和持续的练习。

原作者: Joma Tech;原文来自视频:A recap of ChatGPT | tech news - by Joma Tech

本文由 @吴恬煊 翻译发布于人人都是产品经理。未经许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。