lora训练之偷师

自stable diffusion开源之后AIGC绘画方向定制化百花齐放百家争鸣。

而c站 https://civitai.com/

也聚集了全球爱好者的各种微调训练模型分享。

其中以lora为首,应用最广泛。

而这些模型是怎么训练出来的,细节到底是什么样的,没有多少人能说得清楚。

而就博主知道的,

使用最广泛的训练代码是这份 https://github.com/bmaltais/kohya_ss

它流行的原因主要是在其做了个GUI界面,便于很多不懂代码的人也能使用。

这里博主没打算讲解kohya_ss下具体训练方法和其参数。

想知道具体训练参数和细节,可以移步其wiki

https://github.com/bmaltais/kohya_ss/wiki/LoRA-training-parameters

还是不懂,也可以问各种gpt或者直接翻译成中文阅读即可。

现在主流最广泛使用的模型存储格式为 huggingface的safetensors

https://github.com/huggingface/safetensors

kohya_ss里默认会把训练参数填到safetensors的metadata里。

说到这里,lora训练之偷师 答案呼之欲出。

假设我们从c站上把safetensors模型下载下来,

然后读出来它的metadata信息,

那不就能知道这个模型具体的训练参数吗?

而在博主实操读出来好几个主流模型的参数之后,很感慨:

c站上的模型真的很demo,训练的数据集大多都不大,分辨率也不高,有的也就百来张图。

训练参数也可以大概评估出来,每个模型作者的用心程度,

当然也可以作为评价模型的一种标准,

例如:看过了多少张图,什么样的分辨率训练的,训练了多久之类的。

也就对这个微调的模型能有个大概认知。

多看几个模型之后,

新手也可以快速上手训练自己的lora,定制自己的AI女友之类的。

你说你想直接抄他们的参数训练,当然也是可以的,偷师不可耻很光荣。

为了方便读取模型的模型的训练信息,博主写了个小工具。

开源地址为:

https://github.com/cpuimage/st_metadata_parser

使用也非常简单:

python st_metadata_parser.py input_file.safetensors

输出的参数具体含义可以参考:

https://github.com/bmaltais/kohya_ss/wiki/LoRA-training-parameters

附一份C站上某个lora模型文件的训练参数供一览:

