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

怎么0成本做网站广告推广赚钱

怎么0成本做网站,广告推广赚钱,军事头条新闻,网站目录结构改变- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/rnFa-IeY93EpjVu0yzzjkw) 中的学习记录博客** - **🍖 原作者:[K同学啊](https://mtyjkh.blog.csdn.net/)** 一:前期准备工作 1.设置硬件设备 impo…

- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/rnFa-IeY93EpjVu0yzzjkw) 中的学习记录博客**
- **🍖 原作者:[K同学啊](https://mtyjkh.blog.csdn.net/)**

一:前期准备工作

1.设置硬件设备

import torch.nn as nn
import torch.nn.functional as F
import torchvision,torchdevice = torch.device("cuda" if torch.cuda.is_available() else "cpu")
device

import numpy as np
import pandas as pd
import seaborn as sns
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
plt.rcParams['savefig.dpi'] = 500
plt.rcParams['figure.dpi'] = 500
plt.rcParams['font.sans-serif'] = ['SimHei']import warnings
warnings.filterwarnings('ignore')df = pd.read_csv("/content/drive/MyDrive/alzheimers_disease_data.csv")
df = df.iloc[:,1:-1]
df

二:构建数据集

1.标准化

from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_splitX = df.iloc[:,:-1]
y = df.iloc[:,-1]
sc = StandardScaler()
X = sc.fit_transform(X)

2.划分数据集

X = torch.tensor(np.array(X),dtype = torch.float32)
y = torch.tensor(np.array(y),dtype = torch.int64)X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=1)
X_train.shape,y_train.shape

3.构建数据加载器

from torch.utils.data import TensorDataset,DataLoader
train_dl = DataLoader(TensorDataset(X_train,y_train),batch_size=64,shuffle=True)
test_dl = DataLoader(TensorDataset(X_test,y_test),batch_size=64,shuffle=True)

三:模型训练

1.构建模型

class model_rnn(nn.Module):def __init__(self):super(model_rnn, self).__init__()self.rnn0 = nn.RNN(input_size=32,hidden_size=200,num_layers=1,batch_first=True)self.fc0 = nn.Linear(200,50)self.fc1 = nn.Linear(50,2)def forward(self,x):out,hidden1 = self.rnn0(x)out = self.fc0(out)out = self.fc1(out)return out
model = model_rnn()
model.to(device)
model

2.定义训练函数

# 训练循环
def train(dataloader, model, loss_fn, optimizer):size = len(dataloader.dataset)  # 训练集的大小num_batches = len(dataloader)   # 批次数目, (size/batch_size,向上取整)train_loss, train_acc = 0, 0  # 初始化训练损失和正确率for X, y in dataloader:  # 获取图片及其标签X, y = X.to(device), y.to(device)# 计算预测误差pred = model(X)          # 网络输出loss = loss_fn(pred, y)  # 计算网络输出pred和真实值y之间的差距,y为真实值,计算二者差值即为损失# 反向传播optimizer.zero_grad()  # grad属性归零loss.backward()        # 反向传播optimizer.step()       # 每一步自动更新# 记录acc与losstrain_acc  += (pred.argmax(1) == y).type(torch.float).sum().item()train_loss += loss.item()train_acc  /= sizetrain_loss /= num_batchesreturn train_acc, train_loss

3.定义测试函数 

def test(dataloader, model, loss_fn):size = len(dataloader.dataset)  # 训练集的大小num_batches = len(dataloader)   # 批次数目, (size/batch_size,向上取整)test_loss, test_acc = 0, 0  # 初始化测试损失和正确率# 当不进行训练时,停止梯度更新,节省计算内存消耗# with torch.no_grad():for imgs, target in dataloader:  # 获取图片及其标签with torch.no_grad():imgs, target = imgs.to(device), target.to(device)# 计算误差tartget_pred = model(imgs)          # 网络输出loss = loss_fn(tartget_pred, target)  # 计算网络输出和真实值之间的差距,targets为真实值,计算二者差值即为损失# 记录acc与losstest_loss += loss.item()test_acc  += (tartget_pred.argmax(1) == target).type(torch.float).sum().item()test_acc  /= sizetest_loss /= num_batchesreturn test_acc, test_loss

4.正式训练模型

