Pytorch-神经网络和数据

Pytorch 基本内容

Pytorch数据

【Pytorch】输入数据

输入数据
 PyTorch训练管道都以 Dataset 类开始。它负责提供数据样本。任何必要的数据转换和扩充都可
   离线预处理所有内容  渐进式学习时,你可以以多种分辨率保存训练数据的,这还是比线上调至目标分辨率更快
 PyTorch 使用一个 DataLoader 类来简化用于训练模型的批处理过程

【Pytorch】中间数据

提取网络对数据如数据的特征
提取网络本身的参数
获取模型执行详情
提取网络参数
 提取网络对数据如数据的特征
  获取神经网络的任意一层的输出
  获取神经网络某一层得到的结果作为特征进行处理
  大概可以有几种解决方法:
 
  重复写模型,
       直接拷贝源码整理成自己的model文件使用-模型不是很复杂的时候;
  用hook钩子函数
      使用 hook,我们可以提取特征,而不需要重新创建现有模型或以任何方式修改它
          1. 定义一个对feature进行处理的函数,比如叫hook_fun
       2. 注册hook:告诉模型,我将在哪些层使用hook_fun来处理feature
          
          nn.Module.register_forward_hook
          nn.Module.register_backward_hook
 重写forward方法 

【Pytorch】结果数据

 模型给出的结果

Pytorch模型

预训练模型

预训练模型的修改
 参数修改
增减卷积层
    修改网络中的层次结构,
           即自己先定义一个类似的网络,再将预训练中的参数提取到自己的网络中来

自定义模型

【Pytorch】
   标准损失函数
    torch.nn.MSELoss()
    编写自定义损失函数 
   把训练好的权重加载到自己建立的子网络里面

时间

金钱和时间都是资源,二者的均衡利用是成功的关键
 时间: 缓急  
          时间按其紧迫性和重要性
           重要性与目标有关
                增加和减少时间
                   减少浪费,
                   必须想办法提高学习/工作效率
                时间观念和时间管理
                  时间记录: 时间去向的可视化
                  时间管理从某种程度来说,是对
                  选择的管理。

参考