复制代码
[('ss_cache_latents', 'True'),
 ('ss_caption_dropout_every_n_epochs', '0'),
 ('ss_caption_dropout_rate', '0.0'),
 ('ss_caption_tag_dropout_rate', '0.0'),
 ('ss_clip_skip', '2'),
 ('ss_dataset_dirs', '{"rapunzel": {"n_repeats": 5, "img_count": 40}}'),
 ('ss_datasets',
  '[{"is_dreambooth": true, "batch_size_per_device": 2, "num_train_images": '
  '200, "num_reg_images": 0, "resolution": [512, 512], "enable_bucket": true, '
  '"min_bucket_reso": 256, "max_bucket_reso": 1024, "tag_frequency": '
  '{"rapunzel": {"rapunzel 1girl": 40, "solo": 39, "long hair": 37, "smile": '
  '26, "blonde hair": 38, "dress": 21, "very long hair": 18, "green eyes": 30, '
  '"crossed arms": 3, "corset": 5, "purple dress": 12, "breasts": 13, "open '
  'mouth": 7, "medium breasts": 5, "nipples": 7, "swimsuit": 2, "bikini": 1, '
  '"tongue": 2, "striped": 1, "lips": 7, "micro bikini": 1, "freckles": 5, '
  '"looking at viewer": 10, "long sleeves": 7, "cleavage": 3, "multiple boys": '
  '1, "puffy sleeves": 7, "2boys": 1, "full body": 4, "absurdly long hair": 2, '
  '"grin": 2, "hand on hip": 3, "juliet sleeves": 1, "blush": 3, "large '
  'breasts": 4, "hair ornament": 5, "standing": 2, "flower": 7, "cowboy shot": '
  '1, "teeth": 5, "indoors": 1, "hair flower": 5, "one-piece swimsuit": 1, '
  '"covered navel": 1, "makeup": 2, "cameltoe": 1, "highleg": 1, "lamp": 1, '
  '"braid": 4, "blurry": 2, "arm up": 1, "depth of field": 1, "blurry '
  'background": 2, "looking up": 3, "bokeh": 1, "upper body": 4, "short '
  'sleeves": 3, "closed eyes": 1, "small breasts": 1, "lying": 3, "signature": '
  '1, "on back": 1, "arms up": 2, "eyelashes": 1, "from above": 1, "happy": 1, '
  '"grass": 1, "cross-laced clothes": 1, "hair spread out": 1, "sitting": 4, '
  '"outdoors": 2, "barefoot": 7, "water": 1, "tree": 2, "pink dress": 1, '
  '"holding flower": 1, "lily pad": 1, "simple background": 5, "white '
  'background": 3, "frog": 4, "black background": 2, "child": 1, "star print": '
  '1, "lantern": 1, "blue eyes": 2, "navel": 5, "underwear": 2, "panties": 2, '
  '"thigh gap": 1, "bound": 2, "bdsm": 2, "bondage": 2, "gag": 1, "gagged": 1, '
  '"improvised gag": 1, "cloth gag": 1, "nude": 5, "tongue out": 1, "saliva": '
  '1, "arms behind back": 1, "seiza": 1, "bound arms": 1, "on head": 1, '
  '"animal on head": 1, "holding hair": 1, "tiara": 1, "crown": 1, "princess": '
  '1, "hands on own head": 1, "mirror": 2, "frying pan": 2, "nature": 1, '
  '"parted lips": 1, "blue background": 1, "shirt": 1, "choker": 2, "huge '
  'breasts": 1, "colored skin": 1, "bursting breasts": 1, "thighhighs": 2, '
  '"jewelry": 1, "thighs": 1, "earrings": 1, "pussy": 3, "spread legs": 2, '
  '"cum": 1, "high heels": 1, "kneeling": 1, "uncensored": 3, "cum in pussy": '
  '1, "phone": 1, "cellphone": 1, "smartphone": 1, "after sex": 1, "holding '
  'phone": 1, "cumdrip": 1, "brown thighhighs": 1, "gloves": 1, "multicolored '
  'hair": 1, "white gloves": 1, "topless": 1, "pink panties": 1, "fishnet '
  'thighhighs": 1, "ass": 1, "feet": 1, "soles": 1, "on stomach": 1, "the '
  'pose": 1, "nail polish": 1, "tan": 1, "personification": 1, "tanlines": 1, '
  '"detached sleeves": 1, "armpits": 1, "pillow": 1}}, "bucket_info": '
  '{"buckets": {"0": {"resolution": [320, 704], "count": 30}, "1": '
  '{"resolution": [384, 640], "count": 95}, "2": {"resolution": [448, 576], '
  '"count": 50}, "3": {"resolution": [512, 512], "count": 20}, "4": '
  '{"resolution": [576, 448], "count": 5}}, "mean_img_ar_error": '
  '0.042025975009129204}, "subsets": [{"img_count": 40, "num_repeats": 5, '
  '"color_aug": false, "flip_aug": false, "random_crop": false, '
  '"shuffle_caption": true, "keep_tokens": 1, "image_dir": "rapunzel", '
  '"class_tokens": null, "is_reg": false}]}]'),
 ('ss_epoch', '10'),
 ('ss_face_crop_aug_range', 'None'),
 ('ss_full_fp16', 'False'),
 ('ss_gradient_accumulation_steps', '1'),
 ('ss_gradient_checkpointing', 'False'),
 ('ss_learning_rate', '0.0005'),
 ('ss_lowram', 'True'),
 ('ss_lr_scheduler', 'cosine_with_restarts'),
 ('ss_lr_warmup_steps', '50'),
 ('ss_max_grad_norm', '1.0'),
 ('ss_max_token_length', '225'),
 ('ss_max_train_steps', '1010'),
 ('ss_min_snr_gamma', '5.0'),
 ('ss_mixed_precision', 'fp16'),
 ('ss_multires_noise_discount', '0.3'),
 ('ss_multires_noise_iterations', 'None'),
 ('ss_network_alpha', '16'),
 ('ss_network_dim', '32'),
 ('ss_network_module', 'networks.lora'),
 ('ss_new_sd_model_hash',
  'b0c91a8a93ab63b8b513046c2e2181a4ce78b83367ee7e26354ba9e018ea102f'),
 ('ss_noise_offset', 'None'),
 ('ss_num_batches_per_epoch', '101'),
 ('ss_num_epochs', '10'),
 ('ss_num_reg_images', '0'),
 ('ss_num_train_images', '200'),
 ('ss_optimizer', 'bitsandbytes.optim.adamw.AdamW8bit'),
 ('ss_output_name', 'rapunzel'),
 ('ss_prior_loss_weight', '1.0'),
 ('ss_sd_model_hash', '66f58dbb'),
 ('ss_sd_model_name', 'fp16-pruned.ckpt'),
 ('ss_sd_scripts_commit_hash', 'e6ad3cbc66130fdc3bf9ecd1e0272969b1d613f7'),
 ('ss_seed', '42'),
 ('ss_session_id', '1637709685'),
 ('ss_steps', '1010'),
 ('ss_tag_frequency',
  '{"rapunzel": {"rapunzel 1girl": 40, "solo": 39, "long hair": 37, "smile": '
  '26, "blonde hair": 38, "dress": 21, "very long hair": 18, "green eyes": 30, '
  '"crossed arms": 3, "corset": 5, "purple dress": 12, "breasts": 13, "open '
  'mouth": 7, "medium breasts": 5, "nipples": 7, "swimsuit": 2, "bikini": 1, '
  '"tongue": 2, "striped": 1, "lips": 7, "micro bikini": 1, "freckles": 5, '
  '"looking at viewer": 10, "long sleeves": 7, "cleavage": 3, "multiple boys": '
  '1, "puffy sleeves": 7, "2boys": 1, "full body": 4, "absurdly long hair": 2, '
  '"grin": 2, "hand on hip": 3, "juliet sleeves": 1, "blush": 3, "large '
  'breasts": 4, "hair ornament": 5, "standing": 2, "flower": 7, "cowboy shot": '
  '1, "teeth": 5, "indoors": 1, "hair flower": 5, "one-piece swimsuit": 1, '
  '"covered navel": 1, "makeup": 2, "cameltoe": 1, "highleg": 1, "lamp": 1, '
  '"braid": 4, "blurry": 2, "arm up": 1, "depth of field": 1, "blurry '
  'background": 2, "looking up": 3, "bokeh": 1, "upper body": 4, "short '
  'sleeves": 3, "closed eyes": 1, "small breasts": 1, "lying": 3, "signature": '
  '1, "on back": 1, "arms up": 2, "eyelashes": 1, "from above": 1, "happy": 1, '
  '"grass": 1, "cross-laced clothes": 1, "hair spread out": 1, "sitting": 4, '
  '"outdoors": 2, "barefoot": 7, "water": 1, "tree": 2, "pink dress": 1, '
  '"holding flower": 1, "lily pad": 1, "simple background": 5, "white '
  'background": 3, "frog": 4, "black background": 2, "child": 1, "star print": '
  '1, "lantern": 1, "blue eyes": 2, "navel": 5, "underwear": 2, "panties": 2, '
  '"thigh gap": 1, "bound": 2, "bdsm": 2, "bondage": 2, "gag": 1, "gagged": 1, '
  '"improvised gag": 1, "cloth gag": 1, "nude": 5, "tongue out": 1, "saliva": '
  '1, "arms behind back": 1, "seiza": 1, "bound arms": 1, "on head": 1, '
  '"animal on head": 1, "holding hair": 1, "tiara": 1, "crown": 1, "princess": '
  '1, "hands on own head": 1, "mirror": 2, "frying pan": 2, "nature": 1, '
  '"parted lips": 1, "blue background": 1, "shirt": 1, "choker": 2, "huge '
  'breasts": 1, "colored skin": 1, "bursting breasts": 1, "thighhighs": 2, '
  '"jewelry": 1, "thighs": 1, "earrings": 1, "pussy": 3, "spread legs": 2, '
  '"cum": 1, "high heels": 1, "kneeling": 1, "uncensored": 3, "cum in pussy": '
  '1, "phone": 1, "cellphone": 1, "smartphone": 1, "after sex": 1, "holding '
  'phone": 1, "cumdrip": 1, "brown thighhighs": 1, "gloves": 1, "multicolored '
  'hair": 1, "white gloves": 1, "topless": 1, "pink panties": 1, "fishnet '
  'thighhighs": 1, "ass": 1, "feet": 1, "soles": 1, "on stomach": 1, "the '
  'pose": 1, "nail polish": 1, "tan": 1, "personification": 1, "tanlines": 1, '
  '"detached sleeves": 1, "armpits": 1, "pillow": 1}}'),
 ('ss_text_encoder_lr', '0.0001'),
 ('ss_training_comment', 'None'),
 ('ss_training_finished_at', '1694906008.5775223'),
 ('ss_training_started_at', '1694905352.3001792'),
 ('ss_unet_lr', '0.0005'),
 ('ss_v2', 'False'),
 ('sshs_legacy_hash', 'fd5d0c6f'),
 ('sshs_model_hash',
  '0f9a9c96e707b34f1591ed9d24e788769cb72e2040f380aa7c31b6a49ca783b2')]

