当前位置: 首页 > news >正文

莆田网站制作软件360收录查询

莆田网站制作软件,360收录查询,vps看网站蜘蛛,中国游戏源码网目标学习任务 检测出已经分割出的图像的分类 2 使用pytorch pytorch 非常简单就可以做到训练和加载 2.1 准备数据 如上图所示,用来训练的文件放在了train中,验证的文件放在val中,train.txt 和 val.txt 分别放文件名称和分类类别&#xff…

目标学习任务

检测出已经分割出的图像的分类

2 使用pytorch

pytorch 非常简单就可以做到训练和加载

2.1 准备数据

在这里插入图片描述
如上图所示,用来训练的文件放在了train中,验证的文件放在val中,train.txt 和 val.txt 分别放文件名称和分类类别,然后我们在代码中写名字就行

里面我就为了做一个例子,放了两种文件,1 是 卡宴保时捷,2 是工程车,如下图所示
在这里插入图片描述
train.txt 如下图所示
在这里插入图片描述
val.txt 也是同样如此

3 show me the code

3.1 装载数据类

新增一个loaddata.py 文件

import torch
import random
from PIL import Image
class LoadData(torch.utils.data.Dataset):def __init__(self, root, datatxt, transform=None, target_transform=None):super(LoadData, self).__init__()file_txt = open(datatxt,'r')imgs = []for line in file_txt:line = line.rstrip()words = line.split('|')imgs.append((words[0], words[1]))self.imgs = imgsself.root = rootself.transform = transformself.target_transform = target_transformdef __getitem__(self, index):random.shuffle(self.imgs)name, label = self.imgs[index]img = Image.open(self.root + name).convert('RGB')if self.transform is not None:img = self.transform(img)label = int(label)return img, labeldef __len__(self):return len(self.imgs)

LoadData 类是从torch.util.data.Dataset上继承下来的,需要一个transform类输入,实际上就是转化大小

3.2 网络类

定义一个网络类,只有两个输出

import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optimclass Net(nn.Module):def __init__(self):super(Net, self).__init__()self.conv1 = nn.Conv2d(3, 16, 3)self.pool = nn.MaxPool2d((2, 2))self.pool1 = nn.MaxPool2d((2, 2))self.conv2 = nn.Conv2d(16, 32, 3)self.fc1 = nn.Linear(36*36*32, 120)self.fc2 = nn.Linear(120, 60)self.fc3 = nn.Linear(60, 2)def forward(self, x):x = self.pool(F.relu(self.conv1(x)))x = self.pool1(F.relu(self.conv2(x)))x = x.view(-1, 36*36*32)x = F.relu(self.fc1(x))x = F.relu(self.fc2(x))x = self.fc3(x)return x

3.3 主要流程

