首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

鸿蒙开发学习(一)之ArkTS

,但是用于迭代却不同:for..in迭代是对象,而for..of则迭代是对象。...自定义组件中提供了一个build函数,开发者需该函数内以链式调用方式进行基本UI描述,UI描述方法请参考UI描述规范。...*装饰器:装饰器给被装饰对象赋予某一种能力,其不仅可以装饰类或结构体,还可以装饰类属性。多个装饰器可以叠加到目标元素上,定义同一行或者分开多行,推荐分开多行定义。...模型,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口“舞台”,因此称这种应用模型为Stage模型。...每个Page都有自己独立生命周期,并且需要时可以被创建、暂停或销毁。 简单来说,你可以把UIAbility看作是一本书,而每个Page就像书中一页。

2.3K40

编写高质量可维护代码:Awesome TypeScript

TypeScript TypeScript 是静态类型语言,通过类型注解提供编译时静态类型检查。 代码编译阶段会进行变量类型检测,提前暴露潜在类型错误问题。...TypeScript 设计一种完全面向对象编程语言,具备模块、接口、类、类型注解等,可以让我们代码组织结构更清晰。...下面选择几个 TypeScript 特有的类型进行详解: Enum 枚举:在编码过程,要避免使用编码,如果某个常量是可以被一一列举出来,那么就建议使用枚举类型来定义,可以让代码更易维护。...类型注解 TypeScript 通过类型注解提供编译时静态类型检查,可以在编译阶段就发现潜在 Bug,同时让编码过程提示也更智能。使用方式很简单, : 冒号后面注明变量类型即可。...// 当 this 表达式为 any 类型时候,生成一个错误 "alwaysStrict": true, // 以严格模式检查每个模块,并在每个文件里加入 'use

2.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

TypeScript 常用知识总结

JavaScript 代码可以无需任何修改情况下TypeScript 一同工作,同时可以使用编译器将 TypeScript 代码转换为 JavaScript。...TypeScript 通过类型注解提供编译时静态类型检查。 TypeScript 数据要求带有明确类型,JavaScript不要求。 TypeScript 为函数提供了缺省参数值。...TypeScript 引入了 JavaScript 没有的“类”概念,写面向对象 TypeScript 引入了模块概念,可以声明、数据、函数和类封装在模块。...TypeScript 引入了命名空间 TypeScript 优势 静态输入: 静态类型化是一种功能,可以开发人员编写脚本时检测错误。查找并修复错误是当今开发团队迫切需求。...访问控制修饰符:TypeScript 可以使用访问控制符来保护对类、变量、方法和构造方法访问。TypeScript 支持 3 种不同访问权限。

1.8K30

TypeScript 5.3,带来这些小惊喜

我们可以通过这个迭代计划提前看到 TypeScript 5.3 新特性,并不能保证这些特性一定会实现,但它给出了一个不错前瞻。...造成这种情况原因是 TypeScript 必须自己打印每个 package 声明文件(.d.ts 文件),这也意味着要对它们进行类型检查。这是一个缓慢过程。...加速这一过程一种方法是让一个更快工具(比如esbuild或swc)为每个 package 生成声明文件。但目前这还不可行。TypeScript 对需要为代码添加多少注解相当宽松。...第三方工具不够智能,无法基于推断生成声明文件。 此时,隔离声明(Isolated Declarations)出现了,一种,更严格 TypeScript 模式。...这里,我们试图根据一个从一个对象返回一个。如果传入'foo',我们返回一个字符串。如果传入'bar',我们返回一个数字。 但 TypeScript 报错了,尽管这段代码看起来是没问题

21220

深入学习下 TypeScript 泛型