有数据就比较直观,不然这篇博文,就显得干巴巴的。

也算为业界做了一点点贡献。

提一个额外的话题,

由于diffusers和stable-diffusion-webui的实现十分臃肿,

并且屎山越来越大,非常不便于研发以及学习。

为了远离那堆玩意,博主化身屎壳郎,花了不少精力对stable diffusion进行了整理和重写。

开源了sd 1.5和 sdxl 1.0 两个仓库,主要以keras/TensorFlow为主,兼容pytroch的模型权重。

项目地址为:

sd1.5:

https://github.com/cpuimage/minSDTF

sdxl 1.0:

https://github.com/cpuimage/minSDXLTF

目前有空会持续更新,目标是把webui的主要功能以比较简洁优雅的方式实现,路漫漫其修远兮。

如果有小伙伴有能力也想加入,欢迎联系博主,一起摇摆。

也有业内好友期望博主写一份keras/tensorflow版本的lora训练框架,只能说有时间的话,会写的。

最后唠叨几句,kohya_ss训练框架的作者,其代码好几个地方逻辑写错了,小伙伴们要注意了。

最后的最后,

有stable diffusion相关的训练或者开发定制,不论是需求还是各种问题都可以通过以下方式联系博主,

微信: Dbgmonks

QQ: 200759103

