给公司做网站软件做网站湖州

张小明 2026/1/3 20:26:02
给公司做网站软件,做网站湖州,展厅装修设计,如何做手机网页零基础吃透#xff1a;TensorFlow稀疏张量#xff08;SparseTensor#xff09;的核心操作 稀疏张量无法直接使用tf.math.add等密集张量的算术算子#xff0c;必须通过tf.sparse包下的专用工具进行操作。本文拆解加法、矩阵乘法、拼接、切片、元素级运算五大核心操作#x…零基础吃透TensorFlow稀疏张量SparseTensor的核心操作稀疏张量无法直接使用tf.math.add等密集张量的算术算子必须通过tf.sparse包下的专用工具进行操作。本文拆解加法、矩阵乘法、拼接、切片、元素级运算五大核心操作结合示例讲清原理、用法和版本兼容细节。前置准备必运行importtensorflowastf# 复用之前的美观打印函数调试必备defpprint_sparse_tensor(st):sSparseTensor shape%s \n values{%(st.dense_shape.numpy().tolist(),)for(index,value)inzip(st.indices,st.values):sf\n %s: %s%(index.numpy().tolist(),value.numpy().tolist())returns}# 示例稀疏张量后续操作会复用st2tf.sparse.from_dense([[1,0,0,8],[0,0,0,0],[0,0,3,0]])一、稀疏张量加法tf.sparse.add核心原理仅对同形状稀疏张量的「相同坐标非零值」相加不同坐标的非零值直接保留最终输出仍为稀疏张量仅存储非零结果。示例代码# 构造两个同形状的稀疏张量st_atf.sparse.SparseTensor(indices[[0,2],[3,4]],values[31,2],dense_shape[4,10]# 4行10列)st_btf.sparse.SparseTensor(indices[[0,2],[3,0]],values[56,38],dense_shape[4,10]# 必须与st_a形状一致)# 稀疏张量加法st_sumtf.sparse.add(st_a,st_b)print(稀疏张量相加结果)print(pprint_sparse_tensor(st_sum))输出解读SparseTensor shape[4, 10] values{ [0, 2]: 87 # st_a[0,2]31 st_b[0,2]56 [3, 0]: 38 # 仅st_b有该坐标直接保留 [3, 4]: 2 # 仅st_a有该坐标直接保留 }关键注意事项❌ 形状不同会报错必须保证dense_shape完全一致✅ 结果仅保留非零值若相加后某坐标值为0如st_a[0,2]-56 st_b[0,2]56会被过滤出结果。二、稀疏×密集矩阵乘法tf.sparse.sparse_dense_matmul核心原理稀疏张量作为矩阵需满足矩阵乘法的形状规则与密集矩阵相乘无需转换为密集张量大幅节省内存超稀疏矩阵效率提升显著。示例代码# 构造2×2的稀疏矩阵非零值[0,1]13[1,0]15[1,1]17st_ctf.sparse.SparseTensor(indices[[0,1],[1,0],[1,1]],# 注意原代码的indices写法有误修正为列表格式values[13,15,17],dense_shape(2,2))# 构造2×1的密集矩阵mbtf.constant([[4],[6]])# 稀疏×密集矩阵乘法producttf.sparse.sparse_dense_matmul(st_c,mb)print(\n稀疏×密集矩阵乘法结果)print(product)计算逻辑验证结果矩阵乘法规则C × B [ (0×413×6), (15×417×6) ]^T第一行0×4 13×6 78第二行15×4 17×6 60 102 162输出解读tf.Tensor( [[ 78] [162]], shape(2, 1), dtypeint32)关键注意事项形状规则稀疏张量的列数 密集矩阵的行数如2×2 × 2×1 合法索引顺序建议先通过tf.sparse.reorder排序稀疏张量索引避免运算异常。三、稀疏张量拼接tf.sparse.concat核心原理沿指定轴如列轴axis1拼接多个稀疏张量要求除拼接轴外的其他轴形状一致最终输出合并后的稀疏张量。示例代码# 构造3个待拼接的稀疏张量行维度均为8列维度不同sparse_pattern_Atf.sparse.SparseTensor(indices[[2,4],[3,3],[3,4],[4,3],[4,4],[5,4]],values[1]*6,dense_shape[8,5]# 8行5列)sparse_pattern_Btf.sparse.SparseTensor(indices[[0,2],[1,1],[1,3],[2,0],[2,4],[2,5],[3,5],[4,5],[5,0],[5,4],[5,5],[6,1],[6,3],[7,2]],values[1]*14,dense_shape[8,6]# 8行6列)sparse_pattern_Ctf.sparse.SparseTensor(indices[[3,0],[4,0]],values[1]*2,dense_shape[8,6]# 8行6列)# 沿列轴axis1拼接sparse_patterntf.sparse.concat(axis1,# 列轴拼接行轴保持8不变sp_inputs[sparse_pattern_A,sparse_pattern_B,sparse_pattern_C])# 转换为密集张量查看拼接结果print(\n拼接后的密集张量)print(tf.sparse.to_dense(sparse_pattern))输出解读拼接后形状为8×(566)8×17非零值按原位置分布在对应列区间A的非零值在列0~4B的非零值在列5~10C的非零值在列11~16。关键注意事项拼接轴外的维度必须一致如示例中所有张量的行维度均为8仅列维度不同拼接后非零值位置原张量的列索引自动偏移如B的列0→拼接后的列5。四、稀疏张量切片tf.sparse.slice核心原理沿指定轴截取稀疏张量的子区域仅保留「切片范围内的非零值」输出新的稀疏张量形状为指定的size。函数参数参数作用start切片起始坐标列表/张量长度张量秩如[0,0]表示行0列0开始size切片大小列表/张量长度张量秩如[8,5]表示截取8行5列示例代码# 对拼接后的张量切片还原原张量sparse_slice_Atf.sparse.slice(sparse_pattern_A,start[0,0],size[8,5])sparse_slice_Btf.sparse.slice(sparse_pattern_B,start[0,5],size[8,6])sparse_slice_Ctf.sparse.slice(sparse_pattern_C,start[0,10],size[8,6])# 打印切片结果转密集张量print(\n切片A8×5)print(tf.sparse.to_dense(sparse_slice_A))print(\n切片B8×1)# 原B的start[0,5]size[8,6]但仅列5有值故输出8×1print(tf.sparse.to_dense(sparse_slice_B))print(\n切片C8×0)# 无符合条件的非零值输出空print(tf.sparse.to_dense(sparse_slice_C))输出解读切片A8×5 [[0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 1] [0 0 0 1 1] [0 0 0 1 1] [0 0 0 0 1] [0 0 0 0 0] [0 0 0 0 0]] 切片B8×1 [[0] [0] [1] [1] [1] [1] [0] [0]] 切片C8×0 []关键注意事项切片范围外的非零值会被过滤如切片B仅截取列5原B的其他列非零值被丢弃空切片无符合条件的非零值时输出shape(8,0)的空稀疏张量。五、元素级运算仅修改非零值场景对稀疏张量的所有非零值做统一运算如5方式1TF2.4 专用tf.sparse.map_valuestf.sparse.map_values专门对稀疏张量的values非零值做元素级运算零值保持不变。# 对st2的非零值5st2_plus_5tf.sparse.map_values(tf.add,st2,5)print(\nTF2.4 非零值5密集张量)print(tf.sparse.to_dense(st2_plus_5))方式2TF2.4前 兼容方案手动构造新的SparseTensor仅修改values保留indices和dense_shape。# 老版本兼容写法直接修改valuesst2_plus_5_compattf.sparse.SparseTensor(st2.indices,# 保留原坐标st2.values5,# 非零值5st2.dense_shape# 保留原形状)print(\n老版本兼容 非零值5密集张量)print(tf.sparse.to_dense(st2_plus_5_compat))输出解读两种方式结果一致[[ 6 0 0 13] [ 0 0 0 0] [ 0 0 8 0]]仅非零值被修改原1→6、8→13、3→8零值保持不变符合稀疏张量的设计初衷仅操作有效数据。核心操作总结表操作函数核心要求适用场景稀疏加法tf.sparse.add张量形状完全一致同形状稀疏张量逐坐标相加稀疏-密集矩阵乘法tf.sparse.sparse_dense_matmul稀疏列数密集行数超稀疏矩阵与密集矩阵相乘稀疏拼接tf.sparse.concat非拼接轴形状一致合并多个稀疏张量的列/行稀疏切片tf.sparse.slicestart/size长度张量秩截取稀疏张量的子区域元素级运算tf.sparse.map_valuesTF2.4仅修改非零值对非零值做统一算术运算/-/*//避坑关键形状匹配所有稀疏张量操作的核心是「形状兼容」形状不匹配会直接报错索引顺序运算前建议用tf.sparse.reorder排序索引避免算子异常版本兼容tf.sparse.map_values仅TF2.4支持老版本需手动修改values零值处理所有操作均仅处理非零值零值始终保持隐式存储不占用内存。掌握这些操作就能高效处理NLPTF-IDF、计算机视觉稀疏像素等场景下的超稀疏数据大幅降低内存占用和计算开销。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

