首页 文章 精选 留言 我的

精选列表

搜索[SpringBoot4],共10000篇文章
优秀的个人博客,低调大师

特斯拉发布《秘密宏图4》,聚焦 AI 和机器人

特斯拉官方发布了《秘密宏图 IV》,主题为“可持续富足”。这是继 2006、2016、2023 前三章之后,公司首次将战略重心从“汽车+能源”全面转向“人工智能+机器人”。 2006 秘密宏图 I:交通电气化(Roadster → Model 系列 → 大众车型)。 2016 秘密宏图 II:清洁能源闭环(太阳能 + 储能 + 电动车)。 2023 秘密宏图 III:全球可持续能源经济(100% 可再生能源路线图,需 10 万亿美元投入)。 2025 秘密宏图 IV:AI 与机器人主导的新经济形态,把“电+车”升级为“AI+机器人”的更大版图 相比前三篇章更多着墨于新能源汽车以及可持续能源生态系统,此次文件关于AI和机器人内容占比明显提高。其于开篇提到,特斯拉故事的下一篇章,将创造一个人类才刚刚开始想象的世界,并以前所未有的规模实现。目前正在打造把AI带入物理世界的产品和服务。 特斯拉认为,通过借鉴汽车行业的规模化生产经验,大规模生产机器人以替代人类劳动力是可行的。其最终目标是建立一个全新的、由机器驱动的生产体系,从而实现生产力的指数级增长。 值得一提的是,就在“宏图4.0”发布之际,马斯克重申了机器人业务在特斯拉的战略地位。他表示,FSD和Optimus的规模化将是最为重要的事项,因为未来特斯拉约80%的价值将来自Optimus机器人。

优秀的个人博客,低调大师

超过 1/4 微信用户置顶「文件传输助手」

近日,微信官方分享了一些有关微信置顶的有趣数据,引发了不少人的关注和思考。 据用户调研发现,超过四分之一的微信用户正在置顶“文件传输助手”。而且,一个颇为有趣的现象是,置顶数量越少的用户,越有可能置顶“文件传输助手”。 这个看似普通的“助手”,其实有着非凡的作用。它进可传文件、搞收藏,方便我们随时保存和传递重要信息;退又能当树洞、写日记,成为我们倾诉内心秘密的小天地。 它永远都处在微信聊天界面最显眼的位置,若仅仅称它为“助手”,着实低估了它在我们微信社交江湖中的重要地位。 从整体的置顶情况来看,有五分之四左右的微信用户,置顶数量不超过五个。他们通常会把置顶位置留给家人和挚友,毕竟这些人在生活中占据着至关重要的位置,我们希望能第一时间关注到与他们的互动消息。 而另一部分用户,则有着不同的置顶偏好。有超过五分之一的微信用户,置顶了五个以上的工作聊天群,其中25-40岁的用户尤为突出,他们的置顶工作群数量最多。 还有一些人,会把自己的微信中最重要的位置留给自己。他们会建几个“一人群”,比如提醒自己“早点睡觉”,用这种独特的方式督促自己养成健康的生活习惯;或者存几个常用的网址,等下班回家后用电脑查看,方便又实用。 值得一提的是,超过一半的微信用户认为,微信置顶体现了自己最近的生活状态。通过置顶的聊天对象,仿佛能感受到与他们之间的距离更近了。

优秀的个人博客,低调大师

昇腾迁移丨4个TensorFlow模型训练案例解读