邮箱: gaozhihan@vip.qq.com

注: 博主提供有偿服务, 不注明来意者一律拒绝。
TRANSLATE with x
English

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Arabic](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Hebrew](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Polish](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Bulgarian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Hindi](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Portuguese](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Catalan](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Hmong Daw](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Romanian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Chinese Simplified](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Hungarian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Russian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Chinese Traditional](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Indonesian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Slovak](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Czech](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Italian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Slovenian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Danish](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Japanese](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Spanish](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Dutch](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Klingon](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Swedish](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [English](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Korean](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Thai](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Estonian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Latvian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Turkish](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Finnish](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Lithuanian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Ukrainian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [French](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Malay](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Urdu](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [German](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Maltese](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Vietnamese](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Greek](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Norwegian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Welsh](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) |
| [Haitian Creole](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | [Persian](#Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian) | |


TRANSLATE with
COPY THE URL BELOW
Back
EMBED THE SNIPPET BELOW IN YOUR SITE
Enable collaborative features and customize widget: Bing Webmaster Portal
Back
This page is in English
Translate to Simplified Chinese

  • Afrikaans
  • Albanian
  • Amharic
  • Arabic
  • Armenian
  • Azerbaijani
  • Bengali
  • Bulgarian
  • Catalan
  • Croatian
  • Czech
  • Danish
  • Dutch
  • English
  • Estonian
  • Finnish
  • French
  • German
  • Greek
  • Gujarati
  • Haitian Creole
  • Hebrew
  • Hindi
  • Hungarian
  • Icelandic
  • Indonesian
  • Italian
  • Japanese
  • Kannada
  • Kazakh
  • Khmer
  • Korean
  • Kurdish (Kurmanji)
  • Lao
  • Latvian
  • Lithuanian
  • Malagasy
  • Malay
  • Malayalam
  • Maltese
  • Maori
  • Marathi
  • Myanmar (Burmese)
  • Nepali
  • Norwegian
  • Pashto
  • Persian
  • Polish
  • Portuguese
  • Punjabi
  • Romanian
  • Russian
  • Samoan
  • Simplified Chinese
  • Slovak
  • Slovenian
  • Spanish
  • Swedish
  • Tamil
  • Telugu
  • Thai
  • Traditional Chinese
  • Turkish
  • Ukrainian
  • Urdu
  • Vietnamese
  • Welsh
    Always translate English to Simplified ChinesePRO
    Never translate English
    Never translate i.cnblogs.com
相关推荐
云起无垠4 小时前
第79期 | GPTSecurity周报
gpt·aigc
Jeremy_lf5 小时前
【生成模型之三】ControlNet & Latent Diffusion Models论文详解
人工智能·深度学习·stable diffusion·aigc·扩散模型
程序员X小鹿7 小时前
羡慕了!小红书上3w+点赞的治愈系插图,用这个免费的AI工具,1分钟搞定!(附详细教程)
aigc
AIGC大时代18 小时前
如何使用ChatGPT辅助文献综述,以及如何进行优化?一篇说清楚
人工智能·深度学习·chatgpt·prompt·aigc
吕小明么1 天前
OpenAI o3 “震撼” 发布后回归技术本身的审视与进一步思考
人工智能·深度学习·算法·aigc·agi
聆思科技AI芯片2 天前
实操给桌面机器人加上超拟人音色
人工智能·机器人·大模型·aigc·多模态·智能音箱·语音交互
minos.cpp2 天前
Mac上Stable Diffusion的环境搭建(还算比较简单)
macos·ai作画·stable diffusion·aigc
AI小欧同学2 天前
【AIGC-ChatGPT进阶副业提示词】育儿锦囊:化解日常育儿难题的实用指南
chatgpt·aigc
剑盾云安全专家2 天前
AI加持,如何让PPT像开挂一键生成?
人工智能·aigc·powerpoint·软件
合合技术团队2 天前
高效准确的PDF解析工具,赋能企业非结构化数据治理
人工智能·科技·pdf·aigc·文档