• MindSpore 建立神经网络


     代码原地址:

    https://www.mindspore.cn/tutorial/zh-CN/r1.2/model.html

     

    建立神经网络:

     

    import mindspore.nn as nn
    
    class LeNet5(nn.Cell):
        """
        Lenet网络结构
        """
        def __init__(self, num_class=10, num_channel=1):
            super(LeNet5, self).__init__()
            # 定义所需要的运算
            self.conv1 = nn.Conv2d(num_channel, 6, 5, pad_mode='valid')
            self.conv2 = nn.Conv2d(6, 16, 5, pad_mode='valid')
            self.fc1 = nn.Dense(16 * 5 * 5, 120)
            self.fc2 = nn.Dense(120, 84)
            self.fc3 = nn.Dense(84, num_class)
            self.relu = nn.ReLU()
            self.max_pool2d = nn.MaxPool2d(kernel_size=2, stride=2)
            self.flatten = nn.Flatten()
    
        def construct(self, x):
            # 使用定义好的运算构建前向网络
            x = self.conv1(x)
            x = self.relu(x)
            x = self.max_pool2d(x)
            x = self.conv2(x)
            x = self.relu(x)
            x = self.max_pool2d(x)
            x = self.flatten(x)
            x = self.fc1(x)
            x = self.relu(x)
            x = self.fc2(x)
            x = self.relu(x)
            x = self.fc3(x)
            return x
    
    model = LeNet5()
    
    for m in model.parameters_and_names():
        print(m)

     

     

     

    import mindspore
    from mindspore import Tensor
    import mindspore.nn as nn
    
    import numpy as np
    
    conv2d = nn.Conv2d(1, 6, 5, has_bias=False, weight_init='normal', pad_mode='valid')
    input_x = Tensor(np.ones([1, 1, 32, 32]), mindspore.float32)
    
    print(conv2d(input_x).shape)

    import mindspore
    from mindspore import Tensor
    import mindspore.nn as nn
    
    import numpy as np
    
    relu = nn.ReLU()
    input_x = Tensor(np.array([-1, 2, -3, 2, -1]), mindspore.float16)
    output = relu(input_x)
    
    print(output)

    import mindspore
    from mindspore import Tensor
    import mindspore.nn as nn
    
    import numpy as np
    
    max_pool2d = nn.MaxPool2d(kernel_size=2, stride=2)
    input_x = Tensor(np.ones([1, 6, 28, 28]), mindspore.float32)
    
    print(max_pool2d(input_x).shape)

    import mindspore
    from mindspore import Tensor
    import mindspore.nn as nn
    
    import numpy as np
    
    flatten = nn.Flatten()
    input_x = Tensor(np.ones([1, 16, 5, 5]), mindspore.float32)
    output = flatten(input_x)
    
    print(output.shape)

    import mindspore
    from mindspore import Tensor
    import mindspore.nn as nn
    
    import numpy as np
    
    dense = nn.Dense(400, 120, weight_init='normal')
    input_x = Tensor(np.ones([1, 400]), mindspore.float32)
    output = dense(input_x)
    
    print(output.shape)

    本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注者,如有侵权请与博主联系。
  • 相关阅读:
    新版本ADT创建Android项目无法自动生成R文件解决办法
    关联android-support-v4源码关联不上的解决办法
    关于调用notifyDataSetChanged刷新PullToRefreshListView列表无反应解决办法
    如何使用RadioGroup和RadioButton实现FragmentTabHost导航效果?
    ProgressBar+WebView实现自定义浏览器
    Android之ProgressBar读取文件进度解析
    Android开发之ListView添加多种布局效果演示
    ubuntu释放snapd旧文件
    rte_kni
    follow RISC-V
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/14974762.html
Copyright © 2020-2023  润新知