《昇思25天学习打卡营第5天|10使用静态图加速》-动态图

看了mindspore介绍,应该整体思路是和tensorflow2.0更接近的,或者说是融合了pytorch+tensorflow+numpy,也不能说不好,但是暂时还没看出来有哪些特别的优势。
下面是类似pytorch eager模式的使用例子:

import numpy as np
import mindspore as ms
from mindspore import nn, Tensor
ms.set_context(mode=ms.PYNATIVE_MODE)  # 使用set_context进行动态图模式的配置

class Network(nn.Cell):
    def __init__(self):
        super().__init__()
        self.flatten = nn.Flatten()
        self.dense_relu_sequential = nn.SequentialCell(
            nn.Dense(28*28, 512),
            nn.ReLU(),
            nn.Dense(512, 512),
            nn.ReLU(),
            nn.Dense(512, 10)
        )

    def construct(self, x):
        x = self.flatten(x)
        logits = self.dense_relu_sequential(x)
        return logits

model = Network()
input = Tensor(np.ones([64, 1, 28, 28]).astype(np.float32))
output = model(input)
print(output)

好奇为什么可以直接进行推理,dense中的w和b都还没有定义呢,查看一下:

import mindspore as ms
from mindspore import nn

# 创建一个Dense层
dense_layer = nn.Dense(28*28, 512)

# 打印初始化的权重和偏置
print("Weights:", dense_layer.weight.asnumpy())
print("Bias:", dense_layer.bias.asnumpy())

结果如下:
在这里插入图片描述
看起来是一些随机值。

上一篇:爬虫代理访问超时怎么解决?


下一篇:Word创建多级列表的样式-方法