本文分享自华为云社区《TensorFlow模型训练常见案例》,作者: 昇腾CANN。 基于TensorFlow的Python API开发的训练脚本默认运行在CPU/GPU/TPU上,为了使这些脚本能够利用昇腾AI处理器的强大算力,需要将其迁移到昇腾平台。 本期分享几个TensorFlow网络迁移到昇腾平台后执行失败或者执行性能差的典型案例,并给出原因分析及解决方法。 01 数据预处理中存在资源类算子,导致训练异常 问题现象 TensorFlow网络执行时,报如下错误: [2021-03-19 13:50:24.895266: W tensorflow/core/framework/op_kernel.cc:1651] OP_REQUIRES failed at lookup_table_op.cc:809 : Failed precondition: Table not initialized. [2021-03-19 13:50:24.895283: W tensorflow/core/framework/op_kernel.cc:1651] OP_REQUIRES failed at lookup_table_op.cc:809 : Failed precondition: Table not initialized. 原因分析 初始化图中存在资源类算子HaskTableV2 ,数据预处理中存在资源类算子LookupTableFindV2,两个算子需要配对使用。 昇腾AI处理器默认采用计算全下沉模式,即所有的计算类算子(包括初始化图中的资源类算子)全部在Device侧执行,数据预处理仍在Host执行。这样数据预处理中的LookupTableFindV2算子与初始化图中的HaskTableV2算子未在同一设备执行,导致网络运行出错。 解决方案 需要修改训练脚本,使能混合计算能力,将资源类算子的初始化图也留在Host侧执行,训练脚本修改方法如下: from npu_bridge.npu_init import * config = tf.ConfigProto() custom_op = config.graph_options.rewrite_options.custom_optimizers.add() custom_op.name = "NpuOptimizer" custom_op.parameter_map["mix_compile_mode"].b = True config.graph_options.rewrite_options.remapping = RewriterConfig.OFF config.graph_options.rewrite_options.memory_optimization = RewriterConfig.OFF with tf.Session(config=config) as sess: sess.run(...) 其中配置参数“mix_compile_mode”是混合计算开启开关,当此开关配置为“True”后,会将需要成对使用的资源类算子留在前端框架在线执行。 补充说明:当用户的预处理脚本中存在需要成对使用的tf.contrib.lookup下Table类的API时,需要参考此方法使能混合计算功能,将初始化图中的对应算子留在Host侧执行。 02 数据预处理中存在tf.Variable,导致训练异常 问题现象 TensorFlow网络执行时,报如下错误: tensorflow.python.framework.errors_impl.FailedPreconditionError: Error while reading resource variable inference/embed_continuous from Container: localhost. This could mean that the variable was uninitialized. Not found: Resource localhost/inference/embed_continuous/N10tensorflow3VarE does not exist. 原因分析 此问题是由于数据预处理脚本中存在tf.Variable变量。训练脚本在昇腾平台运行时,tf.Variable变量在Host侧执行,而tf.Variable变量的初始化在Device侧执行,变量执行和变量初始化不在同一设备执行,导致训练异常。 使用了tf.Variable的训练脚本代码示例如下: batch_size = tf.Variable( tf.placeholder(tf.int64, [], 'batch_size'), trainable= False, collections=[] ) train_dataset = train_dataset.batch(batch_size, drop_remainder=True) 解决方案 需要修改训练脚本,将tf.Variable修改成常量,修改示例如下: batch_size = 64 train_dataset = train_dataset.batch(batch_size, drop_remainder=True) batch_size = 64 train_dataset = train_dataset.batch(batch_size, drop_remainder=True) 03 动态shape网络执行时报v1控制流算子不支持的错误 问题现象 TensorFlow 1.15版本的动态shape网络执行时,报如下错误: node node_name(node_type) is v1 control operator, which is not supported, please convert to v2 control operator 原因分析 由于当前TensorFlow网络为动态shape网络,且存在V1版本的控制流算子。在昇腾AI处理器执行TensorFlow动态shape网络当前不支持V1版本的控制流算子,所以会造成网络运行失败。 解决方案 将网络中的TensorFlow V1版本的控制流算子转换为V2版本,即可解决此问题。 方法一:通过设置如下环境变量将TensorFlow V1版本的控制流算子转换为V2版本。 export ENABLE_FORCE_V2_CONTROL=1 方法二:修改网络脚本,在import tensorflow as tf后增加如下两条指令,将TensorFlow V1版本的控制流算子转换为V2版本。 tf.enable_control_flow_v2() tf.enable_resource_variables() 04 网络调测时ReduceSum算子执行性能差 问题现象 网络调测时,网络整体性能较慢。通过Profiling工具获取网络的Profiling数据,并进行算子的性能数据分析,发现ReduceSum算子的性能很差。 查看Profiling性能数据中ReduceSum算子的详细信息,关键字段如下表蓝色字体所示: op_type block_dim input_shape input_data_type input_formats ReduceSum 1 1,256,256,3 DT_FLOAT16 NHWC ReduceSum算子的输入数据类型(input_data_type)为“DT_FLOAT16”,block_dim字段的值为“1”,说明该算子未开启多核并行计算。 原因分析 针对昇腾AI处理器的ReduceSum算子,若输入数据类型为float16,由于硬件限制,某些场景下会无法开启多核计算。 解决方案 ReduceSum算子输入数据是float16的情况可能有如下两种场景: 场景一: 网络调测时未开启混合精度,ReduceSum算子的输入数据本身就是float16类型,此种情况下,若ReduceSum算子的性能较差,可尝试在ReduceSum算子前插入一个Cast算子,将算子的输入数据类型从float16转换为float32。 ReduceSum算子在输入类型为float32的场景下,会使能多核并发计算,从而达到提升该算子性能的效果。 场景二: 网络调测时开启了混合精度,将ReduceSum算子的输入数据类型从float32转换成了float16,此种情况下,可将ReduceSum算子加入混合精度黑名单,这样网络调测时ReduceSum算子就不会被转换成float16类型,从而避免该算子性能的劣化。 将ReduceSum算子加入混合精度黑名单的方法如下: 1) 修改网络脚本,通过modify_mixlist参数指定需要修改的混合精度算子黑名单,修改示例如下: # Estimator模式修改方法 npu_config=NPURunConfig( ... precision_mode="allow_mix_precision", modify_mixlist="/home/test/ops_info.json" ) # sess.run模式修改方法 config = tf.ConfigProto() custom_op = config.graph_options.rewrite_options.custom_optimizers.add() custom_op.name = "NpuOptimizer" custom_op.parameter_map["use_off_line"].b = True custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes("allow_mix_precision") custom_op.parameter_map["modify_mixlist"].s = tf.compat.as_bytes("/home/test/ops_info.json") 2) 在ops_info.json文件中进行算子黑名单的配置,配置示例如下: { "black-list": { "to-add": ["ReduceSumD"] } } 补充说明:仅在ReduceSum算子性能较差时,且符合本案例中的问题现象时,可尝试使用此方法进行性能提升。 05 更多介绍 [1]昇腾文档中心:https://www.hiascend.com/zh/document [2]昇腾社区在线课程:https://www.hiascend.com/zh/edu/courses [3]昇腾论坛:https://www.hiascend.com/forum 点击关注,第一时间了解华为云新鲜技术~

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册