diff --git a/Online/inference/04-FCN/mindspore_fcn8s.ipynb b/Online/inference/04-FCN/mindspore_fcn8s.ipynb index e39fffd..15b4839 100644 --- a/Online/inference/04-FCN/mindspore_fcn8s.ipynb +++ b/Online/inference/04-FCN/mindspore_fcn8s.ipynb @@ -382,6 +382,7 @@ "outputs": [], "source": [ "import mindspore.nn as nn\n", + "import mindspore as mint\n", "\n", "class FCN8s(nn.Cell):\n", " def __init__(self, n_class):\n", @@ -395,89 +396,89 @@ " self.n_class = n_class\n", " # 卷积块1:两个3x3卷积层和BN层,后接最大池化层\n", " self.conv1 = nn.SequentialCell(\n", - " nn.Conv2d(in_channels=3, out_channels=64,\n", + " mint.nn.Conv2d(in_channels=3, out_channels=64,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(64),\n", - " nn.ReLU(),\n", - " nn.Conv2d(in_channels=64, out_channels=64,\n", + " mint.nn.BatchNorm2d(64),\n", + " mint.nn.ReLU(),\n", + " mint.nn.Conv2d(in_channels=64, out_channels=64,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(64),\n", - " nn.ReLU()\n", + " mint.nn.BatchNorm2d(64),\n", + " mint.nn.ReLU()\n", " )\n", " self.pool1 = nn.MaxPool2d(kernel_size=2, stride=2)\n", " # 卷积块2:两个3x3卷积层和BN层,后接最大池化层\n", " self.conv2 = nn.SequentialCell(\n", - " nn.Conv2d(in_channels=64, out_channels=128,\n", + " mint.nn.Conv2d(in_channels=64, out_channels=128,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(128),\n", - " nn.ReLU(),\n", - " nn.Conv2d(in_channels=128, out_channels=128,\n", + " mint.nn.BatchNorm2d(128),\n", + " mint.nn.ReLU(),\n", + " mint.nn.Conv2d(in_channels=128, out_channels=128,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(128),\n", - " nn.ReLU()\n", + " mint.nn.BatchNorm2d(128),\n", + " mint.nn.ReLU()\n", " )\n", " self.pool2 = nn.MaxPool2d(kernel_size=2, stride=2)\n", " # 卷积块3:三个3x3卷积层和BN层,后接最大池化层\n", " self.conv3 = nn.SequentialCell(\n", - " nn.Conv2d(in_channels=128, out_channels=256,\n", + " mint.nn.Conv2d(in_channels=128, out_channels=256,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(256),\n", - " nn.ReLU(),\n", - " nn.Conv2d(in_channels=256, out_channels=256,\n", + " mint.nn.BatchNorm2d(256),\n", + " mint.nn.ReLU(),\n", + " mint.nn.Conv2d(in_channels=256, out_channels=256,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(256),\n", - " nn.ReLU(),\n", - " nn.Conv2d(in_channels=256, out_channels=256,\n", + " mint.nn.BatchNorm2d(256),\n", + " mint.nn.ReLU(),\n", + " mint.nn.Conv2d(in_channels=256, out_channels=256,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(256),\n", - " nn.ReLU()\n", + " mint.nn.BatchNorm2d(256),\n", + " mint.nn.ReLU()\n", " )\n", " self.pool3 = nn.MaxPool2d(kernel_size=2, stride=2)\n", " # 卷积块4:三个3x3卷积层和BN层,后接最大池化层\n", " self.conv4 = nn.SequentialCell(\n", - " nn.Conv2d(in_channels=256, out_channels=512,\n", + " mint.nn.Conv2d(in_channels=256, out_channels=512,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(512),\n", - " nn.ReLU(),\n", - " nn.Conv2d(in_channels=512, out_channels=512,\n", + " mint.nn.BatchNorm2d(512),\n", + " mint.nn.ReLU(),\n", + " mint.nn.Conv2d(in_channels=512, out_channels=512,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(512),\n", - " nn.ReLU(),\n", - " nn.Conv2d(in_channels=512, out_channels=512,\n", + " mint.nn.BatchNorm2d(512),\n", + " mint.nn.ReLU(),\n", + " mint.nn.Conv2d(in_channels=512, out_channels=512,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(512),\n", - " nn.ReLU()\n", + " mint.nn.BatchNorm2d(512),\n", + " mint.nn.ReLU()\n", " )\n", " self.pool4 = nn.MaxPool2d(kernel_size=2, stride=2)\n", " # 卷积块5:三个3x3卷积层和BN层,后接最大池化层\n", " self.conv5 = nn.SequentialCell(\n", - " nn.Conv2d(in_channels=512, out_channels=512,\n", + " mint.nn.Conv2d(in_channels=512, out_channels=512,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(512),\n", - " nn.ReLU(),\n", - " nn.Conv2d(in_channels=512, out_channels=512,\n", + " mint.nn.BatchNorm2d(512),\n", + " mint.nn.ReLU(),\n", + " mint.nn.Conv2d(in_channels=512, out_channels=512,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(512),\n", - " nn.ReLU(),\n", - " nn.Conv2d(in_channels=512, out_channels=512,\n", + " mint.nn.BatchNorm2d(512),\n", + " mint.nn.ReLU(),\n", + " mint.nn.Conv2d(in_channels=512, out_channels=512,\n", " kernel_size=3, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(512),\n", - " nn.ReLU()\n", + " mint.nn.BatchNorm2d(512),\n", + " mint.nn.ReLU()\n", " )\n", " self.pool5 = nn.MaxPool2d(kernel_size=2, stride=2)\n", " # 全卷积层6:7x7卷积层和BN层,用于代替全连接层\n", " self.conv6 = nn.SequentialCell(\n", - " nn.Conv2d(in_channels=512, out_channels=4096,\n", + " mint.nn.Conv2d(in_channels=512, out_channels=4096,\n", " kernel_size=7, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(4096),\n", - " nn.ReLU(),\n", + " mint.nn.BatchNorm2d(4096),\n", + " mint.nn.ReLU(),\n", " )\n", " # 全卷积层7:1x1卷积层和BN层,用于代替全连接层\n", " self.conv7 = nn.SequentialCell(\n", - " nn.Conv2d(in_channels=4096, out_channels=4096,\n", + " mint.nn.Conv2d(in_channels=4096, out_channels=4096,\n", " kernel_size=1, weight_init='xavier_uniform'),\n", - " nn.BatchNorm2d(4096),\n", - " nn.ReLU(),\n", + " mint.nn.BatchNorm2d(4096),\n", + " mint.nn.ReLU(),\n", " )\n", " # 产生分数图的层\n", " self.score_fr = nn.Conv2d(in_channels=4096, out_channels=self.n_class,\n",