• [热门活动] “AIGC赋能数字内容生产”——用技术提升内容供给侧的丰富度,助力企业降本增效
    HCDG(Huawei Cloud Developer Group 华为云开发者社区组织),是基于城市圈和技术圈,由开发者核心组自发开展的开放、创新、多元的社区技术交流组织。致力于帮助开发者学习提升、互动交流、挖掘合作,推动技术应用与本地产业结合、数智化转型和开发者文化发展。2023年10月27日,由华为云开发者联盟携手华为(北京)虚拟现实创新中心和HCDG北京核心组共同举办的“AIGC赋能数字内容生产”交流会在中关村虚拟现实产业园顺利举办。本次活动邀请到了虚拟现实领域的业界大咖、行业技术专家,以及众多优秀的企业家和开发者一起,共同探讨在AIGC兴起的大背景下,数字内容产业的发展趋势,了解市场的前沿信息,解析行业技术解决方案,共享蓬勃发展的产业生态。▲ 华为(北京)虚拟现实创新中心 张浩华为(北京)虚拟现实创新中心经理张浩介绍到,创新中心成立于2021年年底,由石景山政府与华为组建团队联合运营,依托华为在技术、品牌、产业链资源、人才培养方面的优势,创新中心一是通过联合企业打造标杆项目,推进创新应用场景落地。二是持续开放ICT人才培养能力,协同高校开展专业人才培养工作。三是定期举办峰会论坛等大型活动,构建产业特色品牌。四是联合区内外的虚拟现实企业打造生态聚合体,助力区域的虚拟现实产业发展。重塑内容生产力探索行业前沿技术▲ 华为云媒体服务产品部专家 王菊生本次活动有幸邀请到了华为云媒体服务产品部专家王菊生,他介绍到AIGC被认为是继专业生成内容(PGC)和用户生成内容(UGC)之后,利用人工智能技术自动生成内容的新型生产方式。依托华为云基础设施,通过华为云提供两大类媒体服务,赋能内容开发者和应用开发者。通过AIGC生成视频、生成数字人、数字空间,分钟级快速生成内容,为整个内容生产带来新的变革。其中,AIGC生成视频,通过CG和CV技术的融合,通过CV识别人的动作,驱动CG生成的3D模型,并自动适配周围环境和光线等,通过AIGC生成新的视频。AIGC还可以生成数字空间,基于Nerf的数字空间重建技术,对于100平米空间,1个手机10分钟就可以完成扫描,用普通的电脑和消费级显卡就能实时浏览,还能二次编辑。可以广泛应用于企业展厅、工厂生产车间、博物馆、室外旅游景点等场景,实现物理世界的数字孪生。华为云希望通过打造两个核心产品:华为云MetaEngine图形引擎和盘古数字大模型,以及Studio一站式制作、协同桌面、云渲染、 AIGC等一系列的服务,与伙伴和客户一起共建AIGC时代的媒体基础设施。“一体三核”推动AI大模型与空间计算应用加速落地▲ 北京虚拟动点科技有限公司 贾国耀本次活动特别邀请到企业代表——北京虚拟动点科技有限公司动作捕捉技术主管贾国耀,他表示,虚拟动点作为利亚德集团旗下元宇宙板块领军企业,为元宇宙行业的发展提供了技术驱动作用。虚拟动点以AI赋能,自2017年起,在“空间定位”“空间计算”领域已经深耕多年,沉淀了包括光学计算、惯性计算、无标记点识别计算等多项空间计算的算法技术,实现了包括肢体、手势、表情等多种人体空间计算场景应用,以及体积面积、位置关系、形态大小等物体空间计算场景应用。未来虚拟动点将以“一体三核”作为发展战略,即以空间计算为战略主体,以AI大模型、硬件设备、空间数据为三大核心,构建不断提升的业务能力,推动虚拟动点在AI时代阔步前行。感知虚拟制作推动影视作品完成一站式输出▲ 北京天图万境科技有限公司 图拉古本次活动特别邀请到HCDE专家、企业代表——北京天图万境科技有限公司创始人、导演图拉古亲临现场,他以AI感知虚拟制作为主题进行了分享。他介绍,天图万境发布的感知虚拟制作,是通过人工智能进行空间计算和数字修复,将绿幕拍摄后的内容导入引擎中,通过引擎的空间计算,把绿幕拍摄的二维影像还原成三维图像,并通过数字渲染将三维图像渲染出来。在传统方式中,空间深度的计算,可以使用激光雷达,或用双目摄影机,甚至可以使用连续的单目帧进行后期求解。而天图万境的感知虚拟制作,实现了仅通过一台摄影机,即可在引擎中实现“实时、4K、60帧稳定的空间深度还原”,无需购买任何的深度传感器。这一过程对应的是从物理世界到数字世界的变迁,可以对标胶片到数码时代的跨越。最后环节,华为云专家、HCDG核心组与现场企业开发者们围绕AIGC的技术应用进行热情讨论。现场针对企业及开发者提出的在不同业务场景下面临的创新技术应用困境,华为云专家分别从技术和商业的创新视角进行深入分析与解答。本次活动也安排了中关村虚拟现实展示中心参观体验环节,带领企业家与开发者们体验了石景山区众多虚拟现实企业的产品及解决方案。参会的专家、企业代表们与开发者们结合产业发展现状及未来趋势各抒己见、积极分享观点,为未来共同打造密切合作的产业生态氛围奠定良好基础,携手共创智能化数字内容生产新时代!HCDG城市行活动接下来将在佛山、成都、厦门、大连、天津等开发者核心城市相继落地。华为云也将继续携手各城市HCDG核心组与广大企业及开发者,共建产业新生态,为企业及开发者提供“新技术、新体验、新机会”全方位支撑,欢迎加入HCDG(华为云开发者社区组织)。了解更多本地圈层资讯:微信公众号搜索“华为云开发者联盟”,回复“北京HCDG”
  • [问题求助] 关于组件“获取下载文件”的两个问题和for循环索引名称引用的一个问题
    第一个关于组件“获取下载文件”的问题:在for循环内使用,每次循环下载一个excel文件,下载完成之后对这个excel进行数据处理、重命名和移动位置的操作。组件“获取下载文件”的“文件获取的时间范围”属性选“Latest”只在第一次循环之后能获取到下载的文件,后续的循环里获取不到文件,返回空白。第二个关于组件“获取下载文件”的问题:同上场景,组件“获取下载文件”的“文件获取的时间范围”属性选“ALL”时。如果我下载的文件处理出错,比如没有移动走。那么在后续循环里下载同样名字的文件,windows系统会给第二个下载的文件后边加上一个(1)的序号。在不出错的情况下应该返回的列表是【“文件名(1)”“文件”】。但是有相当几率返回的列表是【“文件名”“文件(1)”】,这时候我再处理列表的第一个文件,就会报错了。循环条目变量引用名的问题例如:for循环的条目名称为SN,索引名称无论改不改默认值,在后续步骤中如果我要引用这个条目的变量的话,在引用时弹出的变量选框里都是@{forloop}。以上问题均可复现,4.1版本,工号82024667
  • [交流分享] 基于 MPI 实现埃拉托斯特尼筛法及性能优化
    埃拉托斯特尼筛法(sieve of Eratosthenes),简称埃氏筛,也称素数筛,是简单且历史悠久的筛法,用来找出一定范围内所有素数。在寻找整数N以内的素数时,古希腊数学家埃拉托斯特尼采用了一种与众不同的方法:先将2-N的各数写在纸上:在2的上面画一个圆圈,然后划去2的其他倍数;第一个既未画圈又没有被划去的数是3,将它画圈,再划去3的其他倍数;现在既未画圈又没有被划去的第一个数是5,将它画圈,并划去5的其他倍数……依此类推,一直到所有小于或等于N的各数都画了圈或划去为止。这时,画了圈的以及未划去的那些数正好就是小于N的素数。 接下来贴出详细代码: #include "mpi.h" #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "error.h"  using namespace std;  #define BLOCK_LOW(id, p, n) ((id) * (n) / (p)) #define BLOCK_HIGH(id, p, n) (BLOCK_LOW((id) + 1, p, n) - 1) #define BLOCK_SIZE(id, p, n) (BLOCK_LOW((id) + 1) - BLOCK_LOW(id)) #define BLCOK_OWNER(index, p, n) (((p)* (index) +1 ) -1 / (n)) #define MIN(a, b) ((a)<(b)?(a):(b))  int main(int argc, char *argv[]) {     int count;              /* Local prime count */     double elapsed_time;    /* Parallel execution time */     int first;              /* Index of first multiple */     int global_count;       /* Global prime count */     int high_value;         /* Highest value on this proc */     int id;                 /* Process ID number */     int index;              /* Index of current prime */     int low_value;          /* Lowest value on this proc */     char *marked;           /* Portion of 2,...,'n' */     int n;                  /* Sieving from 2, ..., 'n' */     int p;                  /* Number of processes */     int proc0_size;         /* Size of proc 0's subarray */     int prime;              /* Current prime */     int size;               /* Elements in 'marked' */     int low_index;          /* Lowest index on this proc */     int high_index;         /* Highest index on this proc */       MPI_Init(&argc, &argv);     MPI_Comm_rank(MPI_COMM_WORLD, &id);     MPI_Comm_size(MPI_COMM_WORLD, &p);     MPI_Barrier(MPI_COMM_WORLD);      elapsed_time = -MPI_Wtime();      if (argc != 2) {         if (!id) printf("Command line: %s <m> \n", argv[0]);         MPI_Finalize();         exit(1);     }      n = atoi(argv[1]);                                                int N = n - 1;     low_index = id * (N / p) + MIN(id, N % p);                       high_index = (id + 1) * (N / p) + MIN(id + 1, N % p) - 1;        low_value = 2 + low_index;                                       high_value = 2 + high_index;                                     size = high_value - low_value + 1;       proc0_size = (n - 1) / p;      if ((2 + proc0_size) < (int) sqrt((double) n)) {         if (!id) printf("Too many processes \n");         MPI_Finalize();                                                  exit(1);     }      marked = (char *) malloc(size);                                  if (marked == NULL) {         printf("Cannot allocate enough memory \n");         MPI_Finalize();         exit(1);     }      for (int i = 0; i < size; i++) marked[i] = 0;      if (!id) index = 0;      prime = 2;     do {                                                                 if (prime * prime > low_value) {             first = prime * prime - low_value;         } else {             if (!(low_value % prime)) first = 0;             else first = prime - (low_value % prime);                    }         for (int i = first; i < size; i += prime) marked[i] = 1;         if (!id) {             while (marked[++index]);             prime = index + 2;         }          if (p > 1) {             MPI_Bcast(&prime, 1, MPI_INT, 0, MPI_COMM_WORLD);         }      } while (prime * prime <= n);      count = 0;     for (int i = 0; i < size; i++)         if (marked[i] == 0) {             count++;         }     MPI_Reduce(&count, &global_count, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD);      elapsed_time += MPI_Wtime();      if (!id) {         printf("%d primes are less than or equal to %d \n", global_count, n);         printf("Total elapsed time: %10.6f\n", elapsed_time);     }     MPI_Finalize();      if (!id){         char filename[50] = "result.txt";         FILE *fp;         if ((fp = fopen(filename,"a+")) == NULL){             printf("fail to open file");             exit(0);         }         fprintf(fp, "%d %d %10.6f\n", p, n, elapsed_time);              fclose(fp);     }      return 0; } 
  • [热门活动] 【数字人专题直播有奖提问】DTSE Tech Talk 技术直播 NO.45:看直播提问题赢华为云定制U型按摩枕、华为云定制POLO衫等好礼!
    中奖结果公示感谢各位小伙伴参与本次活动,本次活动获奖名单如下:请各位获奖的伙伴在10月23日之前点击此处填写收货地址,如逾期未填写视为弃奖。再次感谢各位小伙伴参与本次活动,欢迎关注华为云DTSE Tech Talk 技术直播更多活动~直播简介【直播主题】华为云数字人赋能千行百业,共享AIGC新机遇【直播时间】2023年10月18日 16:30-18:00【直播专家】左雯 华为云媒体DTSE技术布道师【直播简介】数字人作为元宇宙中真人沉浸式体验的重要入口和AIGC的关键要素,伴随元宇宙和AIGC双轮产业进步,关注本期直播,告诉你数字人将如何带来千行百业的产业变革?直播链接:cid:link_1活动介绍【互动方式】直播前您可以在本帖留下您疑惑的问题,专家会在直播时为您解答。直播后您可以继续在本帖留言,与专家互动交流。我们会在全部活动结束后对参与互动的用户进行评选。【活动时间】即日起—2023年10月19日【奖励说明】评奖规则:活动1:直播期间在直播间提出与直播内容相关的问题,对专家评选为优质问题的开发者进行奖励。奖品:华为云定制U型按摩枕活动2:在本帖提出与直播内容相关的问题,由专家在所有互动贴中选出最优问题贴的开发者进行奖励。奖品:华为云定制POLO衫更多直播活动直播互动有礼:官网直播间发口令“华为云 DTSE”抽华为云定制短袖T恤、填写问卷抽华为云定制保温杯等好礼分享问卷有礼 :邀请5位朋友以上完成问卷即可获得华为云定制棒球帽。老观众专属福利:连续报名并观看DTT直播3期以上抽送华为云DTT定制T恤。【注意事项】1、所有参与活动的问题,如发现为复用他人内容,则取消获奖资格。2、为保证您顺利领取活动奖品,请您在活动公示奖项后2个工作日内私信提前填写奖品收货信息,如您没有填写,视为自动放弃奖励。3、活动奖项公示时间截止2023年10月20日,如未反馈邮寄信息视为弃奖。本次活动奖品将于奖项公示后30个工作日内统一发出,请您耐心等待。4、活动期间同类子活动每个ID(同一姓名/电话/收货地址)只能获奖一次,若重复则中奖资格顺延至下一位合格开发者,仅一次顺延。5、如活动奖品出现没有库存的情况,华为云工作人员将会替换等价值的奖品,获奖者不同意此规则视为放弃奖品。6、其他事宜请参考【华为云社区常规活动规则】。
  • [问题求助] 多条件分支,只有一个exit能用,符合条件的分支都找不见
    如题,如何使用该控件,来控制条件分支
  • [问题求助] 设计器经常报 “设计器内部异常”
    3.3.0设计器经常报  “设计器内部异常”    但是只要重启设计器就可以正常使用了   有什么解决办法吗?  
总条数:22 到第
上滑加载中