资源简介
《动手学深度学习》(Dive into Deep Learning)原书中的MXNet实现改为PyTorch实现。
代码片段和文件信息
import collections
import math
import os
import random
import sys
import tarfile
import time
import zipfile
from tqdm import tqdm
from collections import namedtuple
from IPython import display
from matplotlib import pyplot as plt
import torch
from torch import nn
import torch.nn.functional as F
import torchvision
import torchvision.transforms as transforms
import torchtext
import torchtext.vocab as Vocab
import numpy as np
VOC_CLASSES = [‘background‘ ‘aeroplane‘ ‘bicycle‘ ‘bird‘ ‘boat‘
‘bottle‘ ‘bus‘ ‘car‘ ‘cat‘ ‘chair‘ ‘cow‘
‘diningtable‘ ‘dog‘ ‘horse‘ ‘motorbike‘ ‘person‘
‘potted plant‘ ‘sheep‘ ‘sofa‘ ‘train‘ ‘tv/monitor‘]
VOC_COLORMAP = [[0 0 0] [128 0 0] [0 128 0] [128 128 0]
[0 0 128] [128 0 128] [0 128 128] [128 128 128]
[64 0 0] [192 0 0] [64 128 0] [192 128 0]
[64 0 128] [192 0 128] [64 128 128] [192 128 128]
[0 64 0] [128 64 0] [0 192 0] [128 192 0]
[0 64 128]]
# ###################### 3.2 ############################
def set_figsize(figsize=(3.5 2.5)):
use_svg_display()
# 设置图的尺寸
plt.rcParams[‘figure.figsize‘] = figsize
def use_svg_display():
“““Use svg format to display plot in jupyter“““
display.set_matplotlib_formats(‘svg‘)
def data_iter(batch_size features labels):
num_examples = len(features)
indices = list(range(num_examples))
random.shuffle(indices) # 样本的读取顺序是随机的
for i in range(0 num_examples batch_size):
j = torch.LongTensor(indices[i: min(i + batch_size num_examples)]) # 最后一次可能不足一个batch
yield features.index_select(0 j) labels.index_select(0 j)
def linreg(X w b):
return torch.mm(X w) + b
def squared_loss(y_hat y):
# 注意这里返回的是向量 另外 pytorch里的MSELoss并没有除以 2
return ((y_hat - y.view(y_hat.size())) ** 2) / 2
def sgd(params lr batch_size):
# 为了和原书保持一致,这里除以了batch_size,但是应该是不用除的,因为一般用PyTorch计算loss时就默认已经
# 沿batch维求了平均了。
for param in params:
param.data -= lr * param.grad / batch_size # 注意这里更改param时用的param.data
# ######################3##### 3.5 #############################
def get_fashion_mnist_labels(labels):
text_labels = [‘t-shirt‘ ‘trouser‘ ‘pullover‘ ‘dress‘ ‘coat‘
‘sandal‘ ‘shirt‘ ‘sneaker‘ ‘bag‘ ‘ankle boot‘]
return [text_labels[int(i)] for i in labels]
def show_fashion_mnist(images labels):
use_svg_display()
# 这里的_表示我们忽略(不使用)的变量
_ figs = plt.subplots(1 len(images) figsize=(12 12))
for f img lbl in zip(figs images labels):
f.imshow(img.view((28 28)).numpy())
f.set_title(lbl)
f.axes.get_xaxis().set_visible(False)
f.axes.get_yaxis().set_visible(False)
# plt.show()
# 5.6 修改
# def load_data_fashion_mnist(batch_size root=‘~/Datase
- 上一篇:29种常用的运算放大器-2018
- 下一篇:编译原理_第2版_张素琴
相关资源
- Ian Goodfellow等人的Deep Learning 英文版含
- 吴恩达深度学习课程作业网易云上有
- word2vec词向量训练及中文文本相似度计
- LabelImg 图像标注工具 深度学习必备工
- 深度学习 AI圣经 deep learning-张志华-
- 深度学习相关资料
- 网易云吴恩达深度学习工程师微专业
- 深度学习基础(FundamentalsofDeepLearnin
- 《深度学习之TensorFlow:入门、原理与
- AI圣经深度学习.rar
- 《生成式深度学习》Generative Deep Lea
- 深度学习 花书
- 深度学习中文-花书-无水印版
- sEMG基于肌电信号的深度学习数据集
- 深度学习课程_吴恩达PPT汇总
- 机器学习入门:Softmax
- 深度学习花书高清中文版和英文原版
- 瑕疵检测数据集
- 深度学习:21天实战Caffe 高清完整版
- 强化学习精要 核心算法与TensorFlow实现
- 机器学习,概率模型和深度学习的讲
- 《Tensorflow:实战Google深度学习框架》
- 基于深度学习的图像去雨
- tensorflow深度学习三部曲.rar
- deeplearning.ai_notebook.zip
- 吴恩达老师deeplearning.ai-全部课件
- 深度学习入门之PyTorch.廖星宇.zip
- 深度学习入门之PyTorch-廖星宇高清pd
- 深度学习入门之PyTorch.廖星宇.pdf
- 深度学习:21天实战Caffe-真正清晰版本
评论
共有 条评论