文档反馈

问题文档片段

问题文档片段包含公式时,显示为空格。

提交类型
issue

有点复杂...

找人问问吧。

PR

小问题,全程线上修改...

一键搞定!

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

- 错别字或拼写错误,标点符号使用错误、公式错误或显示异常。

- 链接错误、空单元格、格式错误。

- 英文中包含中文字符。

- 界面和描述不一致,但不影响操作。

- 表述不通顺,但不影响理解。

- 版本号不匹配:如软件包名称、界面版本号。

易用性

- 易用性:

- 关键步骤错误或缺失,无法指导用户完成任务。

- 缺少主要功能描述、关键词解释、必要前提条件、注意事项等。

- 描述内容存在歧义指代不明、上下文矛盾。

- 逻辑不清晰,该分类、分项、分步骤的没有给出。

正确性

- 正确性:

- 技术原理、功能、支持平台、参数类型、异常报错等描述和软件实现不一致。

- 原理图、架构图等存在错误。

- 命令、命令参数等错误。

- 代码片段错误。

- 命令无法完成对应功能。

- 界面错误,无法指导操作。

- 代码样例运行报错、运行结果不符。

风险提示

- 风险提示:

- 对重要数据或系统存在风险的操作,缺少安全提示。

内容合规

- 内容合规:

- 违反法律法规,涉及政治、领土主权等敏感词。

- 内容侵权。

请选择问题类型

问题描述

点击输入详细问题描述,以帮助我们快速定位问题。

mindflow.cell.ViT

查看源文件
class mindflow.cell.ViT(image_size=(192, 384), in_channels=7, out_channels=3, patch_size=16, encoder_depths=12, encoder_embed_dim=768, encoder_num_heads=12, decoder_depths=8, decoder_embed_dim=512, decoder_num_heads=16, mlp_ratio=4, dropout_rate=1.0, compute_dtype=mstype.float16)[源代码]

该模块基于ViT,包括encoder层、decoding_embedding层、decoder层和dense层。

参数:
  • image_size (tuple[int]) - 输入的图像尺寸。默认值: (192,384)

  • in_channels (int) - 输入的输入特征维度。默认值: 7

  • out_channels (int) - 输出的输出特征维度。默认值: 3

  • patch_size (int) - 图像的path尺寸。默认值: 16

  • encoder_depths (int) - encoder层的层数。默认值: 12

  • encoder_embed_dim (int) - encoder层的编码器维度。默认值: 768

  • encoder_num_heads (int) - encoder层的head数。默认值: 12

  • decoder_depths (int) - decoder层的解码器深度。默认值: 8

  • decoder_embed_dim (int) - decoder层的解码器维度。默认值: 512

  • decoder_num_heads (int) - decoder层的head数。默认值: 16

  • mlp_ratio (int) - mlp层的比例。默认值: 4

  • dropout_rate (float) - dropout层的速率。默认值: 1.0

  • compute_dtype (dtype) - encoder层、decoding_embedding层、decoder层和dense层的数据类型。默认值: mstype.float16

输入:
  • input (Tensor) - shape为 (batch_size,feature_size,image_height,image_width) 的Tensor。

输出:
  • output (Tensor) - shape为 (batch_size,patchify_size,embed_dim) 的Tensor。其中,patchify_size = (image_height * image_width) / (patch_size * patch_size)

支持平台:

Ascend GPU

样例:

>>> from mindspore import ops
>>> from mindflow.cell import ViT
>>> input_tensor = ops.rand(32, 3, 192, 384)
>>> print(input_tensor.shape)
(32, 3, 192, 384)
>>> model = ViT(in_channels=3,
>>>             out_channels=3,
>>>             encoder_depths=6,
>>>             encoder_embed_dim=768,
>>>             encoder_num_heads=12,
>>>             decoder_depths=6,
>>>             decoder_embed_dim=512,
>>>             decoder_num_heads=16,
>>>             )
>>> output_tensor = model(input_tensor)
>>> print(output_tensor.shape)
(32, 288, 768)