1. 数据集 dataset_train = gluon.data.ArrayDataset(X_train, y_train) data_iter = gluon.data.DataLoader(dataset_train, batch_size, shuffle=True) for data, label in data_iter: ... 2. 模型 gluon.nn:神经网络 gluon.nn.Sequential(),可添加: gluon.nn.Flatten() ⇒ Flattens…
1. 导入各种包 from mxnet import gluon from mxnet.gluon import nn import matplotlib.pyplot as plt from mxnet import autograd as autograd from mxnet import nd import mxnet as mx from collections import namedtuple import random 2. 准备数据 使用和mnist很像的FashionMNIS…
1. 主要观点 线性模型是线性回归和线性分类的基础 线性回归和线性分类模型的差异主要在于损失函数形式上,我们可以将其看做是线性模型在多维空间中“不同方向”和“不同位置”的两种表现形式 损失函数是一种优化技术的具体载体,影响损失函数不同形式的因素主要有: 和谁比:和什么目标比较损失 怎么比:损失比较的具体度量方式和量纲是什么 比之后如何修正参数:如果将损失以一种适当的形式反馈给原线性模型上,以修正线性模式参数 在这篇文章中,笔者会先分别介绍线性回归(linear regression)和线性分类(…
一.二次代价函数 1. 形式: 其中,C为代价函数,X表示样本,Y表示实际值,a表示输出值,n为样本总数 2. 利用梯度下降法调整权值参数大小,推导过程如下图所示: 根据结果可得,权重w和偏置b的梯度跟激活函数的梯度成正比(即激活函数的梯度越大,w和b的大小调整的越快,训练速度也越快) 3. 激活函数是sigmoid函数时,二次代价函数调整参数过程分析 理想调整参数状态:距离目标点远时,梯度大,参数调整较快:距离目标点近时,梯度小,参数调整较慢.如果我的目标点是调整到M点,从A点==>B点的调整…
https://blog.csdn.net/caroline_wendy/article/details/80494120 Gluon是MXNet的高层封装,网络设计简单易用,与Keras类似.随着深度学习技术的普及,类似于Gluon这种,高层封装的深度学习框架,被越来越多的开发者接受和使用. 在开发深度学习算法时,必然会涉及到网络(symbol)和参数(params)的存储与加载,Gluon模型的存取接口,与MXNet略有不同.在MXNet体系中,网络与参数是分离的,这样的设计,有利于迁移学习…
CUDA上的量化深度学习模型的自动化优化 深度学习已成功应用于各种任务.在诸如自动驾驶汽车推理之类的实时场景中,模型的推理速度至关重要.网络量化是加速深度学习模型的有效方法.在量化模型中,数据和模型参数都用诸如int8和的低精度数据类型表示float16.降低的数据带宽减少了推理时间和存储器/存储需求,以及功耗.同时,在适当的量化方案下,可以最小化量化模型的精度下降.量化模型特别适合研究人员和开发人员,使大型模型适合在各种设备(例如GPU,CPU和移动设备)上部署. 以前,通常通过手工微内核针对…
JVM内存模型和性能优化 JVM内存模型优点 内置基于内存的并发模型:      多线程机制 同步锁Synchronization 大量线程安全型库包支持 基于内存的并发机制,粒度灵活控制,灵活度高于数据库锁. 多核并行计算模型 基于线程的异步模型. JVM性能的人为问题 关键原因是:没有正确处理好对象的生命周期. 需要从需求中找出存在自然边界的业务对象,将其对应落实到内存中,成为内存模型In-memory Domain Model. 有大小边界限制的内存是缓存,没有永远使用不完的内存,缓存=“…
在这篇文章中没有直接使用MXNet官方提供的docker image,而是从一个干净的nvidia/cuda镜像开始,一步一步部署mxnet需要的相关软件环境,这样做是为了更加细致的了解mxnet的运行环境,方便后续我们更加灵活的去修改相关的配置. 1. 通过docker创建干净的系统环境 docker run -itd --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=2,3 --name=mxnet-cu90 -p 9999:8888 -p 1234:22…
参考文献 莫凡系列课程视频 增强学习入门之Q-Learning 关于增强学习的基本知识可以参考第二个链接,讲的挺有意思的.DQN的东西可以看第一个链接相关视频.课程中实现了Tensorflow和pytorch的示例代码.本文主要是改写成了gluon实现 Q-learning的算法流程 DQN的算法流程 对于DQN的理解: 增强学习中需要学习的东西是Q-table,决策表.而针对于state space空间太大的情形,很难甚至不可能构建这个决策表.而决策表其实就是一种映射 (s,a)->R, 那么…
java内存模型与锁优化 参考: https://blog.csdn.net/xiaoxiaoyusheng2012/article/details/53143355 https://blog.csdn.net/suifeng3051/article/details/52611310 一.Java内存模型 Java内存模型(Java Memory Model, JMM),用来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果.主要目标是定义程序中各个共…