自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

春播秋忙

本博客停止更新,新blog迁移值 junexia.github.io

  • 博客(94)
  • 资源 (2)
  • 收藏
  • 关注

转载 【数学基础与最优化1.5】二次规划

二次规划  二次规划(QP)是求解一类特殊的数学优化问题的过程,它是一个线性约束的二次优化问题,即多个变量的二次函数在这些变量上受线性约束的优化(最小化或最大化)问题。二次规划是一类特殊的非线性规划。参考文献https://zh.wikipedia.org/wiki/二次规划https://blog.csdn.net/lilong117194/article/details/7820499...

2019-02-18 10:02:19 1616

原创 【数学基础与最优化1.4】带约束的优化问题

条件极值 拉格朗日乘数法  现实问题中,有时会遇到对函数的自变量还有附加条件的极值问题。例如,求表面积为a2a^2a2而体积为最大的长方体的体积问题。设长方体的三棱长为x,y,zx,y,zx,y,z,则体积V=xyzV=xyzV=xyz,又因表面积为a2a^2a2,所以自变量x,y,zx,y,zx,y,z还必须满足附加条件2(xy+yz+xz)=a22(xy+yz+xz)=a^22(xy+yz...

2019-02-18 10:01:06 1768

转载 【数学基础与最优化1.3】对偶问题

对偶问题  对偶是个神奇的东西,从文学角度而言,对偶和对仗属于一种修辞手法,即用字数相等,语义对称的方法来表征想法或抒发情感。“凡心所向,素履所往,生如逆旅,一苇以航”或者“棋逢对手,将遇良才”都可看成是一种对偶[1]。  但是,我们这里是要阐述在数学问题上的对偶问题,它是优化问题中非常重要的方法,类似于文学的对偶,也是一种配对方式,只不过是将某种数学结构A转换为另一种对等的数学结构B。在优化...

2019-02-18 10:00:03 1192

原创 【深度学习笔记2.2.3】AlexNet训练17flowers

概述本文介绍使用AlexNet做17flowers的分类任务,代码参考文献[1],数据集17flowers来自文献[2],预训练模型bvlc_alexnet.npy来自文献[4]。实验1:finetune最后一个全连接层调参实验总结如下:初始学习率不能大于0.0001,否则训练loss将会是nan;如果learning_rate_init = 0.0001,train_layers =...

2019-02-25 19:34:05 1669 2

转载 【深度学习笔记2.2.1】AlexNet

概述  2012年,Hinton的学生Alex Krizhevsky提出的深度卷积神经网络模型AlexNet获得了2012年ILSVRC比赛分类项目的冠军。AlexNet是在LeNet的基础上发展起来的,AlexNet首次引入了Dropout层来处理过拟合以及使用ReLU替代sigmoid来作为激活函数。网上资料一堆,不想重复造轮子了。参考文献[1] ImageNet Classifica...

2019-02-25 19:22:17 531

原创 【TensorFlow笔记2.1】tf.nn.conv2d,tf.nn.max_pool

tf.nn.conv2d函数解析tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)除去name参数用以指定该操作的name,与方法有关的一共五个参数:第一个参数input:指需要做卷积的输入图像,它要求是一个Tensor,具有[batch, in_height, in_width, i...

2019-02-25 18:55:32 578

原创 【TensorFlow笔记1.3】TFRecords文件读写

概述  除了典型的CSV文件存储方式外,TensorFlow还有专门的文件存储格式:TFRecords文件。TFRecords文件创建  TFRecords文件一般用来存储特征值和其对应的标签。TFRecords文件中存储的内容是用通过 tf.train.Example 来创建的,我们可以将 tf.train.Example 创建的数据理解为sample(样本)。而 tf.train.Exa...

2019-02-25 18:55:21 234

原创 【TensorFlow笔记1.2】TensorFlow队列和CSV文件读写

tensorflow队列  在tensorflow中可以使用FIFOQueue、RandomShuffleQueue等方式创建一个队列[1]。代码示例1:import tensorflow as tfwith tf.Session() as sess: q = tf.FIFOQueue(3, "float") # 创建长度为3,元素数据类型是float的队列。 init ...

2019-02-25 18:54:59 491

原创 【TensorFlow笔记1.1】各种函数的使用

numpy随机数参考资料[2]np.random.randn(d0, d1, …, dn),从标准正太分布中产生shape为(d0, d1, …, dn)的随机数组np.random.rand(d0, d1, …, dn),从区间为[0, 1)的均匀分布中产生shape为(d0, d1, …, dn)的随机数组8.2 tensorflow常量、变量、数据类型、常用函数tf.int8、tf...

2019-02-18 10:12:22 248

原创 【数学基础与最优化1.2】线性规划与非线性规划

线性规划  在数学中,线性规划(Linear Programming,简称LP)特指目标函数和约束条件皆为线性的最优化问题[1]。  线性规划是最优化问题中的一个重要领域。很多最优化问题算法都可以分解为线性规划子问题,然后逐一求解。在线性规划的历史发展过程中所衍伸出的诸多概念,建立了最优化理论的核心思维,例如“对偶”、“分解”、“凸集”的重要性及其一般化等。在微观经济学和商业管理领域中,线性规...

2019-02-18 09:58:52 1159

原创 【数学基础与最优化1.1】基本概念、导数、梯度

基本概念假设A是条件,B是结论(1)由A可以推出B,由B可以推出A,则A是B的充分必要条件( A=BA=BA=B ),或者说A的充分必要条件是B。(2)由A可以推出B,由B不可以推出A,则A是B的充分不必要条件( A⊆BA \subseteq BA⊆B )(3)由A不可以推出B,由B可以推出A,则A是B的必要不充分条件( B⊆AB \subseteq AB⊆A )(4)由A不可以推出B,...

2019-02-18 09:57:39 324

原创 【机器学习笔记2.6】用Softmax回归做mnist手写体识别

MNIST是什么MNIST是一个手写数字数据集,它有60000个训练样本集和10000个测试样本集。可以将MNIST手写体识别看做是深度学习的HelloWorld。MNIST数据集官方网址:http://yann.lecun.com/exdb/mnist/从官网下载的MNIST数据集是二进制形式存储的,可以通过如下代码将其转换为图片形式。代码示例1:# mnist数据集转成图片impo...

2019-02-18 09:45:47 894

原创 【机器学习笔记2.5】用Softmax回归做二分类(Tensorflow实现)

Softmax回归和逻辑回归的区别  在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签yyy可以取两个以上的值[1]。当类别数k=2k=2k=2时,softmax 回归退化为 logistic 回归。Softmax回归 vs. k个logistic回归  如果你在开发一个音乐分类的应用,需要对k种类型的音乐进行识别,那么是...

2019-02-18 09:45:35 3625

原创 【机器学习笔记2.4】用逻辑回归做二分类(TensorFlow实现)

概述相关理论介绍可参阅【机器学习笔记2.1】线性模型之逻辑回归代码示例import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltdef plotDataMat(dataMat, labelMat, weights): n = np.shape(dataMat)[0] xcord1 ...

2019-02-18 09:45:24 1612

原创 【机器学习笔记1.1】线性回归之正规方程求解

线性回归概述##我们先考虑最简单的一种情况,即输入属性的数目只有一个,线性回归试图学得[1](1)f(xi)=wxi+b,使得f(xi)≈yif(x_i) = w x_i + b,使得f(x_i) \approx y_i \tag{1}f(xi​)=wxi​+b,使得f(xi​)≈yi​(1)那么如何确定w⃗\vec{w}w和b呢?关键在于如何衡量f(x⃗)f(\vec{x})f(x)与y之...

2019-02-18 09:44:59 2202

原创 【机器学习笔记1.4】用tensorflow矩阵思想做线性回归

先生成样本数据参照【tensorflow ML笔记1.1】,这里用矩阵的思想对其进行改进。另外这里将生成的数据保存成txt文件,在后面都将使用这个文件里的样本数据来分析比较批量梯度下降和随机梯度下降的区别。【例1】import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltn = 100# 产生n维...

2019-02-17 16:39:58 296

原创 【深度学习笔记3.2 正则化】Dropout

关于dropout的理解与总结:dropout是什么?参考文献[1]dropout会让train变差,让test变好。一般的如果在train-set上表现好,在test-set上表现差,用dropout才有效果。使用dropout是为了避免过拟合。(来自网友)下图来自文献[3]  上图中的思想就是说:Dropout是一种正则化技术,是防止过拟合最有效的方法,然而在以下几种情况下使用dr...

2019-02-17 16:16:12 857

原创 【深度学习笔记3.1 正则化】权重衰减(weight decay)

权重衰减是什么?参考有关文献这里参考文献[1]整理成如下代码:(详见文献[5]regularization/WeightDecay.py)import numpy as npimport tensorflow as tffrom matplotlib import pyplot as pltn_train = 20n_test = 100num_inputs = 200tr...

2019-02-17 16:15:12 1182

原创 【深度学习笔记2.3】VGG

vgg16_1代码示例如下(详见文献[2]vgg16_1.py):import numpy as npimport cv2import tensorflow as tffrom datetime import datetimeimport matplotlib.pyplot as pltfrom tensorflow.examples.tutorials.mnist import i...

2019-02-17 16:14:45 299

原创 【深度学习笔记2.2.2】AlexNet训练mnist

算法优化思路即方法AlexNet Tensorflow 实现代码示例如下(详见文献[2]AlexNet1.py):import numpy as npimport cv2import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport matplotlib.pyplot as...

2019-02-17 16:12:44 721

原创 【深度学习笔记2.1】LeNet-5

概述LeNet-5中的-5是个啥?Gradient-Based Learning Applied to Document Recognition图1 [3]![enter image description here](https://lh3.googleusercontent.com/-KPfsR5nep9A/W2rbZF4xk-I/AAAAAAAAAFc/PtinL8z9rCA0Pz...

2019-02-17 16:12:01 296

原创 【深度学习笔记1.4】更快的优化器

概述  训练一个非常大的深度神经网络可能会非常缓慢。 到目前为止,我们已经看到了四种加速训练的方法:对连接权重应用良好的初始化策略,使用良好的激活函数,使用批量规范化以及重用预训练网络的部分。另一个巨大的速度提升来自使用比普通渐变下降优化器更快的优化器。 在本节中,我们将介绍最流行的:动量优化,Nesterov 加速梯度,AdaGrad,RMSProp,最后是 Adam 优化。  剧透:本节的...

2019-02-17 16:10:07 372

原创 【深度学习笔记1.3】复用预训练层

概述  从零开始训练一个非常大的 DNN 通常不是一个好主意,相反,您应该总是尝试找到一个现有的神经网络来完成与您正在尝试解决的任务类似的任务,然后复用这个网络的较低层:这就是所谓的迁移学习。这不仅会大大加快训练速度,还将需要更少的训练数据[1]。  例如,假设您可以访问经过训练的 DNN,将图片分为 100 个不同的类别,包括动物,植物,车辆和日常物品。 您现在想要训练一个 DNN 来对特定...

2019-02-17 16:08:44 1147

原创 【深度学习笔记1.2】梯度消失与梯度爆炸

梯度下降  梯度下降法(Gradient descent)是一种基于函数一阶性质的优化算法,其本质是在某个位置将目标函数一阶展开,利用其一阶性质持续向函数值下降最快的方向前进,以期找到函数的全局最小解。梯度下降属于梯度优化方法大类,此外还有最速下降法,共轭梯度法等等。还有其他方法基于目标函数的二阶性质,比如牛顿法、拟牛顿法等[1]。注意:梯度下降法就是最速下降法,很多地方、很多人、包括维基百科...

2019-02-17 16:07:48 1504

原创 【深度学习笔记1.1】人工神经网络(内含模型保存与恢复介绍)

线性阈值单元线性阈值单元(LTU):输入和输出是数字(而不是二进制开/关值),并且每个输入连接都与权重相连。LTU计算其输入的加权和(z = W1×1 + W2×2 + … + + WN×n = Wt·x),然后将阶跃函数应用于该和,并输出结果:HW(x) = STEP(Z) = STEP(W^T·x) [1]。单一的 LTU 可被用作简单线性二元分类[2]。代码示例1sklearn 提...

2019-02-17 16:06:05 1232

原创 【Tensorflow笔记0.2 踩坑】tensorflow加載pretrained_model時遇到的bug解決方案

问题概述下面是在facenet中加载pretrained_model时遇到的一些错误: 错误1:tensorflow.python.framework.errors_impl.InvalidArgumentError exception str() failed 错误2:tf.train.get_checkpoint_state(checkpoint_dir) return none ty...

2018-09-06 09:51:58 2161

转载 【C++杂记】C++构造函数失败怎么办,智能指针+异常处理防止内存泄漏

概述C++构造函数失败后,其对应的析构函数会被自动调用吗? 答案是不会。能在构造函数中抛出异常,然后在外面捕获吗? 可以,但不建议这样做。C++之父和herb sutter这样的最顶级专家建议不要把容易出错的代码放在构造函数中,当然如果非要在构造函数做一些容易失败的事,那就在构造里throw异常吧。另外对于析构函数,Herb Sutter在Exceptional c++ 中也说过说:“...

2018-08-11 15:35:38 2561

转载 【C++杂记】C++代码接口封装方法

概述在多人协作开发中,常常会涉及代码打包和接口封装。方法1:对原功能代码再包一层由于我们不想暴露AImpl.h中,故对其封装,即在A.h和A.cpp中对其包一层。 我们甚至在A.h中都不需要声明 AImpl *imp_的,在A.h中可以只声明一个void *imp_,在A.cpp中将该void *指针转换成Almpl *即可。AImpl.h [1]class AImpl...

2018-08-11 15:00:19 6357

原创 【C++杂记】DLL动态库打包与使用

windows DLL动态库打包如下代码,在facedll.cpp中调用fun.h,fun.cpp,……等一系列功能函数,在facedll.h中声明导出dll即可将facedll.cpp和fun.h,fun.cpp,……等一系列功能函数打包成动态库。我们只需提供给用户facedll.h和新生成的.dll和.lib文件即可,关于动态库的时候,本文后面也会说到。我的开发环境:win7 64,v...

2018-08-11 14:22:57 2778 2

转载 【C++杂记】C++父类指针指向子类对象

C++父类指针指向子类对象时,父类析构必须为虚函数示例1 [1]:#include <iostream>using namespace std;class Base_J {public: Base_J() { cout << "Base Created" &

2018-08-11 13:28:00 5127 1

原创 【Windows环境搭建笔记1.1】"计算机丢失api-ms-win-downlevel-shlwapi-l1-1-0.dll"、"应用程序无法正常启动(0x000007b)" 解决方案

我的环境配置:Win7 64位系统、VS2015、Opencv3.4.2运行程序时出现如下错误: 无法启动此程序,因为计算机中丢失api-ms-win-downlevel-shlwapi-l1-1-0.dll 尝试重新安装该程序以解决此问题。下载 api-ms-win-downlevel-shlwapi-l1-1-0.dll,解压会得到同时包含32位和64位的dll文件,...

2018-08-07 13:10:30 13723 4

原创 【Python笔记2.2】用zipfile解压zip包时遇到的Unicode字符编解码问题

python unicode字符编解码问题参见【Python笔记2.1】 python中用zipfile解压zip包网上资料一堆,这里就不多说了。 下面使用【Python笔记2.1】中总结出来的字符编解码函数来解决zipfile解压zip包的问题。时间仓促,直接上代码。完整示例代码(含【Python笔记2.1】中的代码)# -*- coding: utf-8 -*-#!/usr/bi...

2018-08-02 10:00:05 1798 1

转载 【Python笔记2.1】Python Unicode字符编解码

概述Python 中有字符串类型(str)和字节类型(byte),以及 Python 编码中最常见也是最顽固的两个错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)UnicodeDecodeError: 'utf-8' codec...

2018-08-02 09:41:56 420

原创 【Python笔记1.3】C/C++多线程调用Python函数

概述  在上一篇笔记中讲述了C/C++多线程调用Python类,但是如果Python提供的接口不是class封装的情况该怎么办呢,此时如何保证在C/C++多线程调用Python代码时能够正常运行呢? 在多线程开发中,尽量避免使用全局变量,我们可以将Python中需要全局初始化的变量放到一个字典(或元祖或列表)中,并将该字典作为handle整体返回给调用者。python代码示例clas...

2018-07-11 13:10:46 2587

原创 【Python笔记1.2】C/C++多线程调用Python类

概述在多线程开发中,往往会涉及很多handle、对象等变量的存储,这时候对于Python代码,我们可以采用面向对象编程。下面主要讲述C/C++如何调用Python类。先看一段Python代码student.pyclass Person: def __init__(self): self.info = [] def push(self, name,...

2018-07-11 11:18:20 2235

转载 【linux笔记1.2】在多线程开发中尽量少用sleep的解决方案

方案1:线程挂起与恢复代码示例[1]#include <unistd.h>#include <pthread.h>static pthread_mutex_t mutex;static pthread_cond_t cond;static int flag = 0;void srpthread_init(){ pthread_mutex_in...

2018-07-05 15:53:52 2464

原创 【Python笔记1.1】C/C++多线程调Python

代码示例int xxx_function(){ int ret; Py_Initialize(); if (!Py_IsInitialized()) { return -1; } ret = PyRun_SimpleString("import sys"); PyErr_Print(); # 如果怀疑哪一行代码出...

2018-07-02 16:22:45 2085

原创 【机器学习笔记1.3】线性回归TensorFlow实践

代码示例1先生成10个样本数据[1]# 程序 11-1# 一元线性回归import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltn = 10# 产生n维标准正太分布随机数x_data = np.random.randn(n) #[2]# 我们假设模型为 y = 0.3x + 0.1...

2018-06-23 15:49:41 346

原创 【Tensorflow笔记0.1 踩坑】

创建Session错误tensorflow.python.framework.errors_impl.InternalError: Failed to create session.解决方案(me):电脑上有其他tensorflow程序在运行,将其关闭即可。

2018-06-22 14:58:14 3945

原创 【linux笔记1.1】打印调试.如何将打印内容输出到另一个终端设备

问题描述  在团队协作大型程序开发时,由于各个模块都可能存在大量打印,这时候终端上就会显示一堆打印。如果只想看到自己的打印而又不影响其他人的程序 那该怎么办呢?   在linux系统中,每个终端都是一个设备文件,我们可以另起一个终端,在程序中open这个终端设备的文件号,然后将printf的内容都打印到这个终端设备上即可。代码示例添加下面代码到main.cpp中#include ...

2018-06-22 10:16:58 2701

test_wsn_post

test post

2016-05-24

Quartus II 9.0安装+破解流程

好东西!网上的安装破解流程很垃圾,而且还很误导别人,这是我根据自己的安装破解流程总结出来的。

2013-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除