loss_fn = nn.CrossEntropyLoss()
opt = torch.optim.Adam(model.parameters(),lr=5e-5)
epochs     = 50
train_loss = []
train_acc  = []
test_loss  = []
test_acc   = []for epoch in range(epochs):model.train()epoch_train_acc, epoch_train_loss = train(train_dl, model, loss_fn, opt)model.eval()epoch_test_acc, epoch_test_loss = test(test_dl, model, loss_fn)train_acc.append(epoch_train_acc)train_loss.append(epoch_train_loss)test_acc.append(epoch_test_acc)test_loss.append(epoch_test_loss)lr = opt.state_dict()['param_groups'][0]['lr']template = ('Epoch:{:2d}, Train_acc:{:.1f}%, Train_loss:{:.3f}, Test_acc:{:.1f}%,Test_loss:{:.3f}, Lr:{:.2E}')print(template.format(epoch+1, epoch_train_acc*100, epoch_train_loss, epoch_test_acc*100, epoch_test_loss,lr))
print("="*20,'Done',"="*20)

 

四:模型评估

1.Loss与Accuracy图

import matplotlib.pyplot as plt
#隐藏警告
import warnings
warnings.filterwarnings("ignore")               #忽略警告信息
plt.rcParams['font.sans-serif']    = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False      # 用来正常显示负号
plt.rcParams['figure.dpi']         = 200        #分辨率from datetime import datetime
current_time = datetime.now() # 获取当前时间epochs_range = range(epochs)plt.figure(figsize=(12, 3))
plt.subplot(1, 2, 1)plt.plot(epochs_range, train_acc, label='Training Accuracy')
plt.plot(epochs_range, test_acc, label='Test Accuracy')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')
plt.xlabel(current_time) plt.subplot(1, 2, 2)
plt.plot(epochs_range, train_loss, label='Training Loss')
plt.plot(epochs_range, test_loss, label='Test Loss')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.show()

 

2.混淆矩阵

print("============输入数据shape为============")
print("X_test.shape: ",X_test.shape)
print("y_test.shape: ",y_test.shape)pred = model(X_test.to(device)).argmax(1).cpu().numpy()
print("============输出数据shape为============")
print("pred.shape: ",pred.shape)

#混淆矩阵
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, pred)
plt.figure(figsize=(6,5))
plt.suptitle('')
sns.heatmap(cm, annot=True,fmt="d",cmap='Blues')plt.xticks(fontsize=10)
plt.yticks(fontsize=10)
plt.title("Confusion Matrix",fontsize=12)
plt.xlabel('Predicted labels')
plt.ylabel('True labels')
plt.tight_layout()
plt.show()

3.调用模型进行预测

test_X = X_test[0].reshape(1,-1)
pred = model(test_X.to(device)).argmax(1).item()
print("预测结果为:",pred)
print("=="*20)
print("0: 未患病")
print("1: 已患病")

http://www.dtcms.com/wzjs/224264.html

相关文章:

  • 一流的郑州网站建设站长seo查询工具
  • 网站上的产品五星怎样做优化公司网站免费建站
  • 龙华做网站公司市场营销八大营销模式
  • wordpress文章无法访问专业seo排名优化费用
  • 收录排名好的发帖网站免费下载百度并安装
  • 网站分几种类型西安优化seo托管
  • 宽创国际的展馆设计案例石家庄抖音seo
  • 做金融在那个网站上找工作宁德网站建设制作
  • 天津去山西高铁做哪个网站seo三人行网站
  • 佛山微信网站建设哪家好网络平台推广具体是怎么推广
  • 怎么做网站dns加速第三方营销策划公司有哪些
  • 西部数码 网站建设百度服务商
  • 新疆网站建设龙腾四海百度收录推广
  • 随便玩玩在线制作网站seo做的好的网站
  • wordpress 网站加密代写文章兼职
  • 做网站的成本有多少百度网页版网址
  • wordpress 云播插件seo点击排名软件哪家好
  • 公司申请网站建设申请理由nba最新交易汇总实时更新
  • 做百度竞价网站搜索不到免费推广平台有哪些
  • 南京做网站建设的公司58同城推广
  • 网站模板 哪个好效果好的东莞品牌网站建设
  • 个人域名怎么做网站seo优化培训机构
  • 常见的门户网站有哪些自动推广软件免费
  • 拍卖网站模版短视频seo排名
  • 需要网站建设惠州网络推广
  • pc三合一网站关键词小说
  • 展示型网站有哪些企业网站设计制作
  • 阿里巴巴有单独网站建设吗怎么网络推广
  • 为什么无法再社保网站上做减员品牌营销做得好的品牌有哪些
  • 如何分析网站日志saas建站