国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

怎么做跨境電商網站北京營銷公司比較好的

怎么做跨境電商網站,北京營銷公司比較好的,建設綜合信息網站需要多少錢,平面制圖自學教程文章目錄 前言一、完整代碼二、修改成自己的數(shù)據集總結 前言 膠囊網絡的概念可以先行搜索。 一、完整代碼 import torch import torch.nn.functional as F from torch import nn from torchvision import transforms, datasets from torch.optim import Adam from torch.util…

文章目錄

  • 前言
  • 一、完整代碼
  • 二、修改成自己的數(shù)據集
  • 總結


前言

膠囊網絡的概念可以先行搜索。


一、完整代碼

import torch
import torch.nn.functional as F
from torch import nn
from torchvision import transforms, datasets
from torch.optim import Adam
from torch.utils.data import DataLoader# 定義膠囊網絡中的膠囊層
class CapsuleLayer(nn.Module):def __init__(self, num_capsules, num_route_nodes, in_channels, out_channels, kernel_size=None, stride=None,num_iterations=3):super(CapsuleLayer, self).__init__()self.num_route_nodes = num_route_nodesself.num_iterations = num_iterationsself.num_capsules = num_capsulesif num_route_nodes != -1:self.route_weights = nn.Parameter(torch.randn(num_capsules, num_route_nodes, in_channels, out_channels))else:self.capsules = nn.ModuleList([nn.Conv2d(in_channels, out_channels, kernel_size=kernel_size, stride=stride, padding=0)for _ in range(num_capsules)])def squash(self, tensor, dim=-1):squared_norm = (tensor ** 2).sum(dim=dim, keepdim=True)scale = squared_norm / (1 + squared_norm)return scale * tensor / torch.sqrt(squared_norm)def forward(self, x):if self.num_route_nodes != -1:priors = x[None, :, :, None, :] @ self.route_weights[:, None, :, :, :]logits = torch.zeros(*priors.size()).to(x.device)for i in range(self.num_iterations):probs = F.softmax(logits, dim=2)outputs = self.squash((probs * priors).sum(dim=2, keepdim=True))if i != self.num_iterations - 1:delta_logits = (priors * outputs).sum(dim=-1, keepdim=True)logits = logits + delta_logitselse:outputs = [capsule(x).view(x.size(0), -1, 1) for capsule in self.capsules]outputs = torch.cat(outputs, dim=-2)outputs = self.squash(outputs)return outputs# 定義整個膠囊網絡模型
class CapsuleNet(nn.Module):def __init__(self):super(CapsuleNet, self).__init__()self.conv1 = nn.Conv2d(in_channels=1, out_channels=256, kernel_size=9, stride=1)self.primary_capsules = CapsuleLayer(num_capsules=8, num_route_nodes=-1, in_channels=256, out_channels=32,kernel_size=9, stride=2)self.digit_capsules = CapsuleLayer(num_capsules=10, num_route_nodes=32 * 6 * 6, in_channels=8,out_channels=16)def forward(self, x):x = F.relu(self.conv1(x), inplace=True)x = self.primary_capsules(x)x = self.digit_capsules(x).squeeze().transpose(0, 1)x = (x ** 2).sum(dim=-1) ** 0.5return x# 訓練和評估
def train(model, train_loader, optimizer, epoch):model.train()for batch_idx, (data, target) in enumerate(train_loader):data, target = data.to(device), target.to(device)optimizer.zero_grad()output = model(data)loss = F.cross_entropy(output, target)loss.backward()optimizer.step()if batch_idx % 10 == 0:print('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format(epoch, batch_idx * len(data), len(train_loader.dataset),100. * batch_idx / len(train_loader), loss.item()))def test(model, test_loader):model.eval()test_loss = 0correct = 0with torch.no_grad():for data, target in test_loader:data, target = data.to(device), target.to(device)output = model(data)test_loss += F.cross_entropy(output, target, reduction='sum').item()pred = output.argmax(dim=1, keepdim=True)correct += pred.eq(target.view_as(pred)).sum().item()test_loss /= len(test_loader.dataset)print('\nTest set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n'.format(test_loss, correct, len(test_loader.dataset),100. * correct / len(test_loader.dataset)))# 數(shù)據加載和預處理
transform = transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307,), (0.3081,))
])train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transform)
test_dataset = datasets.MNIST(root='./data', train=False, transform=transform)train_loader = DataLoader(train_dataset, batch_size=64, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=64, shuffle=True)# 設置設備
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")# 初始化模型和優(yōu)化器
model = CapsuleNet().to(device)
optimizer = Adam(model.parameters())# 訓練和測試模型
num_epochs = 10
for epoch in range(num_epochs):train(model, train_loader, optimizer, epoch)test(model, test_loader)

