Keras: 基于 Python 的深度学习库
keras/ 注意,Windows 用户应该将 $HOME 替换为 %USERPROFILE%。如果 Keras 无法创建上述目录 (例如,由于权限问题),则使用 /tmp/.keras/ 作为备份。 Keras 配置文件是存储在 $HOME/.keras/keras.json 中的 JSON 文件。默认的配置文件如 下所示: { "image_data_format": "channels_last" 数组,以对每个样本的每个时间步施加不同的权重。在这种情况下,你应该确保在 compile() 中指定 sample_weight_mode="temporal"。 • initial_epoch: 开始训练的轮次(有助于恢复之前的训练)。 • steps_per_epoch: 在声明一个轮次完成并开始下一个轮次之前的总步数(样品批次)。使用 TensorFlow 数据张量等输入张量进行训练时,默认值 None 等于数据集中样本的数量除以 shuffle: 是否在每轮迭代之前打乱 batch 的顺序。只能与 Sequence (keras.utils.Sequence) 实 例同用。 • initial_epoch: 开始训练的轮次(有助于恢复之前的训练)。 返回 一个 History 对象。 异常 • RuntimeError: 如果模型从未编译。 例 def generate_arrays_from_file(path):0 码力 | 257 页 | 1.19 MB | 1 年前3动手学深度学习 v2.0
torch from d2l import torch as d2l 3.2.1 生成数据集 为了简单起见,我们将根据带有噪声的线性模型构造一个人造数据集。我们的任务是使用这个有限样本的数 据集来恢复这个模型的参数。我们将使用低维数据,这样可以很容易地将其可视化。在下面的代码中,我们 生成一个包含1000个样本的数据集,每个样本包含从标准正态分布中采样的2个特征。我们的合成数据集是 一个矩阵X grad_fn=) b的估计误差: tensor([0.0006], grad_fn= ) 注意,我们不应该想当然地认为我们能够完美地求解参数。在机器学习中,我们通常不太关心恢复真正的参 数,而更关心如何高度准确预测参数。幸运的是,即使是在复杂的优化问题上,随机梯度下降通常也能找到 非常好的解。其中一个原因是,在深度网络中存在许多参数组合能够实现高度精确的预测。 小结 这个新的额外惩罚的损失?实际上,我们 通过正则化常数λ来描述这种权衡,这是一个非负超参数,我们使用验证数据拟合: L(w, b) + λ 2 ∥w∥2, (4.5.2) 对于λ = 0,我们恢复了原来的损失函数。对于λ > 0,我们限制∥w∥的大小。这里我们仍然除以2:当我们取 一个二次函数的导数时,2和1/2会抵消,以确保更新表达式看起来既漂亮又简单。为什么在这里我们使用平 方范数而 0 码力 | 797 页 | 29.45 MB | 1 年前3【PyTorch深度学习-龙龙老师】-测试版202112
现在来考虑不合理的视图变换。例如,如果定义新视图为[?, , ℎ, ?],[?, ?, ℎ ∗ ]或者 [?, ?, ℎ, ]等时,依据逻辑需要调整张量的存储顺序,如果不同步更新张量的存储顺序,那 么恢复出的数据将与新视图的逻辑不一致,从而导致数据错乱。合理性通常需要用户正确 理解数据,才能判断操作是否合理,因此具有一定主观性,但是对于大部分逻辑变换操作 而言,合理性都是可较好判断的。改变张量的存储顺序将在“交换维度”一节介绍。 “图片数量-行-列-通道”初始视 图保存的张量,存储也是按照“图片数量-行-列-通道”的顺序写入的。如果按着“图片数 量-像素-通道”的方式恢复视图,并没有与“图片数量-行-列-通道”相悖,因此能得到合 理的数据。但是如果按着“图片数量-通道-像素”的方式恢复数据,由于内存布局是按着 “图片数量-行-列-通道”的顺序,视图维度顺序与存储维度顺序相悖,提取的数据将是错 乱的。 通过 reshape 调整为[4,3,1024],此时视图的维度顺 序为? − ? − pixel,张量的存储顺序为[?, ?, ℎ, ]。因此可以将[4,3,1024]恢复为 ❑ [?, ?, ℎ, ] = [4,3,32,32]时,新视图的维度顺序与存储顺序无冲突,可以恢复出无逻辑 问题的数据。 ❑ [?, ?, , ℎ] = [4,3,32,32]时,新视图的维度顺序与存储顺序冲突。 ❑ [? ∙0 码力 | 439 页 | 29.91 MB | 1 年前3复杂环境下的视觉同时定位与地图构建
计算自身位置(在空间中的位置和朝向) • 构建环境地图(稀疏或者稠密的三维点云) 稀疏SLAM 稠密SLAM SLAM系统常用的框架 输入 • 传感器数据 前台线程 • 根据传感器数据进行跟踪求解, 实时恢复每个时刻的位姿 后台线程 • 进行局部或全局优化,减少误差累积 • 场景回路检测 输出 • 设备实时位姿 • 三维点云 RGB图 深度图 IMU测量值 优化以减少误差累积 回路检测 SLAM应用介绍 主要模块 • 特征跟踪 • 获得一堆特征点轨迹 • 相机姿态恢复与场景三维结构恢复 • 求解相机参数和三维点云 • 如何处理循环回路序列和多视频序列? • 如何高效高精度地处理大尺度场景? • 如何处理动态场景? • 如何处理快速运动和强旋转? 复杂环境下的主要挑战 我们课题组的工作 • 面向大尺度场景的运动恢复结构 • ENFT-SFM:能够高效地处理大尺度场景下拍摄的循环回路和多 非连续特征轨迹匹配 • 同时进行图像对的特征匹配和优化匹配矩阵 • 根据选择的图像对的特征匹配结果对匹配矩阵进行优化; • 根据更新的匹配矩阵更可靠地选择出有公共内容的图像对进行特征匹配。 大尺度运动恢复结构的难点 • 全局集束调整(Global Bundle Adjustment) • 变量数目非常庞大 • 内存空间需求大 • 计算耗时 • 迭代的局部集束调整 • 大误差难以均匀扩散到整个序列0 码力 | 60 页 | 4.61 MB | 1 年前3全连接神经网络实战. pytorch 版
本章我们的目标是把神经网络做的更完善。 3.1 模型的加载与保存 有时候我们希望将训练了一定轮数的模型参数保存起来,这个时候我们就需要保存和恢复模 型了。 model.state_dict() 函数可以得到模型的状态字典,里面包含了模型的参数权重与 bias 等信 息,我们可以用下面的代码来保存和恢复模型: # 保 存 模 型 torch . save ( model . state_dict () , path optimizer ’ ] ) test_loop ( test_dataloader , model2 , loss_function ) model2 的预测正确率为 70.5%,证明我们的模型保存和恢复机制是正确的。 本节代码见 chapter3.py。 3.2 初始化网络权重-方法一 我们通过自定义初始化函数,来实现对网络参数的初始化。有时候,好的初始化可以为网络 的训练带来极大好处。 com/p/48982978 [2] https://pytorch.org/tutorials/index.html [3] https://www.jianshu.com/p/1cd6333128a1 模型保存与恢复 [4] https://www.cnblogs.com/tangjunjun/p/13731276.html 预定义权重 290 码力 | 29 页 | 1.40 MB | 1 年前3
共 5 条
- 1