自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AI-Ziping Chen

Ziping Chen的博客

  • 博客(36)
  • 收藏
  • 关注

原创 YOLOv1, SSD

YOLOv1, SSD今年四月份的时候,在一个研究院实习时学习了YOLOv1, SSD系列Object Detection框架,现在总结一下。关于R-CNN系列框架的总结在上一篇blog。一. YOLOv1(You Only Look Once)1.1 框架结构首先将图片调整为448×448448×448448 \times 448大小;运行神经网络(其中包括选取reg...

2018-07-14 10:30:00 602 1

原创 R-CNN, Fast R-CNN, Faster R-CNN

R-CNN, Fast R-CNN, Faster R-CNN今年四月份的时候,在一个研究院实习时学习了RCNN, Fast RCNN, Faster RCNN系列Object Detection框架,现在总结一下。一. R-CNN(Regions with CNN features)1.1 框架结构论文中提到:Our object detection syst...

2018-07-14 00:33:13 465

原创 卷积神经网络的输出值计算

卷积神经网络的输出计算参考自 https://www.zybuluo.com/hanbingtao/note/485480假设有一个7×7×37×7×37 \times 7 \times 3的输入层(补白padding为1), 使用一个3×3×3×23×3×3×23 \times 3 \times 3 \times 2的Filter, 步长(stride)为1进行卷积, 得到一个3×3...

2018-07-10 20:41:30 5475 2

原创 PCA+SVM人脸识别

PCA+SVM人脸识别PCA介绍主成分分析(Principal Component Analysis, 简称PCA)是常用的一种降维方法.算法步骤:输入: 样本集 D={x1,x2,...,xm}D={x1,x2,...,xm}D=\{x_1, x_2, ..., x_m\}, 低维空间维数 d′d′d'过程: 对所有样本进行中心化: xi←xi−1m∑mi=1xix...

2018-07-10 18:58:29 4333 1

原创 用TensorFlow搭建一个全连接神经网络

用TensorFlow搭建一个全连接神经网络说明本例子利用TensorFlow搭建一个全连接神经网络,实现对MNIST手写数字的识别。先上代码from tensorflow.examples.tutorials.mnist import input_dataimport tensorflow as tf# prepare datamnist = input_data.read_data_se

2018-03-11 19:57:02 6860

原创 Coursera机器学习笔记(1)--基础介绍

一、机器学习概念 “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with expe

2017-11-21 22:58:50 419

原创 gdb调试方法

gdb是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。启动gdb使用gdb之前,需要讲程序编译出带Debug信息的格式。(带上 -g 参数) -g Produce debugging information in the operating system’s native format (stabs, COFF, XCOFF, or

2017-11-04 23:13:57 346

原创 排序算法@c++描述-堆排序

3.堆排序#include <iostream>#include <vector>using namespace std;inline int leftChild(int i){ return 2 * i + 1;}template <typename T>void percDown(vector<T> &a, int i, int n){ int child; T

2017-11-03 21:08:14 212

原创 排序算法@c++描述-shell排序

2.shell排序#include <iostream>#include <vector>using namespace std;template <typename T>void shellSort(vector<T> &a){ for (int gap = a.size() / 2; gap > 0; gap /= 2) { for (int i = gap; i

2017-10-31 19:34:30 300

原创 排序算法@c++描述-插入排序

1.插入排序普通版本#include <iostream>#include <vector>#include <ctime>using namespace std;template <typename T>void insertionSort(vector<T> &a){ int i; for (int j = 1; j < a.size(); j++) {

2017-10-30 19:25:14 316

原创 linux开机启动脚本设置

ubuntu、debian开机启动脚本设置rc.local脚本rc.local脚本是一个ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令。该脚本位于/etc/路径下,需要root权限才能修改。新建开机脚本# cd /etc/init.d# vim your_service.sh#....此处编写你的脚本,最后有exit 0# chmod 755 your_service.s

2017-07-27 17:28:15 652

原创 linux shell:[1] ()、(())、[]、[[]]、{}使用方法

linux shell:[1] ()、(())、[]、[[]]、{}使用方法1.()命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号’;’隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。命令替换。等同于`command`,shell扫描一遍命令行,发现了(command)结构,便将(command)结构,便将(

2017-05-09 21:32:38 1580

原创 linux shell:[0] &&和||使用方法

linux shell:[0] &&和||使用方法&&运算符:例子:command1 && command2command1返回真(返回0,表示成功执行)后,执行command2语法:command1 && command2 [&& command3 ...]||运算符:例子:command1 || command2与&&相反,command1返回假(返回1,表示执行不成功)后,执行command2

2017-05-09 20:13:54 1255

原创 linux驱动:[3]高级字符设备驱动之ioctl

linux驱动:[3]高级字符设备驱动之ioctllinux驱动:[3]高级字符设备驱动之ioctl测试平台: x86 PC linux-4.4.01.实验目的:学习并编写ioctl linux高级字符设备驱动程序。编写驱动 scull ,使用5个指令实现对设备数据的清零,读取,写入操作。2.驱动代码:(解析见下方)scull.c:#include <linux/module.h>#incl

2017-05-06 19:43:26 937

原创 linux驱动:[2]字符设备驱动memdev(cdev结构解析)

linux驱动:[2]字符设备驱动memdevLinux 内存模拟字符设备 驱动程序测试平台: Xunlong Orange Pi Zero代码一览(解析见下方)驱动程序以及Makefile如下:memdev.c:#include <linux/module.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/err

2017-05-01 15:30:54 661

原创 基于iTop-4412的U-Boot 2017移植[2]:支持SD/MMC

基于iTop-4412的U-Boot 2017移植[2]:支持SD/MMC经过前几篇博文的移植,已经成功在iTOP-4412开发板上运行了U-Boot。但是它不支持SD/MMC读写,怎么办呢?其实很简单只需要一步就行了!修改arch/arm/dts/exynos4412-itop4412.dts serial3:serial@13830000 { status = "okay"

2017-04-09 20:24:27 2542 5

原创 基于iTop-4412的U-Boot 2017移植[1]:成功运行

基于iTop-4412的U-Boot 2017移植[1]:成功运行 参考资料: + Exynos 4412的启动过程分析 + 基于tiny4412的u-boot移植获取U-Boot本博客使用的版本是 U-Boot 2017.05-rc1。$ git clone git://git.denx.de/u-boot.git开始移植本博客参考一款类似与iTOP-4412的开发板(采用相同的

2017-04-09 20:08:47 10952 27

原创 基于iTop-4412的U-Boot 2017移植[0]:Exynos4412基础

基于iTop-4412的U-Boot 2017移植[0]:Exynos4412基础 参考资料: + Exynos 4412的启动过程分析 + 基于tiny4412的u-boot移植Exynos4412 SoC基础- Exynos4412的地址空间iROM:这段地址空间对应Exynos4412内部固化的一段程序,Exynos4412启动的第一条指令就存放在这里。iRAM:这段地址空间

2017-04-09 19:02:36 6625

原创 从0开始运行主线Linux内核

从0开始运行主线Linux内核本博客以Xunlong Orangepi Zero为例,运行最新Linux 4.11.0-rc4内核。[Mainline U-Boot & Mainline Kernel & Rootfs Howto]Mainline U-Boot# 克隆u-boot仓库git clone git://git.denx.de/u-boot.git# 编译配置make orangep

2017-03-31 20:48:47 2401

原创 Linux Socket编程:基于TCP/IP的客户端与服务端通讯实例

Linux Socket编程:基于TCP/IP的客户端与服务端通讯实例服务端代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/socket.h>int main(int argc, char *argv[]){

2017-03-29 17:49:39 4803

原创 Git撤销commit

Git撤销commit使用git log命令查看最近所有的commit记录:$ git log会出现类似这样的一系列信息:commit ad76aaaac6d34f7cf4404547dc50bd5961204dbbAuthor: Name <E-mail>Date: Mon Mar 27 22:30:21 2017 +0800 <commit message>找到你想回退到的版本的c

2017-03-28 18:15:17 972

原创 使用Git制作和提交patch

使用Git制作和提交patch背景概况现在很多大型的开源项目,如:Linux, U-Boot,都是通过patch来提交代码的。普通开发者从软件仓库git clone下代码,修改代码、制作patch,最后用E-mail发送给对应代码维护者就好了。Git最初作为Linux的版本控制工具,提供了透明、完整、稳定的patch功能。Git提供了两种简单的patch方案。一是使用git diff生成的标准pat

2017-03-28 18:02:04 583

原创 订阅Linux内核邮件列表

订阅Linux内核邮件列表 参考自:http://www.wowotech.net/linux_application/lkml.html一、简介The Linux kernel mailing list (LKML) is the main electronic mailing list for Linux kerneldevelopment, where the majority of t

2017-03-28 16:46:02 6303 5

原创 U-Boot学习:[0]global_data 和 bd_info

U-Boot学习:[0]global_data 和 bd_info 基于U-Boot 2017.03-rc2-gc7a25b3-dirty 源码分析global_dataglobal_data 数据结构global_data 数据结构的定义位于源码目录:include/asm-generic/global_data.htypedef struct global_data { bd_t

2017-03-22 15:52:17 1271

原创 sunxi:[1]Orange Pi Zero U-Boot启动剖析

全面剖析U-Boot with SPL启动过程:U-Boot SPL 2017.03-rc2-gc7a25b3-dirty (Mar 15 2017 - 17:35:37)common/spl/spl.c:preloader_console_init()DRAM: 256 MiBboard/sunxi/board.c:sunxi_board_init()common/spl/spl.c:bo

2017-03-15 17:40:40 2162

原创 sunxi:[0]全志SoC启动过程

sunxi学习:[0]全志SoC启动过程分析 参考:linux-sunxi.org启动流程:Boot ROM→SPL→U-boot(→Kernel→RootFileSystem)一、BROM阶段全志SoC有一个非常具体的启动过程。首先,它执行一个微小的片上 Boot ROM(BROM),然后检查按钮的FEL模式,然后开始检查各种存储选项的有效的引导签名在正确的位置。上电后,SoC开始从BROM

2017-03-14 20:57:49 6721 1

原创 CMake学习

CMake学习 参考自《Cmake Practice –Cjacker》基本语法规则变量的引用${variable}变量使用${}方式取值,但是在 IF 控制语句中是直接使用变量名。环境变量的引用$ENV{NAME}指令的引用instruction(param1 param2 ...)参数使用括弧括起,参数之间使用空格或分号分开。注意指令是大小写无关的,参数和变量是大小写相关的。常用变量和常用

2017-02-26 20:04:31 354

原创 Makefile学习

Makefile学习 参考自《跟我一起写Makefile》陈皓Makefile 的语法规则基本语法target ... : prerequisites ... command ... ...翻译成中文大概就是:一系列目标文件:一系列依赖文件 执行的一些命令target 也就是一个目标文件,可以是 Object File ,也可以是执行文件。还可以是一个标签。pr

2017-02-15 00:27:48 356

原创 linux驱动:[1]LED驱动/dev/led

linux驱动:[1]LED驱动/dev/ledLED Linux驱动程序测试平台: Xunlong Orango Pi Zero代码一览(解析见下方)驱动程序以及Makefile如下:sun8i_opizero_led.c:#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <li

2017-01-15 22:43:11 1175

原创 ARM 汇编指令学习:[2]ARM指令集

ARM 汇编指令学习:[2]ARM指令集一、跳转指令1、 B(跳转指令)及BL(带返回跳转指令) B{L}{<cond>} <target_address>其中:L 决定是否保存当前PC寄存器地址到LR寄存器中。<target_address> 为指令跳转的目标地址。这个地址的计算方法是:将指令中的24位带符号的补码立即数扩展为32位(扩展其符号位);将此32位数左移两位;将得到的值加到PC寄

2017-01-12 17:08:00 880

原创 ARM 汇编指令学习:[1]ARM指令寻址方式

ARM 汇编指令学习:[1]ARM指令寻址方式一、数据处理指令的操作数的寻址方式<opcode>{<cond>}{S} <Rd>,<Rn>,<shifter_operand><shifter_operand>通常具有下面3种格式:1、 立即数方式#<immediate>其中,#<immediate>=immed_8循环右移(2*rotate_imm)。使用说明这里需要注意关于立即数的合法性以立即数

2017-01-12 14:53:33 1375

原创 ARM 汇编指令学习:[0]编码格式与条件码域

ARM 汇编指令学习[0]:编码格式与条件码域一、ARM指令的编码格式 31 28 27 21 20 19 16 15 12 11     0 cond opcode S Rn Rd shifter_operand 其中:cond [31-28] 4-bit 指令执行的条件编码opcode [27-21] 4-bit 指令操作符编码S [20]

2017-01-11 21:18:08 2867

原创 C语言判断机器CPU大小端模式的两种方法

C语言判断机器CPU大小端模式的两种方法本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:第一种方法思路:利用指针的强制类型转换#include <stdio.h>int main(){ int a = 0x12345678; char *p = (char *)&a;//强制转换取到a最低字节的地址 if (*p == 0

2016-12-10 17:12:32 818

原创 【教程】在Ubuntu下搭建ARM处理器 arm-linux-gcc 交叉编译环境以及OpenJTAG + openocd 烧写环境

在Ubuntu下搭建ARM处理器 arm-linux-gcc 交叉编译环境以及OpenJTAG + openocd 烧写环境前言本教程所用操作系统为Ubuntu 16.04,所用ARM处理器为Samsung S3C2440,在FriendlyARM Mini2440开发板上进行操作,使用OpenJTAG + openocd 烧录程序。当然,道理是相通的,所以在不同平台下也只是稍微修改一部分的配置就可

2016-11-14 15:57:00 2549

原创 【福利】小米手机修改MAC地址教程

小米手机修改MAC地址教程MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。为什么需要修改MAC地址呢?为了接入某个网络,有时

2016-11-13 22:11:14 33068 1

原创 欢迎光临我的博客

欢迎光临我的博客大家好,我是techping。本博客将不定时更新一些我刚学或者正在学习某项技术的经历或者经验教程~欢迎关注!我的主页:http://www.techping.cn/这个.cn域名随时都可能停用,如有更新,我会说明。我的个人站点博客:http://www.techping.cn/blog/wordpress/我的简书:http://www.jianshu.com/users/b2a36

2016-11-12 23:06:44 494

空空如也

空空如也

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

TA关注的人

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