文档反馈

问题文档片段

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

提交类型
issue

有点复杂...

找人问问吧。

PR

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

一键搞定!

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

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

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

- 英文中包含中文字符。

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

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

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

易用性

- 易用性:

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

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

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

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

正确性

- 正确性:

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

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

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

- 代码片段错误。

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

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

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

风险提示

- 风险提示:

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

内容合规

- 内容合规:

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

- 内容侵权。

请选择问题类型

问题描述

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

sciai.architecture.FNO3D

查看源文件
class sciai.architecture.FNO3D(in_channels, out_channels, resolution, modes, channels=20, depths=4, mlp_ratio=4, dtype=ms.float32)[源代码]

三维傅里叶神经算子(FNO3D)包含一个提升层、多个傅里叶层和一个解码器层。 有关更多详细信息,请参考论文 Fourier Neural Operator for Parametric Partial Differential Equations

参数:
  • in_channels (int) - 输入中的通道数。

  • out_channels (int) - 输出中的通道数。

  • resolution (Union[Number, tuple[Number]]) - 输入的分辨率。

  • modes (int) - 要保留的低频分量的数量。

  • channels (int) - 输入提升尺寸后的通道数。默认值: 20

  • depths (int) - FNO层的数量。默认值: 4

  • mlp_ratio (int) - 解码器层的通道数提升比率。默认值: 4

  • dtype (dtype.Number) - 密集的计算类型。默认值: ms.float32。支持以下数据类型: ms.float16ms.float32。GPU后端建议使用float32,Ascend后端建议使用float16。

输入:
  • x (Tensor) - shape为 (batch_size,resolution,resolution,in_channels) 的Tensor。

输出:

Tensor,FNO网络的输出。

  • output (Tensor) - shape为 (batch_size,resolution,resolution,out_channels) 的Tensor。

异常:
  • TypeError - 如果 in_channels 不是int。

  • TypeError - 如果 out_channels 不是int。

  • TypeError - 如果 resolution 不是int。

  • TypeError - 如果 modes 不是int。

  • ValueError - 如果 modes 小于1。

支持平台:

Ascend GPU

样例:

>>> import numpy as np
>>> from mindspore.common.initializer import initializer, Normal
>>> from sciai.architecture.neural_operators import FNO3D
>>> B, H, W, L, C = 2, 64, 64, 64, 1
>>> x = initializer(Normal(), [B, C, H, W, L])
>>> net = FNO3D(in_channels=1, out_channels=1, resolution=64, modes=12)
>>> output = net(x)
>>> print(output.shape)
(2, 64, 64, 64, 1)