Skip to content

aolinpk/iCSS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

iCSS--!:,interestingcss

1231231412

1231231412

  • AAAAA

  • BBBBB

  • BBBBB

本系列围绕 CSS 展开,谈一些有趣的话题,内容天马行空,想到什么说什么,不仅是为了拓宽解决问题的思路,更涉及一些容易忽视或是十分有趣的 CSS 细节。

持续更新中,觉得不错的可以点个 star 订阅收藏。

所有文章都在 Issues 中,同步更新到我的个人博客,也可以点击下面链接进行跳转。

Blog

CSS 系列同步更新在我的博客:

CSS进阶系列

List

border

123

backgroundClip

多行文字展示

如何实现下列这种多列均匀布局:

多列均匀布局

看看下图,常见于一些导航栏中,要求每行中最后一列的右边框消失,如何在所有浏览器中最便捷最优雅的实现?

消失的边界线

不用 Javascript,使用纯 CSS 方案,实现类似下图的导航栏 Tab 切换:

纯CSS的导航栏切换方案

规定下面的布局,实现多列等高布局,要求两列背景色等高。

<div class="container">
    <div class="left">多列等高布局左</div> 
    <div class="right">多列等高布局右</div>
</div>

使用单个标签,如何实现下图所示的斜线效果:

CSS slash

如何实现下述的背景色渐变动画?

lineargradient

24、使用 display:flex 实现瀑布流布局

32、CSS 新特性contain,控制页面的重绘与重排

ASDASDSA

col

EmbeddingBag

产品支持情况

产品 是否支持
昇腾910_95 AI处理器 ×
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
Atlas 200I/500 A2推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品
Atlas 200/300/500 推理产品 ×

功能说明

  • 算子功能:根据indices从weight中获得一组被聚合的数,然后根据offsets的偏移和mode指定的聚合模式对获取的数进行max、sum、mean聚合。其余参数则更细化了计算过程的控制。
    • shape推导方式如下: 假设:
      weight的shape为(numWeight, embeddingDim)
      indices的shape为(indices)
      offsets的shape为(offsets)
      
      • 当mode为sum模式:
        y的shape 为 include_last_offset ? (offsets - 1, embeddingDim) : (offsets, embeddingDim)
        offset2bag的shape 为 (indices,)
        bag_size的shape 为 include_last_offset ? (offsets - 1) : (offsets,)
        max_indices的shape 为 include_last_offset ? (offsets - 1) : (offsets,)
        
      • 当mode为mean模式:
        y的shape 为 include_last_offset? (offsets - 1, embeddingDim) : (offsets, embeddingDim)
        offset2bag的shape 为 (indices,)
        bag_size的shape 为 include_last_offset ? (offsets - 1) : (offsets,)
        max_indices的shape 为 include_last_offset ? (offsets - 1) : (offsets,)
        
      • 当mode为max模式:
        y的shape 为 include_last_offset ? (offsets - 1, embeddingDim) : (offsets, embeddingDim)
        offset2bag的shape 为 (indices,)
        bag_size的shape 为 include_last_offset ? (offsets - 1) : (offsets,)
        max_indices的shape 为 include_last_offset ? (offsets - 1, embeddingDim) : (offsets, embeddingDim)
        

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
weight 输入 词嵌入矩阵,包含所有词的嵌入向量。 FLOAT、FLOAT16、BFLOAT16 ND
indices 输入 包含索引的张量,指定要从weight中提取哪些词的嵌入向量。 INT32、INT64 ND
offsets 可选输入 用于将indices分割成多个bag的偏移量张量。 INT32、INT64 ND
per_sample_weights 可选输入 指定样本权重。 FLOAT、FLOAT16、BFLOAT16 ND
y 输出 词嵌入矩阵聚合后的结果。 INT32、INT64 ND
offset2bag 输出 bag的起始偏移。 INT32、INT64 ND
bag_size 输出 每个bag的大小。 INT32、INT64 ND
max_indices 输出 当mode为max时,词嵌入向量最大值所在的行。 INT32、INT64 ND
mode 可选属性
  • 用于控制聚合模式。
  • 默认值为"mean"。
String -
scale_grad_by_freq 可选属性
  • 用于控制是否根据词频缩放梯度。
  • 默认值为false。
Bool -
sparse 可选属性
  • 用于控制稀疏模式。
  • 默认值为false。
Bool -
include_last_offset 可选属性
  • 控制是否包含最后的偏移。
  • 默认值为false。
Bool -
padding_idx 可选属性
  • 控制是否包含最后的偏移。
  • 默认值为-1。
Int -
  • Atlas 训练系列产品:不支持BFLOAT16。

约束说明

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_embedding_bag 通过aclnnEmbeddingBag接口方式调用EmbeddingBag算子。
图模式调用 test_geir_embedding_bag 通过算子IR构图方式调用EmbeddingBag算子。
操作 耗时
Scatter $(p-1)(\alpha+\frac np\beta)=(p-1)\alpha+\frac {p-1}p n\beta$
Gather $(p-1)(\alpha+\frac np\beta)=(p-1)\alpha+\frac {p-1}p n\beta$
Broadcast $(p-1)(\alpha+n\beta)=(p-1)\alpha+ (p-1)n\beta$
Reduce $ (p-1)(\alpha+n\beta + n\gamma)=(p-1)\alpha+ (p-1)n\beta +(p-1)n\gamma$
ReduceScatter $ (p-1)(\alpha+\frac{n}{p}\beta+\frac{n}{p}\gamma)=(p-1)\alpha+\frac{p-1}{p}n\beta+\frac{p-1}{p}n\gamma $
AllGather $ (p-1)(\alpha+\frac{n}{p}\beta)=(p-1)\alpha+\frac{p-1}{p}n\beta $
AllReduce 实现为ReduceScatter + Allgather:
$ 2(p-1)\alpha+2\frac{p-1}{p}n\beta+\frac{p-1}{p}n\gamma $

About

谈谈一些有趣的 CSS 话题

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published