TypeScript 提供了多种方法来表示代码对象,其中一种是使用接口。...您还可以使用类型来创建原始类型(例如字符串和布尔别名,这是接口无法做到TypeScript 接口是表示类型结构强大方法。...stringifyObjectKeyValues 使用 reduce 数组方法迭代原始数组,将字符串化并将它们添加到新数组。...在这种情况下,Record 表示一个具有字符串类型和任意类型对象。您可以让您类型参数扩展任何有效 TypeScript 类型。...TypeScript 仅适用于类型,因此请确保始终将类型声明标识符读取为类型,而不是。在此代码,您使用每个布尔的确切类型,true 和 false。

38.9K30

什么是 TypeScript 4.1 模板字面类型?

`; 正如 Flavio Copes 所言,模板字面量提供了之前用引号写字符串所不具备特性: 定义多行字符串非常方便 可以轻松地进行变量和表达式 可以用模板标签创建 DSL(Domain Specific...键值对类型中键重新映射(Key Remapping) 映射类型可以基于任意创建新对象类型。...不需要 baseUrl 指定路径 TypeScript 4.1 之前,要能够使用 tsconfig.json 文件 paths,必须声明 baseUrl 参数。...是将变量强制转换为布尔(真或假)一种简便方法。...要解决这个问题,必须在 Promise 给 resolve 提供至少一个,否则,确实需要不带参数情况下调用 resolve() 情况下,必须使用显式 void 泛型类型参数声明 Promise

3.9K10

声明式数据建模、定义简单易懂:下一代 ORM 助你效率倍增 | 开源日报 No.102

核心优势: 使用领域特定标记进行 HTML/CSS 转换,具有 97% 准确率 具有高达 97% 准确率 支持少量 GPU 上进行训练 提供了预先训练好 Bootstrap 模型 Stability-AI...该项目的核心优势和关键特点包括: 采用配置驱动方法实现了模块化设计,通过 yaml 配置文件调用 instantiate_from_config() 函数来构建和组合子模块。...使用 PyTorch Lightning 进行训练,并且可以轻松使用其他基于基础模块训练封装器。...将引导程序 (如无分类器指导) 与采样器分离,并且采样器独立于模型本身。 对自编码网络进行了清理和改进。...try 使用 Linux namespace 和 overlayfs 联合文件系统来实现这一功能。该项目具有以下核心优势: 可以不影响真实系统情况下运行命令,并对其结果进行检查。

22210

HarmonyOS开发学习(1)–目录认识与基本开发

hvigorfile.ts是工程级编译构建任务脚本,hvigor是基于任务管理机制实现一款全新自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。...布尔 TypeScript可以使用boolean来表示这个变量是布尔可以赋值为true或者false。...这种情况下,我们不希望类型检查器对这些进行检查而是直接让它们通过编译阶段检查。那么我们可以使用unknown类型来标记这些变量。...(entry); // 1, "string", false } for..of vs. for..in 语句 for..of和for..in均可迭代一个列表,但是用于迭代却不同:for..in迭代是对象...@Builder装饰方法用于定义组件声明式UI描述,一个自定义组件内快速生成多个布局内容。

11910

模型模型压缩与有效推理综述

注意力模块将查询和一组-对映射到输出,输出是加权和,权重由兼容性函数计算得出。注意力模块可以描述为将查询和-对映射到输出函数。...QAT是一种训练过程模型进行量化方法,旨在最小化量化引起性能损失,通过训练过程引入量化误差来调整模型权重,以最小化量化误差。...中等规模语言模型QAT。QAT是一种训练过程引入量化误差方法可以不损失模型性能情况下实现模型压缩。...迭代/一次性剪枝:迭代方法通过多次迭代训练、剪枝和微调,保持模型性能,但计算时间长。一次性方法进行一次剪枝,不迭代和微调,计算时间短,但可能影响模型性能。...基于损失剪枝方法包括二阶和一阶方法。其中,SparseGPT是一种高效二阶剪枝方法,将OBS技术融入GPT家族模型,并使用稀疏性比率分配给每个权重矩阵。

10210

arXiv|使用深度生成模型3D空间上生成类药分子

例如,蛋白质结构通常用于对接研究,配体信息可以用于构建活性预测3D-QSAR模型,以进行基于结构药物发现(SBDD)。...因此,将分子三维条件纳入深度生成模型是非常有必要,但目前在这个方向上探索相当有限,仍然存在许多问题需要解决。 引入3D信息一种方法是将现有的基于SMILES生成模型建立3D数据上。...a.状态编码整体结构。b.每个图卷积层结构。c.每个池化层结构。d.每个上池化层结构。 2.3 嵌入层-原子和类型嵌入 原子和类型嵌入是通过可训练查找表进行索引创建。...唯一区别在于收集操作。除了求和和最大化外,作者添加了注意力作为一种额外简化方法来提高模型表达能力。类似于之前工作,作者图中添加了“虚拟”,以增加每个GC层感受野尺寸。...还可以注意到,在生成分子和真实分子QED分布之间出现了很大差异(图8f)。这是在数据选择过程截止为0.5结果。 图7. 利用不同超参数生成分子二维分子性质分布。

1.3K20

AI 魔法画笔、挥洒无限创意 | 开源日报 No.129

可以进行图片合成、形状保留 img2img 和结构生成等操作。 该项目的核心优势和特点有: 模型基于大规模数据集进行训练,并提供了各种预先训练好权重文件。...通过使用 CLIP ViT-H/14 文本编码器对输出进行条件约束,可以实现更精确地控制图像生成过程。...主要功能: 自动捕获每个链接屏幕截图和 PDF。 按照集合、名称、描述和多个标签来组织链接。 收藏夹中进行协作添加链接。 定制每位成员权限。 与世界分享你收藏链接。...以下是 Graphite 核心优势: 基于节点图形引擎:通过强大节点组合功能,为您提供完全非破坏性编辑体验。 轻巧易用:浏览器运行,并且拥有一套齐备、简洁而实用向量绘制工具。...非毁损式处理:使用 Graphite 可以应用光栅效果并与 AI 协同创造出令人惊叹艺术品,不对原始素材进行任何修改情况下完成整个设计过程。

16210

让GBDT和GNN结合起来:Criteo AI Lab提出全新架构BGNN

例如在社交网络每个人都有社会人口统计学特征(例如年龄、性别、毕业日期),这些特征在数据类型、规模和缺失上有很大差异。...此外,与基于方法相比,基于梯度神经网络学习具有多种优势: GNN 中含有的关系归纳偏差减轻了手动设计捕获网络拓扑特征需求; 训练神经网络端到端属性允许依赖于应用程序解决方案中将 GNN 进行多阶段或多组件集成...方法介绍 GBDT 和 GNN 优化遵循不同方法:GNN 参数通过梯度下降进行优化,而 GBDT 则是迭代构建,并且决策树构建之后仍然保持固定(决策树基于特征空间拆分,因此不可微分)。...一种简单方法是仅在节点特征上训练 GBDT 模型,然后将得到 GBDT 预测与原始输入一起用作 GNN 新节点特征。在这种情况下,将通过图神经网络进一步完善 GBDT 对图不敏感预测。...这种方法(被称为 Res-GNN)已经可以提高某些任务 GNN 性能,但 GBDT 模型将完全忽略图结构,并可能会丢失图描述性特征,从而向 GNN 提供不准确输入数据。

60710

【综述专栏】视觉-语言基础模型提示工程

Prompt工程使得基于提示进行预测成为可能,而不更新模型参数,也更容易地将大型预训练模型应用于实际任务。在过去几年里,Prompt工程自然语言处理得到了深入研究。...对于每一种模型,我们都总结并讨论了简短模型摘要、提示方法基于提示应用以及相应责任和完整性问题。此外,还讨论了视觉-语言模型、语言模型和视觉模型进行提示共性和差异性。...这限制了ML模型可扩展性,并要求每个任务都有一个特定模型副本。最近,提示预训练大型模型使其适应特定任务已成为一种新趋势。...提示可以进一步划分为四个子类,即任务指示、上下文学习、基于检索提示和思维链提示。另一方面,软提示是可以使用基于梯度方法进行微调连续向量。...Sec. 6提供了提示单模态模型和VLMs之间比较,并对它们相似之处和差异进行了深入讨论。最后,Sec. 7,我们强调了挑战和潜在研究方向。

36920

2023前端技术盘点与2024技术展望

(图表选自 TypeScript 5.0新特性:声明器、构造类型、枚举改进、速度以及更多内容) 2)TypeScript 5.2:使用 using 关键字进行资源管理 一些编程语言中,比如 C#,...Runes 本质上是作用于 Svelte 编译器特殊语法,通过 state 可以定义为响应式,不仅可以 Svelte 组件内使用,也可以在外部 JavaScript 文件中使用,实现跨组件状态共享...这意味着扩展开发者需要在 manifest 文件明确声明扩展需要访问资源,从而减少了恶意代码攻击面。...大模型支持返回结构化内容 默认情况下,大模型生成内容都是非结构化文本数据,但是开发者通常在编程过程中使用大多数都是结构化数据,所以开发者需要自行对大模型生成内容进行文本匹配等预处理操作,通过...笔者认为有意思是,ArkUI 框架提供基于 JS 扩展类 Web 开发范式和基于 ArkTs 声明式开发范式。

1.2K10

将Segment Anything扩展到医学图像领域

最重要是,提供一种简单微调方法,使 SAM 适应一般医学图像分割。 通过对 21 项三维分割任务和 9 项二维分割任务进行综合实验,对 MedSAM 性能进行了评估。...Cross-attention 是指在有两个相同维度序列情况下,而其中一个序列用作查询 Q 输入,而另一个序列用作 K 和 V 输入。将两个相同维度嵌入序列不对称地组合在一起。...相比之下,基于边界框模式可以明确指定感兴趣区域,无需多次尝试和错误即可获得合理分割结果。此外,常用标注方法之一是放射学中标注最长直径,如固态肿瘤反应评估标准(RECIST)。...基于 RECIST 标注,可以轻松获得目标的边界框提示。因此,我们认为使用 SAM 进行医学图像分割时,基于边界框分割模式比全自动分割和基于模式具有更广泛实用价值。...为了最大限度地降低计算成本,冻结了图像编码器。提示编码器对边界框位置信息进行编码可以从 SAM 预先训练边界框编码重复使用,因此也会冻结该组件。其余需要微调部分是掩码解码器。

59240

ICML Workshop | NNCodec: 神经网络编码 ISOIEC 标准开源软件实现

提供了一个布局清晰用户界面(参见图 1),从而帮助机器学习(ML)社区各种 ML 场景对 NNs 进行高效压缩。...在所有情况下,量化步长 \Delta 都来自整数量化参数 qp,它提供一种速率-性能权衡机制。NNC 允许为每个模型参数(张量)指定一个单独 qp 。...二进制算术编码阶段利用上下文模型提供概率估计对二进制符号进行编码(或解码)。每个上下文模型都实现了后向自适应概率估计器,该估计器会保持一个代表概率估计内部状态。...概率估计增减程度可以通过自适应速率参数来控制。 NNC 支持每个上下文模型自适应速率设置前向信号,即编码可以优化每个上下文模型自适应速率(和初始概率)并在比特流传输这些优化参数。...这种基于颜色行边界可以更轻松地识别所有组合适当率失真结果,例如,使用工具组合 15 和 qp = −16 编码 NN(图 3 以红色补丁突出显示)。

40430

图解OpenAI秘密武器GPT-2:可视化Transformer语言模型

GPT-2其实并不是一种特别新颖架构,它架构非常类似于Transformer模型Decoder结构。然而,GPT2是一个非常大基于Transformer语言模型,需要基于大量数据集进行训练。...随后许多研究工作,这种架构要么去掉了encoder,要么去掉了decoder,只使用其中一种transformer堆栈,并尽可能高地堆叠它们,为它们提供大量训练文本,并投入大量计算机设备,以训练其中一部分语言模型...该向量可以根据模型词汇量进行评分(模型知道所有单词,GPT-2单词为50,000个)。在这种情况下,我们选择了概率最高token——“the”。...但是您不仅要查找一个,还要使用文件混合。 将查询向量乘以每个向量会为每个文件夹生成一个得分(技术上:先进行点积运算然后再用softmax函数进行归一化处理)。 ?...我们现在可以着手进行评分,已知我们只关注一个attention head情况下(并且其他所有的都进行类似的操作): ?

86130

图解OpenAI秘密武器GPT-2:可视化Transformer语言模型

GPT-2其实并不是一种特别新颖架构,它架构非常类似于Transformer模型Decoder结构。然而,GPT2是一个非常大基于Transformer语言模型,需要基于大量数据集进行训练。...随后许多研究工作,这种架构要么去掉了encoder,要么去掉了decoder,只使用其中一种transformer堆栈,并尽可能高地堆叠它们,为它们提供大量训练文本,并投入大量计算机设备,以训练其中一部分语言模型...该向量可以根据模型词汇量进行评分(模型知道所有单词,GPT-2单词为50,000个)。在这种情况下,我们选择了概率最高token——“the”。...但是您不仅要查找一个,还要使用文件混合。 将查询向量乘以每个向量会为每个文件夹生成一个得分(技术上:先进行点积运算然后再用softmax函数进行归一化处理)。 ?...我们现在可以着手进行评分,已知我们只关注一个attention head情况下(并且其他所有的都进行类似的操作): ?

1.1K10
领券