二、修改成自己的數(shù)據集

以下幾個位置是需要修改的。


# 數(shù)據加載和預處理
transform = transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307,), (0.3081,))
])train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transform)
test_dataset = datasets.MNIST(root='./data', train=False, transform=transform)train_loader = DataLoader(train_dataset, batch_size=64, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=64, shuffle=True)

這些位置要根據數(shù)據集實際情況修改。主要是如果分辨率修改了,那么下面的也要跟著修改。

self.conv1 = nn.Conv2d(in_channels=1, out_channels=256, kernel_size=9, stride=1)
self.primary_capsules = CapsuleLayer(num_capsules=8, num_route_nodes=-1, in_channels=256, out_channels=32, kernel_size=9, stride=2)
self.digit_capsules = CapsuleLayer(num_capsules=10, num_route_nodes=32 * 6 * 6, in_channels=8,out_channels=16)

修改這3行代碼很容易報錯。要理解了以后修改。


總結

多試試。

http://aloenet.com.cn/news/38317.html

相關文章:

  • 門戶網站建設及運營品牌傳播推廣方案
  • 個人網站建站系統(tǒng)百度搜索排名
  • 做旅行攻略的網站百度廣告聯(lián)盟一個月能賺多少
  • 網站備案 新聞審批號百度seo點擊排名優(yōu)化
  • 手機網站css寫法廣州番禺最新發(fā)布
  • 建e網室內設計效果圖門廳百度如何優(yōu)化
  • 加強校園網站建設方案百度愛采購平臺登錄
  • 上海網站建設價格bt種子磁力搜索引擎
  • 自己做圖片上傳網站新聞軟文自助發(fā)布平臺
  • wordpress點擊分享功能如何進行網站性能優(yōu)化
  • 番禺網站制作費用新網域名
  • 表單大師 做網站濟南頭條今日新聞
  • 高性能網站建設指南pdfsem競價托管
  • b2b電子商務網站的收益模式主要有百度提交網站入口網址
  • wordpress數(shù)據大不行網站seo分析案例
  • 男女主網站上做的popo白度指數(shù)
  • 硅云網站建設視頻專門做推廣的軟文
  • 哪個公司做企業(yè)網站好網站如何推廣營銷
  • 網站架構的組成部分友情鏈接系統(tǒng)
  • 做網站做的自己做網站如何賺錢
  • 站長網站提交職業(yè)技能培訓平臺
  • seo優(yōu)化方向浙江seo推廣
  • 網站直播是未開票收入怎么做信息流廣告推廣
  • 網上購物商城er圖楓林seo工具
  • php網站開發(fā)實戰(zhàn)教程谷歌瀏覽器下載手機版
  • 網站驗證錢的分錄怎么做百度競價開戶
  • 佛山抖音seo茶葉seo網站推廣與優(yōu)化方案
  • 企通互聯(lián)的網站建設失敗互聯(lián)網宣傳方式有哪些
  • Java電商網站開發(fā)資源專業(yè)營銷策劃團隊
  • 營銷型企業(yè)網站模板重慶森林在線觀看