Sigmoid、Tanh、Relu激活函数曲线
keras:
avg.pool()平均池化
batch.normalization()批标准化
bias_add()添加偏置
tensorboard 保存路径
线性变换
model=sequential()
model.add(Dense(32,input_dim=784),activation='relu')
model.add(Dense(10,activation='softmax))
model=sequential()
model=Keras.sequential()
model.add(layers.Conv2D(64,(3,3),kernel_regularizer=regularizers.l2(0.001),activation='relu',input_shape=(200,200,3)))
model.add(layers.BatchNormalization()) 批标准化
model.add(layers.MaxPooling((2,2)))
model.add(layers.Dropout(0.25))
model.add(layers.Conv2D(64,(3,3),activation='relu'))
model.add(layers.BatchNormalization())
model.add(layers.MaxPooling((2,2)))
model.add(layers.Dropout(0.25))
model.add(layers.Flatten())
model.add(Dense(64,activation='relu'))
model.add(layers.BatchNormalization())
model.add(layers.Dropout(0.25))
model.add(Dense(1,activation='softmax'))
model.summary()
model.compile(optimizer='adam',loss='mse',metrics=[...])
histroy=model.fit(x_train,y_train,epochs=1000,validation_data=(x_test,y_test))
plt.plot(histroy.epoch,.....)
一、查看pytorch版本:首先进入python,
import torch
print(torch.__version__)
显示结果:2.2.1+cpu
不用考虑卸载之前版本的pytorch,在安装gpu版本时,系统会自动删除cpu版本
不建议使用镜像安装,我之前安装都不成功,直接使用pytorch官网生成的命令就可以啦
二、直接安装GPU版本的pytorch
conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch
这里安装pytorch要和cuda版本相匹配,若cuda版本是11.3,直接将cudatoolkit=10.1改为cudatoolkit=11.3即可。
安装成功再次查看pytorch版本不显示CPU,显示结果为:2.2.1
pytorch
def forward(x,e):
return x.pow(e.repeat(x.size(0)))
learning_rate=5e-10
x=Variable(torch.rand(1000)*10,requires_grad=False)
y=forward(x,exp)
exp=Variable(torch.FloatTensor([2.0]),requires_grad=False)
exp_hat=Variable(torch.FloatTensor([4]),requires_grad=True)
opt=torch.optim.SGD([exp_hat],lr=learning_rate,momentum-0.9)
loss_histroy=[]
exp_histroy=[]
for i in range(0,10000):
opt.zero_grad()
y_hat=forward(x,exp_hat)
loss=rmse(y,y_hat)
loss_histroy.append(loss.data[0])
exp_histroy.append(y_hat.data[0])
loss.backward()
opt.step()
print("loss=%s"%loss.data[0])
print("exp=%s"%exp_hat.data[0])
CNN即为卷积核kernel对某些部分敏感,也就是filter,即求相似度
卷积Conv2D 激活函数 relu|sigmoid|tanh(RNN,LSTM)
池化 pooling2D
输出图像维度为:(图像大小-卷积核大小)/步长+1
x = Conv2D(32, (3, 3), activation=‘relu’, padding=‘same’, kernel_regularizer=l2(0.0005))(inputs) padding=‘valid’无填充
padding:边界填充,旨在可以整除卷积核,多次采样重要部分
LeNet-5:Gradient-Based Learning Applied to Document Recognition
AlexNet
ResNet GoogleNet VGG AlexNet faster RCNN
VGG:
两个串联33的卷积层功能类似于一个55的卷积层:(32-5)/1+1=28 参数 55=25
(32-3)/1+1=30 (30-3)/1+1=28 参数 23*3=18 降低了参数
GoogLeNet:针对不同的图像使用不同的卷积核
ResNet(残差网络)
对抗生成网络GAN G网络用于生成,D网络用于判别。
DCGAN结合CNN反卷积
归一化的各种情况