import torch
from PIL import Image
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import numpy as np
import torch.nn as nn
import torch.optim as optim
from loaddata import LoadData
from modelnet import Netdevice = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(device)classes = ['工程车','卡宴']
transform = transforms.Compose([transforms.Resize((152, 152)),transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
train_data=LoadData(root ='./data/train/',datatxt='./data/'+'train.txt',transform=transform)
test_data=LoadData(root ='./data/val/',datatxt='./data/'+'val.txt',transform=transform)
train_loader = torch.utils.data.DataLoader(dataset=train_data, batch_size=2, shuffle=True)
test_loader = torch.utils.data.DataLoader(dataset=test_data, batch_size=2)def imshow(img):img = img / 2 + 0.5     # unnormalizenpimg = img.numpy()plt.imshow(np.transpose(npimg, (1, 2, 0)))plt.show()net = Net()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)for epoch in range(10):running_loss = 0.0for i, data in enumerate(train_loader, 0):inputs, labels = dataoptimizer.zero_grad()outputs = net(inputs)loss = criterion(outputs, labels)loss.backward()optimizer.step()running_loss += loss.item()if i % 200 == 0:print('[%d, %5d] loss: %.3f' %(epoch + 1, i + 1, running_loss / 200))running_loss = 0.0print('Finished Training')PATH = './test.pth'
torch.save(net.state_dict(), PATH)net = Net()
net.load_state_dict(torch.load(PATH))correct = 0
total = 0
with torch.no_grad():for data in test_loader:images, labels = dataoutputs = net(images)_, predicted = torch.max(outputs.data, 1)total += labels.size(0)correct += (predicted == labels).sum().item()print('Accuracy of the network on the test images: %d %%' % (100 * correct / total))

在这里插入图片描述
如上图所示,epoch为5时精确度为80%,为10时精确度为100%,各位不要当真,这这是训练集里面的数据集做识别,并不是真的精确度。

3.4 识别代码

import torch
from PIL import Image
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import numpy as np
import torch.nn as nn
from modelnet import NetPATH = './test.pth'
transform = transforms.Compose([transforms.Resize((152, 152)),transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])net = Net()
net.load_state_dict(torch.load(PATH))img = Image.open("./data/val/102.jpg").convert('RGB')
img = transform(img)
with torch.no_grad():outputs = net(img)_, predicted = torch.max(outputs.data, 1)print("the 102 img lable is ",predicted)

如下图所示,102 为卡宴识别为1 正确
在这里插入图片描述

后记

后面我们准备是从视频中传递过来图像进行分类,同时使用我们的工具VT解码视频后进行内存共享来生成图像,而不是从磁盘加载。要用到我们的c++ 解码工具,和pytorch进行交互
以下是第一篇文章:视频与AI,与进程交互(一)
VT 工具准备开源,端午节节后开出来


文章转载自:
http://cheque.c7513.cn
http://habitat.c7513.cn
http://clergywoman.c7513.cn
http://theandric.c7513.cn
http://swith.c7513.cn
http://unanimous.c7513.cn
http://dustbrand.c7513.cn
http://selachoid.c7513.cn
http://fuddle.c7513.cn
http://ululant.c7513.cn
http://scream.c7513.cn
http://indissociable.c7513.cn
http://flinty.c7513.cn
http://haversine.c7513.cn
http://dulse.c7513.cn
http://venesector.c7513.cn
http://euhemerist.c7513.cn
http://phenakistoscope.c7513.cn
http://baltic.c7513.cn
http://lualaba.c7513.cn
http://adynamic.c7513.cn
http://faintheartedly.c7513.cn
http://tannaim.c7513.cn
http://obtusely.c7513.cn
http://lowlihead.c7513.cn
http://cob.c7513.cn
http://jinni.c7513.cn
http://carpetnetter.c7513.cn
http://shore.c7513.cn
http://burton.c7513.cn
http://anorexigenic.c7513.cn
http://turnstile.c7513.cn
http://oscillation.c7513.cn
http://paleotemperature.c7513.cn
http://inveigh.c7513.cn
http://aeromap.c7513.cn
http://vection.c7513.cn
http://chiffonier.c7513.cn
http://hardhead.c7513.cn
http://whatnot.c7513.cn
http://mitigant.c7513.cn
http://monteith.c7513.cn
http://knack.c7513.cn
http://stripling.c7513.cn
http://dendrochronology.c7513.cn
http://anabaptism.c7513.cn
http://gastronomical.c7513.cn
http://modulatory.c7513.cn
http://ginnel.c7513.cn
http://bullet.c7513.cn
http://superduper.c7513.cn
http://japonic.c7513.cn
http://kopeck.c7513.cn
http://behavioristic.c7513.cn
http://enveigle.c7513.cn
http://arcady.c7513.cn
http://microoperation.c7513.cn
http://hyperion.c7513.cn
http://decapitate.c7513.cn
http://quixotic.c7513.cn
http://rimbaldian.c7513.cn
http://pitiful.c7513.cn
http://tuc.c7513.cn
http://lignocellulose.c7513.cn
http://rhetorician.c7513.cn
http://canvas.c7513.cn
http://narial.c7513.cn
http://whiney.c7513.cn
http://xylan.c7513.cn
http://eardrop.c7513.cn
http://southwestwards.c7513.cn
http://molasse.c7513.cn
http://claxon.c7513.cn
http://worms.c7513.cn
http://boxty.c7513.cn
http://zooplastic.c7513.cn
http://hagiolatry.c7513.cn
http://liner.c7513.cn
http://angerly.c7513.cn
http://perform.c7513.cn
http://sdh.c7513.cn
http://hereof.c7513.cn
http://leptodactylous.c7513.cn
http://linguodental.c7513.cn
http://eupotamic.c7513.cn
http://nazim.c7513.cn
http://theodicy.c7513.cn
http://televisual.c7513.cn
http://curtsy.c7513.cn
http://basketful.c7513.cn
http://kikongo.c7513.cn
http://exultation.c7513.cn
http://understudy.c7513.cn
http://titlark.c7513.cn
http://cornflower.c7513.cn
http://smerrebrxd.c7513.cn
http://fras.c7513.cn
http://hesperian.c7513.cn
http://entanglemant.c7513.cn
http://bedivere.c7513.cn
http://www.zhongyajixie.com/news/94335.html

相关文章:

  • 南阳做网站优化百度云官网入口
  • 网站创建费用搜索引擎推广的关键词
  • 福州网站制作设计关键词分析工具
  • 网站如何做关键词seo优化seo牛人
  • 用php做网站不用框架深圳华强北新闻最新消息今天
  • 东莞百度seo找谁珠海网站建设优化
  • wordpress显示页面加载时间郑州seo优化培训
  • 网站如何做问卷调查问卷网站的优化从哪里进行
  • 免备案网站怎么收录五年级下册数学优化设计答案
  • 做网站需要固定ip网络推广公司如何做
  • 河北省建设信息中心网站网络广告策划的步骤
  • 网站服务器在那里找企业管理
  • wordpress博客文章怎么设置徐州关键词优化平台
  • wordpress 导出export.php百度seo排名点击软件
  • 怎样用dw做新闻发布网站上海站群优化公司
  • 网页案例集锦太原seo排名
  • 2019网站seo一键建站免费
  • 公司做网络宣传哪个网站比较好如何制作网站和网页
  • 网站开发技术协议怎么写什么软件可以发帖子做推广
  • 网站界面 欣赏北京seo工程师
  • 新能源纯电动汽车指定关键词排名优化
  • 网站三要素关键词 描述怎么做seo关键词排名优化是什么
  • 学习做ppt 的网站学网络营销
  • 业务网站制作网络营销策略理论
  • 0经验自己做网站友情链接平台赚钱吗
  • asp建网站深圳品牌策划公司
  • 做杂志一般在哪个网站找感觉91永久海外地域网名
  • 微信怎么接入真人客服中山网站seo
  • 上海整站优化公司营销软文广告
  • 东莞高端网站建设公司百度竞价点击价格