import pandas as pd
import os
os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
from tqdm import tqdm
dir_path = './data/train'
dirs = os.listdir(dir_path)
tmp_path, tmp_label = [], []
for path in dirs:
label=0
if path.split('.')[0]=='daisy':
label = 1
if path.split('.')[0] == 'dandelion':
label = 2
if path.split('.')[0] == 'roses':
label = 3
if path.split('.')[0] == 'sunflowers':
label = 4
if path.split('.')[0] == 'tulips':
label = 5
tmp_label.append(label)
tmp_path.append(os.path.join(dir_path, path))
csv_data = {'path': tmp_path, 'label':tmp_label}
data = pd.DataFrame(csv_data)
data.to_csv('./data/data.csv')
data = data.sample(frac=1)
train_data = data[:int(len(data)*0.85)]
val_data = data[int(len(data)*0.85):]
print('共划分训练集样本{}个,验证集样本{}个'.format(len(train_data), len(val_data)))
import torch
from torch import nn
from torch.utils.data import Dataset, DataLoader
import torch.nn.functional as F
from torchvision import models
from torchvision import transforms
from PIL import Image
import cv2
import numpy as np
vgg16 = models.vgg16(pretrained=True)
vgg16.classifier[-1] = nn.Linear(4096, 6, bias=True)
vgg16.classifier
for param in vgg16.features.parameters():
param.requires_grad = False
class VggDataset(Dataset):
def __init__(self, data):
super(VggDataset, self).__init__()
self.path = data['path']
self.label = data['label']
self.len = len(self.path)
self.transform = transforms.Compose([
transforms.Resize((224, 224)), # 重置图像分辨率
transforms.ToTensor(), # 转化为张量并归一化至[0-1]
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
])
def __getitem__(self, index):
img = self.transform(Image.open(self.path.iloc[index]))
return img, torch.LongTensor([self.label.iloc[index]]).squeeze()
def __len__(self):
return self.len
BATCH_SIZE = 8
EPOCHS = 10
lr = 0.001
# device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
device = torch.device("cuda" )
train_set = VggDataset(train_data)
val_set = VggDataset(val_data)
train_loader = DataLoader(train_set, batch_size=BATCH_SIZE, shuffle=True)
val_loader = DataLoader(val_set, batch_size=BATCH_SIZE, shuffle=False)
loss_stack = []
val_acc = []
optimizer = torch.optim.Adam(vgg16.parameters(), lr=lr)
loss_fn = torch.nn.CrossEntropyLoss()
vgg16 = vgg16.to(device)
for epoch in tqdm(range(EPOCHS)):
vgg16.train()
all_loss = 0
for data, labels in train_loader:
data, labels = data.to(device), labels.to(device)
preds = vgg16(data)
loss = loss_fn(preds, labels)
all_loss += loss.detach().cpu().numpy()
optimizer.zero_grad()
loss.backward()
optimizer.step()
loss_stack.append(all_loss)
vgg16.eval()
count = 0
data_num = 0
for data, labels in val_loader:
data, labels = data.to(device), labels.to(device)
preds = vgg16(data)
pred_labels = torch.argmax(preds, dim=1)
for i, p in enumerate(pred_labels):
if p == labels[i]:
count += 1
data_num += data.shape[0]
val_acc.append(count / data_num)
torch.save(vgg16, "vgg16_model.pth")
import matplotlib.pyplot as plt
plt.subplot(1, 2, 1)
plt.plot(val_acc, c='red')
plt.subplot(1, 2, 2)
plt.plot(loss_stack, c='red')
plt.show()
print('val_acc',val_acc[-1])
print('loss_stack',loss_stack[-1])
没有合适的资源?快使用搜索试试~ 我知道了~
语音分类问题处理,使用keras
共334个文件
jpg:331个
py:2个
csv:1个
0 下载量 14 浏览量
2024-04-21
17:12:56
上传
评论
收藏 22.45MB RAR 举报
温馨提示
语音分类问题处理,使用keras
资源推荐
资源详情
资源评论
收起资源包目录
语音分类问题处理,使用keras (334个子文件)
data.csv 16KB
sunflowers.244074259_47ce6d3ef9.jpg 237KB
sunflowers.200011914_93f57ed68b.jpg 226KB
tulips.142235914_5419ff8a4a.jpg 220KB
sunflowers.201809908_0ef84bb351.jpg 218KB
roses.466486216_ab13b55763.jpg 210KB
tulips.155097272_70feb13184.jpg 208KB
tulips.175686816_067a8cb4c5.jpg 207KB
tulips.142235017_07816937c6.jpg 199KB
sunflowers.215798352_184d8040d1.jpg 192KB
sunflowers.310380634_60e6c79989.jpg 191KB
tulips.405035580_94b793e71d.jpg 184KB
daisy.27.jpg 181KB
sunflowers.210076535_80951bc5d5.jpg 180KB
sunflowers.175638423_058c07afb9.jpg 179KB
tulips.110147301_ad921e2828.jpg 179KB
tulips.176458518_f81d4bff8e.jpg 172KB
dandelion.155646858_9a8b5e8fc8.jpg 172KB
sunflowers.2067882323_8de6623ffd.jpg 170KB
roses.756943228_e15a7b2318.jpg 170KB
sunflowers.184683023_737fec5b18.jpg 162KB
dandelion.148698493_5710e5f472.jpg 162KB
tulips.444963906_e41492b692.jpg 159KB
sunflowers.864957037_c75373d1c5.jpg 159KB
sunflowers.184682506_8a9b8c662d.jpg 158KB
sunflowers.200557977_bf24d9550b.jpg 155KB
sunflowers.877083343_e3338c4125.jpg 155KB
sunflowers.215798354_429de28c2d.jpg 152KB
dandelion.463736819_f779800165.jpg 150KB
dandelion.151979452_9832f08b69.jpg 149KB
sunflowers.200557983_10a88672fc.jpg 148KB
sunflowers.1485456230_58d8e45e88.jpg 146KB
roses.1392579828_ab5a139052.jpg 146KB
sunflowers.184682320_73ccf74710.jpg 144KB
roses.494803274_f84f21d53a.jpg 143KB
sunflowers.1267876087_a1b3c63dc9.jpg 140KB
sunflowers.1008566138_6927679c8a.jpg 140KB
sunflowers.184682095_46f8607278.jpg 140KB
sunflowers.1484598527_579a272f53.jpg 140KB
sunflowers.215798357_3f4bfa27b7.jpg 139KB
sunflowers.1217254584_4b3028b93d.jpg 137KB
roses.568715474_bdb64ccc32.jpg 137KB
roses.537207677_f96a0507bb.jpg 136KB
tulips.54895006_55b49052dc.jpg 136KB
dandelion.138166590_47c6cb9dd0.jpg 135KB
sunflowers.45045005_57354ee844.jpg 134KB
roses.1775233884_12ff5a124f.jpg 134KB
daisy.31.jpg 134KB
sunflowers.1788133737_b1133d1aa7.jpg 133KB
daisy.22.jpg 132KB
roses.165985535_7178ce6350.jpg 131KB
tulips.251811158_75fa3034ff.jpg 130KB
daisy.13.jpg 130KB
sunflowers.821368661_4ab4343f5a.jpg 127KB
tulips.443600168_cb08d56511.jpg 127KB
roses.1445228333_59a07e0801.jpg 127KB
daisy.49.jpg 126KB
roses.515121050_dcb99890be.jpg 125KB
daisy.64.jpg 125KB
daisy.48.jpg 124KB
dandelion.344318990_7be3fb0a7d.jpg 124KB
dandelion.139124974_9e3ba69f6c.jpg 123KB
tulips.440714501_9f8268e1b0.jpg 122KB
sunflowers.164670176_9f5b9c7965.jpg 122KB
daisy.58.jpg 121KB
sunflowers.678714585_addc9aaaef.jpg 120KB
daisy.53.jpg 120KB
dandelion.340190928_d77bf4d615.jpg 119KB
roses.353897245_5453f35a8e.jpg 116KB
roses.898102603_2d5152f09a.jpg 115KB
dandelion.140951103_69847c0b7c.jpg 113KB
roses.410425647_4586667858.jpg 112KB
roses.410421672_563550467c.jpg 110KB
dandelion.458011386_ec89115a19.jpg 109KB
dandelion.145173479_7d04346c20.jpg 108KB
sunflowers.164672339_f2b5b164f6.jpg 108KB
daisy.62.jpg 107KB
roses.174109630_3c544b8a2f.jpg 107KB
daisy.46.jpg 106KB
roses.685724528_6cd5cbe203.jpg 105KB
roses.295257304_de893fc94d.jpg 105KB
daisy.43.jpg 104KB
daisy.21.jpg 103KB
sunflowers.2307673262_e1e1aefd29.jpg 103KB
roses.319298955_0c72bd36bf.jpg 102KB
sunflowers.1297092593_e573c0a3d6.jpg 102KB
tulips.134143359_71fa8dd9a4.jpg 101KB
roses.527513005_41497ca4dc.jpg 101KB
roses.172311368_49412f881b.jpg 101KB
daisy.56.jpg 99KB
roses.1485142251_ca89254442.jpg 99KB
roses.1402130395_0b89d76029.jpg 99KB
roses.1446097778_97149b8362.jpg 98KB
roses.563847503_89e9756c80.jpg 98KB
dandelion.9818247_e2eac18894.jpg 97KB
roses.505517255_cfbb6f6394.jpg 97KB
sunflowers.253586685_ee5b5f5232.jpg 95KB
sunflowers.1244774242_25a20d99a9.jpg 95KB
sunflowers.1240624822_4111dde542.jpg 95KB
sunflowers.1044296388_912143e1d4.jpg 94KB
共 334 条
- 1
- 2
- 3
- 4
资源评论
coleman114
- 粉丝: 85
- 资源: 32
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功