-
如图所示,初始化完成后就显示这个,然后无法上传文件,无法选择kernel,甚至无法删除文件夹,这可咋办呀…………
-
Dreambooth:一键生成你想要的人物画像Dreambooth是谷歌发布的一种通过向模型注入自定义的主题来fine-tune diffusion model的技术,可以生成不同场景下的图片。本文将演示在AI Gallery中使用自定义数据集微调Stable Diffusion,一键生成你想要的人画图像!1. 准备工作首先下载3~10人像照片,最好是不同角度的人物图像,这里我从网上搜集了5张庄达菲的图片作为输入:2. 运行案例本案例需使用 Pytorch-2.0.1 GPU-V100 及以上规格,点击Run in ModelArts在Notebook中一键体验:3. 模型训练首先下载代码模型并配置运行环境,然后下载原始数据集wh11e.zip压缩包,替换为自己的图片并上传压缩包:模型训练配置和参数保持不变,之后启动训练,一般耗时10min:# --pretrained_model_name_or_path: 模型路径,这里使用我下载的离线权重SD1.5# --pretrained_vae_name_or_path: vae路径,这里使用我下载的离线权重# --output_dir: 输出路径# --resolution: 分辨率# --save_sample_prompt: 保存样本的提示语# --concepts_list: 配置json路径!python3 ./tools/train_dreambooth.py \ --pretrained_model_name_or_path=$model_sd \ --pretrained_vae_name_or_path="vae-ft-mse" \ --output_dir=$output_dir \ --revision="fp16" \ --with_prior_preservation --prior_loss_weight=1.0 \ --seed=777 \ --resolution=512 \ --train_batch_size=1 \ --train_text_encoder \ --mixed_precision="fp16" \ --use_8bit_adam \ --gradient_accumulation_steps=1 \ --learning_rate=$learning_rate \ --lr_scheduler="constant" \ --lr_warmup_steps=80 \ --num_class_images=$num_class_images \ --sample_batch_size=4 \ --max_train_steps=$max_num_steps \ --save_interval=10000 \ --save_sample_prompt="a photo of wh11e person" \ --concepts_list="./training_data/concepts_list.json"查看模型输出的样本:from natsort import natsortedfrom glob import glob# 查看模型输出的样本saved_weights_dir = natsorted(glob(output_dir + os.sep + '*'))[-1]saved_weights_dir'dreambooth_wh11e/500'4. 模型推理运行Gradio应用,修改输入提示词生成不同场景的人物画像:import torch import numpy as npimport gradio as grfrom diffusers import StableDiffusionPipeline# 加载模型pipe = StableDiffusionPipeline.from_pretrained(saved_weights_dir, torch_dtype=torch.float16)# 配置GPUpipe = pipe.to('cuda')pipe.enable_attention_slicing() # 开启注意力切片,节约显存pipe.enable_xformers_memory_efficient_attention() # 开启Xformers的内存优化注意力,节约显存# 更换schedulerfrom diffusers import DDIMSchedulerpipe.scheduler = DDIMScheduler.from_config(pipe.scheduler.config)negative_prompt = "bad anatomy, ugly, deformed, desfigured, distorted face, poorly drawn hands, poorly drawn face, poorly drawn feet, blurry, low quality, low definition, lowres, out of frame, out of image, cropped, cut off, signature, watermark"num_samples = 1guidance_scale = 7.5num_inference_steps = 30height = 512width = 512def generate_image(prompt, steps): image = pipe(prompt, output_type='numpy', negative_prompt=negative_prompt, height=height, width=width, num_images_per_prompt=num_samples, num_inference_steps=steps, guidance_scale=guidance_scale ).images image = np.uint8(image[0] * 255) return imagewith gr.Blocks() as demo: gr.HTML("""<h1 align="center">Dreambooth</h1>""") with gr.Tab("Generate Image"): with gr.Row(): with gr.Column(): text_input = gr.Textbox(value="a photo of wh11e person", label="prompts", lines=4) steps = gr.Slider(30, 50, step=1, label="steps") gr.Examples( examples=[ ["face portrait of wh11e in the snow, realistic, hd, vivid, sunset"], ["photo of wh11e person, closeup, mountain fuji in the background, natural lighting"], ["photo of wh11e person in the desert, closeup, pyramids in the background, natural lighting, frontal face"] ], inputs=[text_input] ) image_output = gr.Image(height=400, width=400) image_button = gr.Button("submit") image_button.click(generate_image, [text_input, steps], [image_output]) demo.launch(share=True)Loading pipeline components...: 100%|██████████| 6/6 [00:01<00:00, 4.09it/s]You have disabled the safety checker for <class 'diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.StableDiffusionPipeline'> by passing `safety_checker=None`. Ensure that you abide to the conditions of the Stable Diffusion license and do not expose unfiltered results in services or applications open to the public. Both the diffusers team and Hugging Face strongly recommend to keep the safety filter enabled in all public facing circumstances, disabling it only for use-cases that involve analyzing network behavior or auditing its results. For more information, please have a look at https://github.com/huggingface/diffusers/pull/254 .Running on local URL: http://127.0.0.1:7860IMPORTANT: You are using gradio version 4.0.2, however version 4.29.0 is available, please upgrade.--------Running on public URL: https://0706d8a2cf7260863f.gradio.liveThis share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)
-
只使用了 7.0.0.alpha001 的lib库,昇腾的驱动都能兼容吗?
-
1. AI开发平台ModelArts新功能4月份ModelArts没有发布新功能。2. 人工智能相关直播合集揭秘高可靠高性能的亿级物联网平台发展历程cid:link_1DTSE Tech Talk 技术直播 NO.54对话华为20年资深测试老兵,从手工测试到自动化测试,到实现测试服务化的成长过程,揭秘亿级物联网平台高可靠性、高性能的发展历程。主要是从测试保障质量的角度来介绍IoTDA产品,很新颖的角度,很值得一看。里面有华为20年资深测试老兵的真实工作发展历程,同时也伴随着华为业务发展和拓展的历程,所以还是干货满满的。以下多图:昇思MindSpore技术公开课 大模型专题(第二期)第十二讲:Prompt Engineeringcid:link_0昇思MindSpore布道师、昇思十大优秀开发者周汝霖作客直播间,为大家讲解Prompt以及示例演示。Prompt Engineering(提示工程)可帮助用户将LLM(大语言模型)用于各研究领域和特定场景,从而更有助于我们了解和运用大模型。GaussDB(DWS)基于Flink的实时数仓构建cid:link_2DTSE Tech Talk 技术直播 NO.55华为云数仓GaussDB(DWS)基于流处理框架Flink实现了高效实时数仓构建,数据分析时效从T+1时效趋向于T+0时效。GaussDB(DWS)+Flink如何增强湖仓增量数据在不同数据模型层之间的实时流动能力?如何为消息数据流提供高性能通用入库能力?本期直播将为您带来DWS-Flink的全新探索实践分享。《高校人才培养创新模式经验分享》cid:link_3全国鸿蒙端云智能行业产教融合共同体 产教融合专家大讲堂·第①期 看一下鸿蒙在教育行业的推广
-
对于应用开发者而言,计算机视觉和自然语言处理是最常见的2个应用层算法领域。计算机视觉算法选择目前常用的几种计算机视觉任务(图像分类、目标检测、图像分割等)大多以深度学习为基础。当开发者需要在时延和精度要求方面做出权衡时,可以考虑不同的深度神经网络架构设计;当开发者需要在数据量和学习效果方面做出权衡时,则可以考虑不同的学习方式,如半监督学习、弱监督学习等。
-
基于策略梯度的算法包括REINFORCE、PG(Policy Gradient),基于值函数拟合的算法主要包括DQN及其一系列衍生算法,如QR-DQN、HER、Raninbow等。A3C、SAC、DDPG、TD3、TRPO、PPO这些最近几年出现的算法都结合了策略梯度和价值函数拟合两类算法的优点,同时学习价值函数和策略梯度函数。DQN等基于价值函数拟合的算法大多采用离轨策略,即采用单独的策略来更新价值函数,通常可以从历史积攒下来的样本经过采样后进行价值函数的更新。其优点是可以从人类示教样本中学习、可以重用旧策略生成的经验、可以同时使用多个策略进行采样、可以使用随机策略采样来优化确定性策略。然而,DQN存在价值高估的固有缺陷。DQN有一系列优化后的版本,其中Rainbow算法是DQN系列算法的集大成者,使用了各种DQN变体中的改进方法。Rainbow算法相较于其他DQN系列算法,性能有显著提升,但正是由于使用了过多技巧,其单步训练时间较长。由于历史原因,DQN系列多用于Atari等以图像作为状态输入的环境。需要注意的是,由于DQN系列算法属于基于价值函数拟合的方法,所以仅适用于动作空间离散的场景,即当动作空间维度很高或是连续时无法求解。另外,DQN系列算法都是确定性策略方法,无法学习随机策略。基于策略梯度的强化学习算法能够很好地解决连续动作空间问题。此外,这些算法大多采用在轨策略,且学习的策略都是随机策略,所以学习效率较低。正因如此,目前主流的策略梯度算法都会与值函数拟合算法相结合。当对算法的迭代步长非常敏感时,建议采用TRPO和PPO。这两种算法都采用在轨策略,并且都同时适用于连续动作空间和离散动作空间的决策问题,输出随机策略。TRPO需要求解约束优化问题,计算复杂。为解决这一问题,PPO对TRPO进行一阶近似,使用裁剪或惩罚的方式限制了新旧策略间的分布差距。一般情况下,建议直接使用PPO即可。上述策略梯度算法虽然能够解决高维动作空间问题,但它们产生的都是随机策略,即输入同一状态,输出的动作可能会不一样。在某些场景下,如果期望得到的是确定性动作,则建议使用DDPG算法,其最大特点是策略函数是一个确定性映射函数。由于确定性策略不再需要对动作空间进行积分,因此采样效率相较于其他方法都有提高,非常适合动作空间很大的情况。此外,当强化学习中环境的奖励函数很难设计,或需要利用专家数据给一个较好的起点时,可以使用模仿学习、逆强化学习等方法;当环境奖励稀疏时,需要提升强化学习算法的探索能力,可以使用分布式架构、RewardShaping等方法以鼓励智能体去探索未知状态,也可以使用分层强化学习方法对任务进行分解。
-
Model-Based算法适合对象环境相对简单明确、能够进行机理建模的系统,如机器人、工业制造系统,这类算法在采样效率、收敛速度等关键性能上体现出了优势。而Model-Free算法则表现出更广泛的适应性,绝大部分环境不需要对算法进行适配,基本上只要满足接口,就可以做到即插即用。因此,对于大多数环境,特别是复杂性较高、难以建模的环境,如游戏等,可以直接用Model-Free算法尝试。在Model-Free算法中,根据动作取决于策略函数的输出,还是值函数输出的最大值,可以分出策略梯度和价值函数拟合两大类算法。
-
强化学习算法选择在机器学习中,数据不同会导致算法表现不同。同样地,在强化学习中,由于目标环境的多样性,算法在不同环境中表现截然不同。另外,结合业务场景,开发者在其他维度(如算法输出动作的连续性或离散性、算法的学习效率等)上可能还有不同的要求。因此,选择合适的强化学习算法是一个很重要的工作。根据环境是否由模型直接描述,强化学习算法可以分为Model-Free算法和Model-Based算法。Model-Based算法包括Dagger、PILCO、I2A、MBMF、STEVE、MB-MPO、AlphaZero、ExpertIteration等。当智能体所处环境是确定的,且开发者对环境建模感到并不困难时,建议开发者选择Model-Based算法。Model-Based算法先从强化学习主体与环境交互得到的数据中通过监督学习的方式学习环境模型,然后基于学习到的环境模型进行策略优化。在环境简单、观测状态维度较低时,PILCO可以显著提升采样效率,但由于其使用高斯过程回归模型对环境进行建模,模型复杂度随着状态维度指数增长,因此PILCO难以应用于复杂环境。STEVE和MBMPO使用模型集成的方式来表征模型的不确定性,能够有效地将模型推广到高维状态空间。STEVE使用值展开的方式将环境模型与Model-Free算法相结合,当环境无法学习时能够退化为Model-Free算法。MB-MPO利用元学习的方法在环境模型的集成中学习到足够鲁棒的自适应策略,该方法的策略优化过程完全基于环境模型生成想象样本,因此MB-MPO采样效率很高,但当环境难以建模时策略将无法学习。
-
其他机器学习任务还包括关联规则分析、异常检测和个性化推荐等。关联规则分析常用的经典算法有Apriori算法和FP-Growth(频繁项增长)算法,后者在计算速度上更快。异常检测、新样本检测算法用于发现异常数据点的新的数据点,常用算法有OneClassSVM、LocalOutTierFactor等。OneClassSVM适用于数据量少的情况,对于高维度特征和非线性问题可以体现其优势。LocalOutTierFactor对数据分布的假设较弱,对于数据分布不满足假设的情况,建议使用这种算法。推荐场景下,一般都是高维稀疏数据,可以采用特征学习与逻辑回归相结合的方法,也可以尝试FM(因式分解机)及其深度学习版本DeepFM。此外,还需要从数据标注量的角度来考虑采用哪些算法。有些场景下,标签数据是自动获取的。如销售量预估场景下,随着时间的推移,真实的销量结果会不断产生,可以用于时序模型的持续迭代。很多场景下,标注未必是准确的,如对于某网站的评论区文本分类问题,用户的反馈可能是带有不准确性的。还有很多时候,标注量严重不足,尤其在医疗等行业。针对这些问题,就需要采用半监督、弱监督学习方法。但是,半监督、弱监督也都代表的是学习策略,本质上还是要与每类算法(机器学习、计算机视觉、自然语言处理等)相结合才可以发挥作用。
-
时序预测任务中的传统算法有ARMA和NARMA等,随着机器学习和深度学习的发展,基于SVM、神经网络等的方法也开始流行起来。近年基于深度学习的时间序列预测主要以循环神经网络为主(如DeepAR等),其提高了多变量时间序列的精度,但是在大规模分布式并行方面时间序列预测有不少的挑战。基于CNN架构的时间卷积网络TCN的计算复杂度更低,性能更好。另外,如果要解决长时间的序列预测问题,建议采用基于注意力机制的Transformer模型。概率图模型通过在模型中引入隐变量,增强了模型的建模能力。混合高斯模型、隐马尔可夫模型、条件随机场都属于概率图模型。概率图模型可以用于分类、聚类、时序预测任务,如相关向量机和朴素贝叶斯可以用于分类任务;隐马尔可夫模型和线性动力系统可以对序列化数据进行建模;混合高斯模型常用于聚类任务。概率图模型可以为模型和预测结果提供概率解释。由于经典机器学习在实际应用过程中需要结合业务领域知识构建特征工程,这个过程中有很多手工工作,因此深度学习方法在不同任务的算法中使用深度多层神经网络从原始数据中学习更好的特征表示,取得了比原始算法更好的效果。传统决策树也可以与深度学习思想(不是深度神经网络)相结合,如DeepForesto机器学习领域目前正在朝着AutoML(自动机器学习)的方向发展,很多著名的机器学习算法库(如sciklt-learn)都演进出了自动版(如Auto-sklearn)
-
2024年4月21日,华为云开发者联盟携手HCDG大连核心组猿族学习会,举办 “HCDG城市行大连站—AI机器视觉技术研讨会”在大连圆满结束。活动汇聚了二十多位企业及开发者代表,深入探讨AI机器视觉在千行百业的实践与应用,共同迎接人工智能化新时代的到来。猿族学习会是大连的公益性IT前沿技术学习型组织,已在大连成功举办过十余场AI开发主题沙龙活动,组织者Robin是HCDG大连站优秀的核心组成员。本次HCDG大连站沙龙活动分为三大主题:华为云ModelArst助力企业AI创新和应用;多标签检测技术介绍;从图像风格迁移到GAN。猿族学习会负责人Robin带来了华为云ModelArts的主题分享,为了实现AI算力的极致性能,华为云在基础设施之上进行了针对AI云服务的技术优化。比如ModelArts提供了数据、训练、推理三层加速,通过DataTurbo数据加速技术能够利用计算节点存储资源构建分布式缓存,将数据读取时延降低至亚毫秒级。目前,华为云ModelArts提供物体检测、图像分类、预测分析和声音分类四类开发项目。现场开发者表示,ModelArts在AI、深度学习发展如火如荼的当下,一站式的开发平台能够帮助用户快速创建和部署模型,管理全周期AI工作流,希望华为云能继续,给国产软件的前进提供了强劲动力。大连日企技术部专家陈舒扬带来了《从图像风格迁移到GAN》主题分享,介绍了CNN的新思路、图像风格迁移的路径、生成对抗网络等内容,并对拟合图像和风格、生成手写数字等场景下的技术演示。来自某国内知名汽车企业的工程师周海龙长期从事机器学习工作,此次活动他带来了《多标签检测技术介绍》,为在场开发者对于多分类、多任务、多标签等形式的机器学习,进行了详细的演示。▲ 开发者用华为云ModelArts图像风格迁移功能生成的图片▲ 大连开发者在本地体验ModelArts未来,华为云将持续通过技术与应用场景的融合,在大连这片山海热土上,与众多优秀的开发者一起,共同为千行百业创造价值HCDG(Huawei Cloud Developer Group 华为云开发者社区组织),是基于城市圈和技术圈,由开发者核心组自发开展的开放、创新、多元的社区技术交流组织。致力于帮助开发者学习提升、互动交流、挖掘合作,推动技术应用与本地产业结合、数智化转型和开发者文化发展。扫描下方二维码加入华为云HCDG▼▼▼
-
聚类任务中最常用的算法是K-means、基于图的聚类算法及混合模型。聚类任务存在两个问题,不同的初始中心点对最后聚类结果的影响非常大,聚类簇数量不容易提取判断。Kmeans通过改进初始中心点的选择来改善Kmeans算法的聚类效果。基于密度的聚类算法,如DBSCAN算法,不需要提前知道聚类簇数量。基于图的聚类算法有谱聚类和近邻传播。谱聚类利用相似度矩阵的特征向量进行聚类。近邻传播的基本思想是将数据样本点看作网络的节点,然后通过网络中各边的消息传递计算出各样本的聚类中心。与传统的聚类算法相比,近邻传播算法特别适合高维、多类数据的快速聚类,在聚类性能和效率方面都有大幅度的提升。基于混合模型的聚类方法则假设每组数据都可以通过一个模型来拟合,该方法的好处是最后的聚类结果会给出样本属于每个聚类簇的概率。常见的混合模型有GMM(高斯混合模型)和LDA(隐狄利克雷分布模型)。以上聚类算法在处理高维数据时会面临很多问题。为了解决这些问题,建议采用了空间聚类和多视角聚类的方法。总结,在提前知道聚类簇的数量时,以上聚类算法都可适用,否则可选的算法只有DBSCAN和近邻传播;如果聚类结果需要知道样本属于每个聚类簇的概率,则选择基于混合模型的聚类方法;对于高维数据的聚类,空间聚类和多视角聚类是首选方法。
-
决策树通过递归划分样本特征空间并在每个得到的特征空间区域定义局部模型来做预测。决策树方法的优点是易于理解,数据预处理过程比较简单,同时在相对短的时间内就可以在大数据集上得到可行且效果良好的结果。决策树是非常基础的算法,可解释性强,但它缺点也比较明显,对连续性的特征比较难预测。当数据特征关联性比较强时,决策树的表现的不会太好。通常,决策树需要与集成学习方法一起使用,才会有较好的精度。随机森林、GBDT等算法已经在工业界广泛使用。总结,当处理的问题是二分类问题且数据集规模不大时,支持向量机是首选算法;如果支持向量机的效果不是很理想,则可能是因为该矩阵不能很好地度量样本之间的相似性,因此可以尝试度量学习算法。对于数据集比较大的情况,首先选择基于决策树的集成学习方法。当然,其他不同的模型也都可以与不同的集成学习策略相结合,进一步提升模型效果,但集成学习通常也会使模型更加复杂,增加训练和推理的计算成本。
-
常用的机器学习算法分为分类、聚类、时序预测、关联分析、推荐等。下面将分别按照任务维度简要介绍一些常用的算法,旨在为开发者提供算法选择的参考。在分类任务中,逻辑回归算法实现简单,经常被作为性能基线与其他算法比较。逻辑回归算法也可以看作是一层神经网络,由于其计算复杂度低,经常被拓展到更加复杂的问题上,如大规模推荐。而支持向量机擅长解决高维度非线性分类问题。支持向量机模型的汁算复杂度是数据集的二次方,因此不适合处理大规模数据。逻辑回归、支持向量机在多分类场景下的应用需要依赖一些额外的技巧,如与集成学习相结合等。最初的KNN算法不需要训练,它直接根据邻近的有标签数据的投票来对未知标签数据进行分类。然而,在实际应用中,由于数据样本的距离度量方式是不可知的,所以KNN算法需要在常用的几个距离度量方式中去选择并学习合适的度量方式,这时就需要训练。度量学习的目的是学习一个度量矩阵,使得在某度量方式下,数据中同类样本之间的距离尽可能减小,而不同类别样本之间的距离尽可能增大。常用的度量学习方法分为全局度量学习和局部度量学习。深度学习也可以与度量学习相结合,利用深度神经网络自适应学习特征表达,当数据量较多时,推荐使用深度度量学习。深度度量学习己经成功用于人脸识别等领域。
-
人工智能技术包含多个领域,每个领域的算法都非常多,而且每年还有层出不穷的新算法出现。在开发一个人工智能应用之前,有必要结合具体业务场景和数据的可获取情况,快速锁定一些合适的算法,这样可以大大提升应用开发效率。在找到合适的算法之后,可以直接订阅ModelArts预置算法开始训练,也可以自行开发和调试算法代码,然后再训练。基础层算法选择对于应用开发者而言,平时接触最多的基础算法应该是机器学习(包括深度学习)和强化学习。
上滑加载中
推荐直播
-
全面解析华为云EI-API服务:理论基础与实践应用指南
2024/11/29 周五 18:20-20:20
Alex 华为云学堂技术讲师
本期直播给大家带来的是理论与实践结合的华为云EI-API的服务介绍。从“主要功能,应用场景,实践案例,调用流程”四个维度来深入解析“语音交互API,文字识别API,自然语言处理API,图像识别API及图像搜索API”五大场景下API服务,同时结合实验,来加深开发者对API服务理解。
去报名 -
企业员工、应届毕业生、在读研究生共探项目实践
2024/12/02 周一 19:00-21:00
姚圣伟 在职软件工程师 昇腾社区优秀开发者 华为云云享专家 HCDG天津地区发起人
大神带你一键了解和掌握LeakyReLU自定义算子在ONNX网络中应用和优化技巧,在线分享如何入门,以及在工作中如何结合实际项目进行学习
即将直播 -
昇腾云服务ModelArts深度解析:理论基础与实践应用指南
2024/12/03 周二 14:30-16:30
Alex 华为云学堂技术讲师
如何快速创建和部署模型,管理全周期AI工作流呢?本期直播聚焦华为昇腾云服务ModelArts一站式AI开发平台功能介绍,同时结合基于ModelArts 的实践性实验,帮助开发者从理论到实验更好地理解和使用ModelArts。
去报名
热门标签