1. 程式人生 > 資訊 >中國自主研製,世界首臺千噸級架橋機“崑崙號”完成海上鋪架

中國自主研製,世界首臺千噸級架橋機“崑崙號”完成海上鋪架

被逼無奈,越來越多公司需要SLAM和深度學習或者相機結合

import torch
import torch.nn as nn
import torch.nn.functional as F#包含 torch.nn 庫中所有函式


class Net(nn.Module):

    def __init__(self):
        super(Net, self).__init__()
        # 1 input image channel, 6 output channels, 5x5 square convolution 通道數就是上圖中的切片數
        # kernel
        self.conv1 = nn.Conv2d(1, 6, 5)#輸入1通道輸出6通道 5*5的卷積核
        self.conv2 = nn.Conv2d(6, 16, 5)#輸入6通道輸出16通道 5*5的卷積核
        # an affine operation: y = Wx + b 這就是relu啟用函式 輸出結果為max(0,Wx + b)
        self.fc1 = nn.Linear(16 * 5 * 5, 120)  # 5*5 from image dimension 全連線層 輸入為卷積和降取樣(池化)後的圖片 16通道 5*5大小
        self.fc2 = nn.Linear(120, 84)
        self.fc3 = nn.Linear(84, 10)#對應圖片中的全連線層 也就是最後的那一部分

    def forward(self, x):
        # Max pooling over a (2, 2) window
        x = F.max_pool2d(F.relu(self.conv1(x)), (2, 2)) #relu啟用 然後進行池化
        # 如果池化平面二維度長度相同 則(2, 2)可以用 2 來替代 如下:
        x = F.max_pool2d(F.relu(self.conv2(x)), 2) #relu啟用 然後進行池化
        x = torch.flatten(x, 1) # flatten all dimensions except the batch dimension 推平合併
        x = F.relu(self.fc1(x)) #relu啟用
        x = F.relu(self.fc2(x)) #relu啟用
        x = self.fc3(x) #relu啟用
        return x


net = Net()
print(net)