AI学习目录汇总
1、简述
先使用NumPy训练一个模型:三阶多项式拟合y = sin(x),该网络将具有四个参数,并且将通过使网络输出与实际输出之间的欧几里德距离最小化来进行梯度下降训练,以适应随机数据。
然后使用PyTorch的张量和自动微分重新实现,对比学习各个模块。
2、NumPy训练模型
NumPy提供了一个 n 维数组对象,及相关函数接口。 它常用于科学计算,但是没有深度学习、梯度算法的接口。因此需要手动实现网络的向前和向后传递。
下面第一行不是注释,是设置文本的编码格式,
python2默认的编码格式是ASCII格式,python3默认的编码格式是utf-8格式。
python2默认不支持中文,包括注释里的中文;python3支持中文。
# -*- coding: utf-8 -*-
import numpy as np
import math
# 创建输入和对应的sin(x)值作为输出
# np.linspace:在线性空间中以均匀步长生成数字序列,这里就是生成2000个-π到π的等间距的数据
x = np.linspace(-math.pi, math.pi, 2000)
y = np.sin(x)
# 随机初始化权重,本例中的网络模型只有四个参数
a = np.random.randn()
b = np.random.randn()
c = np.random.randn()
d