简介:李沐《动手学深度学习》d2l——安装和使用
李沐《动手学深度学习》d2l——安装和使用
随着深度学习技术的不断发展,越来越多的人开始关注并学习这一领域。为了帮助大家更好地理解和应用深度学习,李沐等人推出了一本非常实用的书籍——《动手学深度学习》。其中,d2l是该书中的重要组成部分,它是一个用于深度学习的开源库,提供了许多实用的工具和算法。本文将重点介绍d2l的安装和使用方法。
一、安装d2l
d2l的安装非常简单,只需按照以下步骤操作即可:
install.sh脚本,按照提示安装依赖项。
import d2l
# 定义模型和优化器net = d2l.conv_net(...) # 替换为您定义的模型架构和参数optimizer = torch.optim.SGD(net.parameters(), lr=0.01)# 准备数据集和加载器train_iter = iter(d2l.load_data_fashion_mnist(batch_size=64)) # 替换为您需要的数据集和参数test_iter = iter(d2l.load_data_fashion_mnist(batch_size=64, is_train=False)) # 同上# 训练模型num_epochs = 10 # 设置训练轮数for epoch in range(num_epochs):for inputs, labels in train_iter:optimizer.zero_grad() # 清零梯度outputs = net(inputs) # 前向传播loss = loss_fn(outputs, labels) # 计算损失函数loss.backward() # 反向传播计算梯度optimizer.step() # 更新权重print('epoch %d loss: %f' % (epoch + 1, loss.item())) # 打印每个epoch的损失值
with torch.no_grad(): # 不需要计算梯度,直接进行前向传播和评估for inputs, labels in test_iter:outputs = net(inputs) # 前向传播计算预测值_, predicted = torch.max(outputs, 1) # 取最大值对应的类别作为预测结果accuracy = (predicted == labels).float().mean() # 计算准确率print('test accuracy: %f' % accuracy.item()) # 打印测试集的准确率