#挂载云盘
from google.colab import drive
drive.mount('/content/drive/')
#是否可用cuda
import torch
torch.cuda.is_available()
#切换目录
import os
os.chdir('/content/drive/My Drive/AlexNet')
#查看目录内容
!ls
挂在云盘之后,可以直接用命令进行解压,但是解压之后需要注意的是,需要等待并确认文件是否已经移动到google drive内。因为之前测试过一个压缩包,内含10000个文件,发现解压完在google drive内是慢慢增加的,所以猜测是从colab的服务器copy到云盘内的。
!unzip /content/drive/MyDrive/RSNA_224_224/test224.zip -d /content/drive/MyDrive/RSNA_224_224_test/ >train.log
即通过神经网络得到预测结果,把预测结果跟标注Label进行比对,发现误差;然后得到神经网络里每个神经元权重导数;接着通过算法得到每个神经元导数,再更新神经元的权重以得到更好的神经元网络,周而复始迭代训练,使得误差减少。游戏规则是:小粉兔只能通过“高、低”来告诉小蓝人数字范围,直到猜到或无限趋近正确数字。这里的小蓝人代表输出层节点,左侧数字为输入信号,右侧数字为输出结果。小粉兔反馈小蓝人误差,然后小蓝人通过误差进行参数优化(绿线),几轮迭代后,误差会降到最小。简单来看,小粉兔把“误差”反向告知给小蓝人以调整误差的过程就是“反向传播”。上面的过程没有隐层神经网络,当加入隐藏网络(也就是说网络层级增多时),运算会越复杂,但基本原理是不变的。即通过误差反馈,不断迭代,使得误差变到最小。这就是模型“训练”。
标量:一个标量就是一个数。
向量:一个向量是一列数,这些数是有序排列的,通过次序中的索引,我们可以确定每个单独的数。
矩阵:矩阵是一个二维数组,其中的每一个元素被两个索引而非一个所确定。
张量:在某些情况下,我们会讨论坐标超过两维的数组。一般地,一个数组中的元素分布在若干维坐标的规则网格中,我们将其称之为张量。
加载上次训练的网络
model = load_model(model_file)
继续训练
model.fit(x=x_data, y=y_data[y_col], batch_size=5000, epochs=20,verbose=10000)
噪声层用于给数据附加随机的噪声,用以克服过拟合。
也是一种正则化,仅在训练时使用。
GaussianNoise
keras.layers.GaussianNoise(stddev)
GaussianDropout添加均值为0,标准差为stddev的高斯噪声。
keras.layers.GaussianDropout(rate)
以将均值1,标准差为$sqrt{frac{rate}{1-rate}}$ 的噪声。
multiplicative noise 指在信号处理中,乘进原信号的随机噪声。
AlphaDropout
keras.AlphaDropout(rate, noise_shape=None, seed=None)
使输入数据的均值和方差保持不变,保持数据的自规范性。
通过随机将激活值设为负饱和值,alpha dropout 和selu激活函数配合较好。
噪声的标准差也是$sqrt{frac{rate}{1-rate}}$
需要使用迅雷下载
验证集地址:
http://academictorrents.com/download/5d6d0df7ed81efd49ca99ea4737e0ae5e3a5f2e5.torrent
训练集地址:
http://academictorrents.com/download/a306397ccf9c2ead27155983c254227c0fd938e2.torrent
UnboundLocalError: local variable 'optimizer' referenced before assignment
翻过官方git,倒是解决了,不过pip安装各种版本还是如此,所以根据修复代码,直接修改C:\ProgramData\Anaconda3\Lib\site-packages\mxnet\model.py,再PyCharm下定位到895行下增加如下代码,仅对本次session生效。
optimizer = self.optimizer
查看源
conda config --show-sources
北外的源
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
中科大的源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes
清华的源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
找到Anacoda安装默认的环境root ,搜索并安装nb_conda_kernels,安装成功后在启动JupyterLab,即可再Launcher中看到多出了这个默认环境,如下图