公司做的网站打开慢html做静态网站

小白学网安必看!就业/转行网安的发展方向保姆级讲解,一定有适合你的黑客方向! “没有网络安全就没有国家安全”。 当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 一、网络安…

张小明 2025/12/29 21:22:41 网站建设

gif5网站下载不了做的动图新品发布会活动方案

这项由约翰霍普金斯大学张嘉瀚团队牵头,联合北京大学、普林斯顿大学、MIT、哈佛大学等多所知名院校研究人员的突破性研究,于2025年10月发表在计算机视觉领域顶级会议上。有兴趣深入了解的读者可以通过论文编号arXiv:2510.18135查询完整论文。这项研究首次…

张小明 2025/12/29 13:15:56 网站建设

一个网站可以做几级链接郑州正云网站建设

OBS Studio开源项目技术解析:多平台构建实战指南 【免费下载链接】obs-studio OBS Studio - 用于直播和屏幕录制的免费开源软件。 项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio "为什么我的OBS编译总是失败?"这是无数…

张小明 2025/12/29 11:24:54 网站建设

搜索网站老是跳出别的网站要怎么做响应式网站的发展现状

Excalidraw AI赋能ERP蓝图设计:从手绘草图到智能协作的演进 在一次跨国制造企业的ERP项目启动会上,顾问团队正试图向非技术背景的运营主管解释“端到端采购流程”的系统架构。传统的UML图和Visio框线显得冰冷而疏离,会议室里的气氛逐渐凝重。…

张小明 2025/12/29 18:48:43 网站建设

建设银行反钓鱼网站wordpress评论者头像

联想LJ2605D LJ2655DN激光打印机维修与故障排除完全指南 【免费下载链接】联想LJ2605DLJ2655DN中文维修手册分享 联想LJ2605D LJ2655DN中文维修手册欢迎来到联想LJ2605D与LJ2655DN激光打印机的中文维修手册下载页面 项目地址: https://gitcode.com/Open-source-documentation…

张小明 2025/12/29 21:22:40 网站建设

租办公室西安关键词排名优化

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2025/12/31 3:56:05 网站建设