• [热门活动] HCDG大连站精彩回顾 | AI机器视觉技术研讨会圆满结束
    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▼▼▼
  • [技术干货] AI 助手全套开源解决方案,自带运营管理后台,开箱即用。
    方案介绍随着人工智能技术的不断发展和普及,越来越多的企业和个人开始关注和使用AI助手来提高工作效率和生活便利性。该解决方案基于 AI 大语言模型 API 实现的 AI 助手全套开源解决方案,自带运营管理后台,开箱即用。集成了 OpenAI, Azure, ChatGLM,讯飞星火,文心一言等多个平台的大语言模型。集成了 MidJourney 和 Stable Diffusion AI绘画、音乐生成功能。开始使用步骤 1 访问该促销活动购买页面,按照如下配置完成ChatPlus服务器的部署。(为避免网络波动影响导致方案部署失败,请选择2M带宽。)​​步骤 2 登录弹性云服务器控制台。选择购买的服务器,单击服务器名称进入详细页面,在新页面单击“安全组”。步骤 3 单击“配置规则”,选择“入方向规则”。步骤 4 按下图所示,修改放通8080端口。步骤 5 登录弹性云服务器控制台。选择购买的服务器,按如下图所示单击复制按钮,获取弹性公网IP地址。使用Linux连接工具登录服务器,或者在控制台单击“远程登录”。​步骤6 等待20分钟左右,登录用户名:root,初始密码:a123456789.  ,方案部署完成后请重置密码,进入服务器后,查看环境部署日志。输入命令:tail -f /tmp/install_docker_chatplus.log,如下图所示则表示基础环境部署成功(使用Ctrl+C按键即可退出查看日志界面)。步骤 6 打开浏览器,输入http://EIP:8080/admin,进入ChatPlus 管理界面,初始用户名:admin ,初始密码:admin123,单击“登录”。步骤 7 初次使用需要添加API KEY,按下图所示单击“API-KEY”新增添加聊天/绘画的API KEY。步骤 8 按下图所示,依次选择所属平台,填写名称,选择用途,按照页面提示填写API-KEY信息,激活启用状态,单击提交。步骤 9 打开浏览器,输入http://EIP:8080/chat,进入ChatPlus 前端界面,初始使用需要登录,输入体验账号:18575670125 密码:12345678。,单击“登录”(移动端登录会自动适配)。步骤 10 按下图所示,选择后端API类型并单击确定,在下面的对话框中,输入对话内容,单击发送按钮,即可获取对话结果。​更多玩法项目地址Github 地址:cid:link_2码云地址:cid:link_3详细使用教程:cid:link_4
  • [AI实战营] AI绘画专栏之SD扩图这么简单?谁说扩图只能用comfyui或者MJ?
    在开发Java应用程序时,异常处理显得尤为重要。只有正确处理所有可能出现的异常,才能确保应用的健壮性和稳定性。传统上,我们会在每个可能抛出异常的方法中使用try-catch捕获异常,这当然可以解决问题,但代码冗长且难以维护。相比之下,使用AOP(Aspect Oriented Programming)来实现全局异常捕获会更加优雅高效。​Java异常基础在Java中,所有异常都继承于Throwable类。主要分为两大类:Checked Exception和Unchecked Exception。Checked Exception:编译时即可检查到的异常,如IOException。必须用try-catch捕获或在方法声明上抛出。Unchecked Exception:运行时异常,如NullPointerException。不需要捕获也可编译通过。除此之外,Error并不是一个Exception,表示严重问题无法进行恢复。传统方式-方法内catch我们可以在每个可能抛出异常的方法内用try-catch来捕获:public void method() { try { // code } catch (Exception e) { // handle exception } }这种方式容易产生大量重复代码,维护复杂。如果忘记添加catch也会导致部分异常无法处理。AOP实现全局捕获AOP思想是将公共功能从主线业务中分离出来形成一个独立模块。我们可以用AOP框架如Spring AOP或AspectJ实现全局异常捕获:@Aspect public class GlobalExceptionHandler { @AfterThrowing(value = "execution(* com.example.service.*.*(..))", throwing="ex") public void handleException(Exception ex) { // 统一处理所有服务层抛出的异常 } }实战技巧除捕获异常,我们还可以返回一个友好的错误码:@AfterThrowing(value = "execution(* com.example.controller.*.*(..))", throwing="ex") public ResponseEntity handleControllerException(Exception ex) { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) .body(Result.fail("10000", ex.getMessage())); }同时,记录到日志中有助于问题排查:@AfterThrowing(value = "execution(* com.example..*(..))", throwing="ex") public void logException(Exception ex) { logger.error("异常:{}", ex); }这样不论方法内部抛出什么异常,我们都可以实现统一处理。大大提高了应用的可靠性。是不是很炫酷!请给个小红心支持一下。下次再聊更多AOP技巧。
  • [热门活动] 2023年DTT直播对我的影响
    2023年DTT直播对我产生了积极的深远影响,给我带来了丰富的收获与帮助,对我个人的成长和职业发展都有着重要的意义。1. 专业知识和技能的提升:DTT直播为我提供了学习和提升专业知识和技能的机会。通过聆听讲座、参与互动环节和案例分析,我受益匪浅,对设计思维、团队协作、产品设计等领域有了更深入的理解和实践经验。这些知识和技能的提升,让我在工作中更加自信和高效,也为我未来的职业发展奠定了坚实的基础。2. 视野和格局的拓宽:DTT直播让我接触到了来自不同行业和领域的专家、学者和企业家,他们的分享和观点让我开阔了眼界,拓宽了视野。通过与不同背景的人交流探讨,我了解到了不同的文化、不同的思维模式和不同的工作方式,这让我更加包容和理解,也为我未来的工作和生活带来了新的启发和动机。3. 人脉和资源的获取:DTT直播是一个重要的社交和网络建立平台,让我有机会与志同道合的人建立联系,这对我的人脉和资源的获取有很大帮助。在DTT直播中,我遇到了一些优秀的专业人士,他们分享了宝贵的经验和洞察,也为我提供了潜在的合作机会。这些连接和资源,不仅拓展了我的工作和生活圈子,也为我未来的发展提供了可能。4. 创新和创造力的激发:DTT直播的氛围充满活力和创造力,激发了我的创新和创造性思维。通过聆听不同的演讲和参与不同的活动,我获得了许多新的想法和灵感。这些启发让我在工作中更加敢于创新和尝试,并帮助我以更开阔的视角看待世界,寻找新的机遇和挑战。5. 个人成长的鞭策:DTT直播为我提供了一个自我反省和成长的机会。通过参与DTT直播,我意识到自己的优势和不足,这让我更加注重个人发展和学习。我开始更加积极地寻找机会,提升自己各方面的能力,包括专业知识、沟通能力、领导能力等。DTT直播让我意识到,持续学习和成长对于个人成功和职业发展至关重要。总之,2023年DTT直播对我产生了积极而深远的影响,它为我带来了丰富的收获和帮助,让我在专业知识、技能、视野、人脉、创新能力和个人成长等方面都得到了显著的提升。这是一个难忘的学习和成长之旅,我非常感谢DTT直播提供的这个绝佳的机会。
  • [活动公告] 【云声专场】开发者体验官:使用AI涂鸦一键成图!提建议领开发者盲盒礼包~
    华为云开发者日·2023年度创享峰会来啦!参加“AI涂鸦一键成图”项目,提出你的建议有机会获得开发者盲盒礼包惊喜不容错过,快叫上小伙伴一起来吧【体验项目】拯救手残党:AI涂鸦一键成图【活动时间】2023年12月20日-12月31日【参与方式】直接在此活动帖下方回帖提建议即可比如对产品功能的改进建议、对活动流程的感想、对现场活动的感悟等等PS:不要少于30字哦~【获奖规则】奖项设置有效回复楼层评选条件获奖名额激励礼品优质建议奖20对产品功能有改进价值的建议1名开发者盲盒礼品价值50-100元积极反馈奖20优质建议奖轮空的情况下进行抽取抽取1名开发者盲盒礼品价值50元【活动规则】1、本帖的回帖建议不少于30字,仅限于对“AI涂鸦一键成图”体验项目,其他项目建议不参与此次活动,否则将视为无效内容。2、本次活动将根据实际参与情况发放奖励,包括但不限于用户百分之百中奖或奖项轮空的情况;以上奖品均为实物奖品,具体发放视出库情况而定;3、活动预计于结束后七天内完成奖项公示,并于结束后15个工作日内完成邮寄。【温馨提示】1、请务必使用个人实名账号参与活动(IAM、企业账号等账号参与无效)。如一个实名认证对应多个账号,只有一个账号可领取奖励,若同一账号填写多个不同收件人或不同账号填写同一收件人,均不予发放奖励。2、所有获得奖品的获奖用户,请于获奖后3日内完成实名认证,否则视为放弃奖励。
  • [其他] Midjourney提示的风格主题
    再来点更高级的。  Midjourney可以快速生成各种风格的人物照片,并且这些照片足以以假乱真,在镜头、光线和构图的使用上也可以做到专业级。 核心提示词使用规则,包含以下部分 人物主体描述 背景环境描述 人物外形描述 风格描述 设备/镜头参数  举例。 人物主体描述:21years Chinese girl 背景环境描述:in school 人物外形描述:beauty,long black hair 风格描述:sun light,insane detail,smooth light,real photography fujifilm superia,full HD 设备/镜头参数:taken on a Canon EOS R5 F1.2 IS0100 35mm  我们可以在Midjourney中转换为如下提示词: 21years Chinese girl,in school,beauty,long black hair,sun light,insane detail,smooth light,real photography fujifilm superia,full HD,taken on a Canon EOS R5 F1.2 1S0100 35mm --ar 4:3  MidJourney生成的UI/UX(User Interface用户界面)/(User eXperience 用户体验)图像虽然不能自接作为源文件使用,但是可以作为排版、配色、构图等视觉元素的参考素材,并且与传统素材比较起来更加直观和生动。核心提示词中的横纵比参数关乎实际产品的排版,比如移动端产品为9:16、计算机端产品为16:9。 
  • [其他] Midjourney的提示词
     提示词大致由3个部分构成:主体描述、环境背景、艺术风格。 如果你不指定,那就是随机。 比如:a cat 太简单,AI也会随意给你生成,反正是只cat就行。 所以我们做加法,变成 a cute cat sleeps on the eaves 这样就有了主体、环境信息了 AI就懂了很多,在做一个简单加法,加上艺术风格 a cute cat sleeps on the eaves, illustration 让AI生成插画风格  来个高级点的 https://abc/xyz Chinese boy,8k,3d style,cartoon character design,rich details, soft light, relaxed, OC rendering --iw 2 其中最后的--iw 2参数指的是提升图像的权重,权重越高,生成的结果和提供的参考照片(https里指定的)就越似,--iw 2是最高权重。  调整宽高比、放大倍数等参数可以改变生成图像的风格。为了更改这些参数,将它们添加到提示词的末尾。确保在提示词中准确地指定了所需的参数,并将参数按照正确的格式放置在提示词的最后。 
  • [其他] Midjourney介绍
    Midjourney 可以将提示词(英文为Prompt)转化为视觉图像。它由旧金山的实验室Midjourney创建,采用了类似于OpenAI的DALL-E(一款人工智能图像生成器)和稳定扩散的算法,可以快速地将文字转换为图像。Midjourney提供了一种简单的方式来释放人工智能的创造力。你只需加入Discord服务器,向机器人发送消息,使用/imagine命令输入提示词即可获得一组图像。为设计师,这些可以激发想象力,可以更快、更准确地创造出高质量的设计作品。通过Midjourney快速地获得设计项目的视觉概念。它只提供有限次数的免费试用,然后需要付费按月订阅。Midjourney 有两大类模型,分别是MJ version和Niji version,MJversion主打通用型模型,后者主打二次元漫画型模型提示词(Prompt)是一种于引导人工智能生成模型输出的信息。它为模型提供了上下文和方向,以便生成适当的回应或文本。提示词的设计决定了模型生成的内容,因此它在确保生成结果的准确性、连贯性和可控性方面起着关踺的作用。提示词通常是文本短语:我们将其称为神奇咒语:用于指导模型生成特定风格、主题或内容的像。在处理提示词时,Midjourney Bot将其分解为更小的部分,称为标记,标记可以是单词、短语或句子中的一个成分。一个好的提示词应该具备以下特点。清晰明确 以确保模型能够准确理解和执行预期的图像生成任务。描述详细 包含足够的细节和描述,以帮助模型生成所需的图像特征、内容或情景。提供风格指导 如果需要生成特定风格的,以引导模型生成符合该风格要求的图像。匹配上下文 提示词应该与图像生成任务的上下文相匹配,以便模型可以理解所需的图像背景和环境。激发创造力 激发模型的创造力,鼓励其生成独特而令人惊喜的图像结果。Midjourney生成图像的过程非常简单:3步即可完成。在斜杠命令弹出窗囗中输入/imagine prompt在字段中输入要创建的图像的提示词发送消息
  • [分享交流] AI绘画专栏之 SDXL 4G显存就能跑SDXL ?SD1.7或将对F8优化merge(46)
    关于SDXL的生态目前还未完全稳定,但是不得不提到的就是SDXL的在VAE,CLIP,UNET三大组件的巨大提升,其101亿的参数量是原本SD的N倍,那么对于SDXL的生态介绍我们再次重复一遍。4G的显存都能跑SDXL意味着将来大模型Lora将降低其大小,炼丹炉压力更小~添加描述SDXL为什么强?0.1参数训练量为101亿 其中BASE模型35 亿 加REFINER模型66亿 SD的8倍???0.2对Stable Diffusion原先的U-Net(XL Base U-Net 一共14个模块),VAE,CLIP Text Encoder三大件都做了改进。可以明显减少显存占用和计算量0.3增加一个单独的基于Latent(潜在)的Refiner(炼制)模型,来提升图像的精细化程度。【新增:对Base模型生成的图像Latent特征进行精细化,其本质上是在做图生图的工作。】0.4设计了很多训练Tricks(技巧)(这些Tricks都有很好的通用性和迁移性,能普惠其他的生成式模型),包括图像尺寸条件化策略,图像裁剪参数条件化以及多尺度训练等。0.5先发布Stable Diffusion XL 0.9测试版本,基于用户使用体验和生成图片的情况,针对性增加数据集和使用RLHF技术优化迭代推出Stable Diffusion XL 1.0正式版。0.6采样方法禁用DDIM (保留意见、非绝对),不需要开启CN,随着CN的支持,可以开启CN的XL版本。所有的环境需要都是XL的生态0.7直接出1024分辨率图片 1024 * 1024 起步添加描述 随之而来的就是对大显存的占用,但随着新的PR的提出,或将在4G的测试显存,并在一定的内存占用上解决!!!A big improvement for dtype casting system with fp8 storage type and manual cast一个很大的提升对于FP8的内存和手动转换在 pytorch 2.1.0 之后,pytorch 添加了 2 个新的 dtype 作为存储类型:float8_e5m2、float8_e4m3fn。1基于讨论使用 fp8 作为训练/使用 NN 模型的参数/梯度的论文。我认为值得对 fp8 格式进行一些优化。3此外,一些扩展也已经支持这个功能5速度提升由于将 FP8 与 FP16 一起使用,因此计算需要一些额外的操作来强制转换 dtype。它会降低速度(特别是对于较小的批量)批量大小768x768 标清1.x fp16768x768 标清1.x fp81024x1024 SDXL fp161024x1024 SDXL fp818.27 秒/秒7.85 秒/秒3.84 秒/秒3.67 秒/秒43.19 秒/秒3.08 秒/秒1.51 秒/秒1.45 秒/秒会降低质量吗?几乎不会什么是FP8 FP16?Fp16:意味模型用16位浮点数存,相对于Fp32更小更快,但是无法用于CPU,因为有的半浮点精度运算在CPU上不支持。通常为了更快的运算,在GPU上我们也会将Fp32转换成Fp16,这个可以在设置里配置。那么随之而来的一个params是8个byte(字节),FP32就是4个byte,FP8就是一个Byte,FP或者BF16相对已经是比较好的出图质量了。以下测试结果来自原PR作者琥珀青叶,如果你想要尝试,在源码中切换此PR即可首先SD1的时候FP16存下来是2G,SDXL因为参数变多了FP16也要5G,这样很多显卡就hold不住了。所以青叶做了个事情,就是load的时候用FP8放在显存里,这样SDXL存在显存是2.5G。但是在每一层运算的时候把对应的FP8转到FP16,所以整个计算流程看起来是是一致的。同时整个流程的显存占用也下来的。正常启动测试开启FP8并开启内存缓存优化XYZ测试关闭前后对比起初的静态内存占用为5.3运行后稳定在6.4左右开启前后对图片直连影响很小,有细微细节差距搭配LCM测试当前所有的PR审核已经通过,或将在测试后在1.7进行升级推出正式版本
  • [分享交流] 如何优雅地处理Java多线程编程中的共享资源问题?
    如何优雅地处理Java多线程编程中的共享资源问题,以确保线程安全和高性能?