首页 > 编程知识 正文

pytorch物体检测实战(pytorch底层用什么写的)

时间:2023-05-04 18:28:20 阅读:75600 作者:1405

注; 在调试时发生了变更的_tensor.py的678行中添加了detech

importtorchfromtorch.utilsimportdata #获取迭代数据from torch.autogradimportvariable # importtorchvisionfromtorchvision.datasets变量检索数据集import matplotlib.pyplot as plt# 数据集预处理data _ TF=torch vision.transforms.com pose ([ torch vision.transforms.to tensor ] torch vision.transforms.) 0.5 ) ] )数据路径=r ' d : (机械学习)数据' #获取数据集traiing transform=data_tf,download=true (测试Transform=data_tath,train=False,transform=data _ TF download=true (train _ loader=data.data loader ) train shuffle=True ) test_loader shuffle=true(#网络结构classCNNnet(torch.nn.module ) :def_init_ ) self ) 33365365306; self(_init_ ) self.conV1=torch.nn.sequential ) torch.nn.conv2d(in_channels=1,out_channels ) ) torch.nn.batchnorm2d(16 (,torch.nn.ReLU ) ) self.conV2=torch.nn.sequential ) torch.nn.conv2d ) 16, torch.nn.ReLU () ) self.conV3=Torch.nn.sequential ) torch.nn.conv 2d (32,64,3,2,1 ), Torch.nn.Baaar torch.nn.ReLU () ) self.conV4=Torch.nn.sequential ) torch.nn.conv 2d (64,64,2,2,2,0 ) Torch.nn.Baaar torch.nn.ReLU () ) self.ml P1=torch.nn.linear (2*2* 64,100 ) self.MLP2=torch.nn.Linn 10 ) ) ) 652 x65:x=self.conV1(x ) x=self.conv2(x ) x=self.conv3(x ) x=self.conv4(x ) print ) model ) loss _ func=torch.nn.crossentropyloss ) ) opt=lr=0.001 ) loss_count=[]forepochinrange(2) y )在枚举(train _ loader ) 3360batch_x=28 ) batch_y=variable(y ) #torch.size ) [128] )最终输出out=model 10]使用检索的batch_y ) #优化器反向传播损耗opt.zero_grad(#上次剩余更新参数值loss.backward ) #误差,计算参数更新值opt.step(# 将参数更新值应用于net的parmeters上的ifI==0:loss_count.append ) loss ) print({}:(t'.format ) I}的r ' d : CNN ' ) if i % 100==0: for a, bintest _ loader 3360 test _ x=variable (a ) test_y=Variable(b ) b ) out=model(test_x ) #print ) test _ ou ot test_y ) accuracy=torch.max(out,1 ) ).numpy ) test_y accuracy.mean () ) break PLT.figure (py torch _ CNN

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。