自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (5)
  • 收藏
  • 关注

原创 C版的迷你程序——排列permutation

这是数学的重要概念之一。有限集的子集按某种条件的序列化排成列、不许重复等。从n个不同元素中每次取出m(1≤m≤n)个不同元素,排成一列,称为从n个元素中取出m个元素的无重复排列或直线排列,简称排列(permutation)。从n个不同元素中取出m个不同元素的所有不同排列的个数称为排列种数或称排列数,记为排列的数学描述 当且仅当两个排列的元素完全相同,且元素的排列顺序也相同,则两个排列相同。例如,abc与abd的元素不完全相同,它们是不同的排列;又如abc与acb,虽然...

2021-12-08 18:28:21 283

原创 Python版的迷你程序——线性搜索

线性搜索又称顺序搜索,是一种最简单的搜索方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,记录和给定的K值相等的索引,返回搜索成功的记录;若比较结果与文件中记录的关键字都不相等,则查找失败。#!/usr/bin/env python3# -*- coding: UTF-8 -*-#import randomdef LinearSearch (arr, x): counter = 0 null = 0 aidx = [] for i...

2021-12-06 20:38:40 432

原创 深度学习入门初探——C语言版的损失函数均方误差

其Python版的代码在前文已经实现,数据和结果也都是以此做参考和对比的。数学表达式和相关含义也都在此文有学习和论述:深度学习入门初探——损失函数均方误差https://www.toutiao.com/i7033783692963185188/?group_id=7033783692963185188 C语言基于前文的代码组织加入均方误差函数MaenSquaredError的实现:深度学习入门初探——C语言版的激活函数https://www.toutiao.com/...

2021-12-05 22:47:52 219

原创 深度学习入门初探——C语言版的softmax实现

在机器学习的问题上可以大致地分为分类问题和回归问题。回归问题简言之就是根据某个输入来预测或计算出一个数值的结果,基本上使用的就是恒等函数;而分类问题是数据属于哪一个类别的问题,二分类和多分类等,使用的是softmax函数。 其Python版的代码在这里:输出层的介绍深度学习入门初探——多层感知机的神经网络式实现https://www.toutiao.com/i7027833090944860710/?group_id=7027833090944860710...

2021-12-04 21:39:40 925

原创 Python版的迷你程序——二分搜索

二分搜索也称折半搜索(Binary Search),它是一种效率较高的查找和搜索方法。但是要求线性表必须采用顺序存储结构。 假设数组的话,意即二分搜索必须在有序数组中去查找某一特定元素。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。#!/u...

2021-12-03 17:41:28 190

原创 深度学习入门初探——C语言版的激活函数

这个系列的学习,基本上没有使用过多Python依赖的库和第三方工具,更没有使用目前较火的框架(tf、pytorch、caffe)等,更多的采用了numpy。下面是Python版的激活函数:深度学习入门初探——简单的激活函数 C语言是过去几十年软件和硬件两个阵营之间签署的最坚实的契约。硬件为C语言的语义提供了最能发挥其性能的基础构件,而软件虽然搞了很多的圆环套圆环般的层次,但最终都以C语言作为最后的沉淀收尾。 现在比较火爆的tf,即是Google基于高层...

2021-12-02 23:51:13 633

原创 C版的迷你程序——数组实现约瑟夫环

约瑟夫环的问题,具体到某个编码来解决可谓是很多很多,这里对于约瑟夫环先打个比方:一辆小巴车被查出严重超车,最多载10人的超载至30人。于是乘客下车排成一队,排队的位置即为他们的编号。然后就是报数,从1开始,数到6的人被安排滞后乘车。如此循环,直到不超过 10 人为止,问都有哪些编号的人需要下车了,哪些编号可以乘车?当然这里只考虑仅有一辆车的情况哈,至于后续车和后续登车的问题不做考虑哈。Python版的迷你程序——约瑟夫环 这里用了C的数组实现,编号和数组索引一一对应了,...

2021-12-02 16:55:09 913

原创 Python版的迷你程序——约瑟夫环

约瑟夫环的问题,具体到某个编码来解决可谓是很多很多,这里对于约瑟夫环先打个比方:一辆小巴车被查出严重超车,最多载10人的超载至30人。于是乘客下车排成一队,排队的位置即为他们的编号。然后就是报数,从1开始,数到6的人被安排滞后乘车。如此循环,直到不超过 10 人为止,问都有哪些编号的人需要下车了,哪些编号可以乘车?当然这里只考虑仅有一辆车的情况哈,至于后续车和后续登车的问题不做考虑哈。 python代码把编号和列表元素的值一一对应了,每次移除了列表中编号(值)的匹配项。...

2021-12-01 17:59:48 835

原创 Python版的迷你程序——快速排序

​前几天学习的几个排序算法,C语言的实现。C版的迷你程序——排序算法Python版的迷你程序——冒泡排序Python版的迷你程序——选择排序Python版的迷你程序——插入排序Python版的迷你程序——归并排序这个是python版本的快速排序算法,使用了python的列表和模块numpy的数组格式,还对比了列表自身的sort方法和numba模块的加速耗时。

2021-11-30 16:17:59 728

原创 Python版的迷你程序——归并排序

前几天学习的几个排序算法,C语言的实现。C版的迷你程序——排序算法https://www.toutiao.com/i7033941677715309086/?group_id=7033941677715309086 这个是python版本的,使用了python的列表和模块numpy的数组格式,除了自己按照归并思想写的排序外,还对比了列表自身的sort方法和numba模块的加速耗时。#!/usr/bin/env python3# -*- coding: UTF-8...

2021-11-30 08:57:27 412

原创 Python版的迷你程序——插入排序

前几天学习了下几个排序算法,用C语言写了写。C版的迷你程序——排序算法 这个是python版本的,使用了python的列表和模块numpy的数组格式,除了自己按照插入思想写的排序外,还对比了列表自身的sort方法和numba模块的加速耗时。#!/usr/bin/env python3# -*- coding: UTF-8 -*-#import numpyimport timeimport copyimport mathimport randomf...

2021-11-27 17:56:55 73

原创 Python版的迷你程序——选择排序

前几天学习了下几个排序算法,用C语言写了写。C版的迷你程序——排序算法 这个是python版本的,使用了python的列表和模块numpy的数组格式,除了自己按照选择思想写的排序外,还对比了列表自身的sort方法和numba模块的加速耗时。#!/usr/bin/env python3# -*- coding: UTF-8 -*-#import numpyimport timeimport copyimport mathimport randomf...

2021-11-26 11:14:26 106

原创 Python版的迷你程序——冒泡排序

前几天学习了下几个排序算法,用C语言写了写。C版的迷你程序——排序算法 这个是python版本的,但使用了列表和numpy的数组格式,除了自己按照冒泡思想写的排序外,还对比了列表的sort方法和numba模块的加速。耗时仅做参考。#!/usr/bin/env python3# -*- coding: UTF-8 -*-#import numpyimport timeimport copyimport mathimport randomfrom...

2021-11-25 17:26:03 377

原创 深度学习入门初探——损失函数交叉熵误差

在看交叉熵误差公式前,先来熟悉一下自然对数,自然对数是以常数e为底数的对数,数学中常见以logx表示自然对数。e是一个无限不循环小数,其值约等于2.718281828459…,是一个超越数。看代码,分析图: 代码不写注释,因为很明显了。之所以加了负号画出红线图形,是因为这个解释起来更容易一些,而且交叉熵误差函数也确实是取了负号的。 前文深度学习入门初探——多层感知机的神经网络式实现已经介绍过了,神经网络的输出softmax,值在0到1之间,1就是100%的...

2021-11-25 00:46:05 1463

原创 C版的迷你程序——快速排序算法

思想就是在区间中随机挑选一个元素作基准,将小于基准的元素放在基准之前,大于基准的元素放在基准之后。之后再分别对上一波基准划分的小数区间与大数区间进行同样方式的排序。之后的分治办法也是很方便并行处理的。C版的迷你程序——冒泡排序算法C版的迷你程序——选择排序算法C版的迷你程序——插入排序算法C版的迷你程序——归并排序算法#include <stdio.h>#include <time.h>#include <stdlib.h>#i...

2021-11-24 09:54:48 536

原创 深度学习入门初探——损失函数均方误差

前文已经介绍了损失函数的目的是做什么了的: 深度学习入门初探——引出损失函数https://www.toutiao.com/i7033404064663126560/?group_id=7033404064663126560 这里呢,先来学习下均方误差这个损失函数是怎么计算的: y表示测试数据经过预测得到的结果,t表示测试数据的正确结果,k表示数据的维度。下面是python实现的代码:def maen_squared_error...

2021-11-23 23:45:41 1718

原创 C版的迷你程序——归并排序算法

把数据分段,从某段中逐个选最小的元素移入新数据段,然后再 段与段 之间比较再形成新的数据段。下面是通过打印学习这样的数据是如何搬移的:个人觉得这个思想并行处理上比较方便(分治办法)。#include <stdio.h>#include <time.h>#include <stdlib.h>#include <sys/time.h>void ShowSortPro(int arr[], int len){ int i;...

2021-11-23 10:19:25 2795 3

原创 深度学习入门初探——引出损失函数

学习----从数据中学习,指的是有数据自动决定权重参数的值。可以说数据是学习的命根子。这种数据驱动的方法,也可以说脱离了过往以人为中心的方法。 意指:在需要解决某个问题时,特别是需要发现某种模式时,神经网络和深度学习极力避免人为介入,而是尝试从收集到的数据中发现模式。这相比于传统的机器学习而言,那时特征模式的发现是由人预先针对特定领域设计出一定的特征向量,比如视觉中的SIFT、SURF和HOG等,数据通过特定的转换器提取出这样的特征向量。 而深度学习不需要...

2021-11-23 00:08:47 914

原创 C版的迷你程序——控制日志记录文件的大小

项目开发时以及代码最终发布后,日志文件都是必不可少的,对于程序运行过程的调试、分析和监控都是很好的一种手段,对于多线程和多进程的开发也是很好的一种分析手段,代码中有线程ID的参数,但这里不讨论线程的东东,仅仅把自己使用过的控制日志记录文件的大小和格式化输出做一个分享。#include <stdio.h>#include <unistd.h>#include <string.h>#include <stdlib.h>#include...

2021-11-22 11:06:52 1070

原创 C版的迷你程序——插入排序算法

插入排序--Insertion Sort也是一种简单直观的排序算法,通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,需要从后向前扫描,需要反复把已排序元素逐步向后挪位,为最新元素提供插入的空间。#include <stdio.h>#include <time.h>#include <stdlib.h>#include <sys/time.h>void ShowSortPro(i...

2021-11-21 11:20:14 615

原创 C版的迷你程序——选择的排序算法

选择排序--Selection sort是一种简单直观的排序算法。首先在未排序序列中找到最小/大元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小/大元素,然后放到已排序序列的末尾。截图中肉眼可见的数据移动策略相较于冒泡,数据交换频率就低了很多。#include <stdio.h>#include <time.h>#include <stdlib.h>#include <sys/time.h>void Sho...

2021-11-20 19:50:17 1779 2

原创 C版的迷你程序——冒泡的排序算法

C语言是过去几十年软件和硬件两个阵营之间,签署的最坚实的契约。硬件为C语言的语义提供了最能发挥其性能的基础构件,而软件虽然搞了很多的圆环套圆环般的层次,但最终都以C语言作为最后的沉淀收尾。----所以才会有C版的迷你程序!!! 之所以起头写这样系列的文档,主要是锻炼自己的编码能力,类似于leetcode吧。 浅话到此,C版的迷你程序、Python版的迷你程序、以及两个语言好玩的小项目,都会持续不定时的网络收集和自己把玩。充实自己的小白脑细胞。另外新进语言R...

2021-11-19 17:50:05 464

原创 Python版的迷你程序——简易的图片水印

现在网络的图片基本都是带有水印的,也学一下怎么个添加,代码注释掉的都是调试过程的显示,感兴趣的可以打开瞅瞅,图片水印位置是固定在右下角的,代码的12-19行可以调整。# -*- coding: utf-8 -*-import osimport timefrom PIL import Imagedef watermark_photo(input_image_path,watermark_image_path,output_image_path): base_image ...

2021-11-18 19:17:39 429

原创 深度学习入门初探——hello word式的手写数字识别二

对于深度学习来说,手写数字识别和编程语言第一程式打印hello word应该属于一个级别的了,下面先看下手写数字识别的网络会是什么样子,然后以此学习几个概念。 MNIST 数据集见上文深度学习入门初探——hello word式的手写数字识别一2 手写数字识别的推理处理 推理处理呢也称为神经网络的前向传播,这里假设训练已经结束,神经网络是个现成的,存储在sample_weight.pkl这个文件中。来看看这个网络是个什么样子哈。 数据的...

2021-11-16 23:47:26 1055

原创 深度学习入门初探——hello word式的手写数字识别一

对于深度学习来说,手写数字识别和编程语言第一程式打印hello word应该属于一个级别的了,下面先看下手写数字识别的数据是什么,然后以此学习几个概念。1 手写数字识别数据集MNIST MNIST 数据集由 0-9 单个数字的图片构成,训练图像6万个和1万个测试样本。对于数据的组成形式,代码来得更直观一些。简单的来说就是28*28像素的灰度图,shape成一维的就是784个数据,剩下的就是批处理多少个的问题了。这里建议大家熟悉一下数据在张量里的常见表示NCHW,对图像来...

2021-11-14 23:58:54 1217

原创 Python版的迷你程序——年月日时分秒

这些个小东西对于文件的记录,log的输出等还是很有用的,先获取了再说:# -*- coding: utf-8 -*-import calendarimport datetime"""%y 2个数字表示年份%Y 4个数字表示年份%b 月份的简写。一月:Jan%B 月份的全写。一月:January%m 月份[01,12]%d 日在这个月中的天数(这个月的第几天)%H 24小时制%h 12小时制%M 分钟[00,59]%S 秒[00,61]%f 微秒%...

2021-11-14 16:53:15 855

原创 Python版的迷你程序——文本单词的统计

昨天的代码里其实已经有了,一行Line24代码就解决了(Python版的迷你程序——文本内容的简单统计分析),今天来看看字典的使用,注意列表中的元素什么情况下才成为字典的键:import reimport sysfilename = sys.argv[1]# 以不区分大小写的单词方式产生一个列表list_of_words = []with open(filename, "r") as f: for line in f: list_of_word...

2021-11-13 19:55:05 551

原创 Python版的迷你程序——文本内容的简单统计分析

文本的行数,字符的总数,单词的数量和出现的频率,特殊字符的统计。# -*- cofing: utf-8 -*-import osimport sysimport collectionsimport stringscript_name = sys.argv[0]res = { "total_lines":"", "total_characters":"", "total_words":"", "unique_words":"", "...

2021-11-12 17:47:31 329

原创 Python版的迷你程序——获取给定网页上的所有链接

感觉这个试过以后,那些个严禁复制网页内容的就不再是个烦恼了。每个网页右键会出现一个查看网页源代码的选项,看看都有些什么,这对于理解下面的代码是有用处的。 注意看类似这些行<a class="nav-link" href=https://tvm.apache.org/community>Community</a>。代码里的find字符"a"和get的"href"方法主要作用就在这里。 直接上代码吧:import reque...

2021-11-10 19:38:34 599

原创 深度学习入门初探——多层感知机的神经网络式实现

这里将以前面两节的实现为基础,改进两个版本的代码,注意分析这两个代码和感知机实现的演进变化。深度学习入门初探——感知机的初级理解深度学习入门初探——简单的激活函数 在看源码之前,需要理解一下Numpy的几个乘法的区别: 对应元素相乘 : multiply 函数或 * 线性代数中矩阵乘法:dot函数或 matmul函数(二维与dot一样,可以支持更多的shape) 还有就是矩阵A*矩阵B和矩阵B*矩阵A可是不一样。...

2021-11-08 00:09:34 952

原创 Python版的迷你程序——文件内容搜索

最近看源码,需要在文件夹下查找匹配相应的关键词。正好有个这种功能的python代码。自己调试了一把,分享至此。有时间了可以把文件内容和行号给整一下。import ostext = input("input text : ")path = input("path : ")flags = 0def getfiles(path): os.chdir(path) files = os.listdir() #print(files) for file...

2021-11-04 19:24:14 271

原创 Python版的迷你程序——随机密码生成器

最近接触了些破译方面的东东,主要是加密和解密的一些算法和流程。对于暴力破解的手段,密码字典也是个挺关键的步骤呢。下面学习个密码生成器的python代码。基于库函数的密码产生 使用 Python 库函数string和random:string.ascii_lowercase小写字母abcdefghijklmnopqrstuvwxyz; string.ascii_uppercase大写字母ABCDEFGHIJKLMNOPQRSTUVWXYZ; string.asci...

2021-10-08 19:56:44 1215

原创 Python版的迷你程序——json文件转换为csv

浅话 C语言是过去几十年软件和硬件两个阵营之间,签署的最坚实的契约。硬件为C语言的语义提供了最能发挥其性能的基础构件,而软件虽然搞了很多的圆环套圆环般的层次,但最终都以C语言作为最后的沉淀收尾。----后面也会有C版的迷你程序!!! 之所以起头写这样系列的文档,主要是锻炼自己的编码能力。 现在比较火爆的tf,即是Google基于高层IR表达,抽象出在AI领域内的公共编程模型,聚焦此高层IR表达实现了一个framework框架,形成了Python生态的高价...

2021-09-30 15:41:31 572

原创 深度学习入门初探——简单的激活函数

1 复习感知机 复习下前一节的感知机,先来看看公式: 如果稍微把式子从另外一个角度来描述呢: 激活函数已经显露出来了,h()即是。如果把a作为一个神经元,权重W有了,输入X有了,偏置b有了,a输出到y就得有激活函数来转换,这个激活函数就是阶跃函数:# coding: utf-8import numpy as npimport matplotlib.pylab as pltdef step_function(x): ...

2021-09-28 23:51:08 186

原创 SystemC自带example的cpu之Data Cache研习

例子中并没有数据缓冲的体现,和指令缓冲一样,仅仅就是RAM的读写设计。上来先是对RAM内容进行初始化,然后就是根据输入的使能信号和读写地址,直接进行相应的操作了。struct dcache : sc_module { sc_in<signed> datain; // input data sc_in<unsigned> statein; // input state bit MESI(=3210) sc_in<bool...

2021-07-27 17:02:38 473

原创 SystemC自带example的cpu之Instruction Decode研习

这个RISC CPU模型的微结构,其指令集是基于商用RISC处理器和类似MMX的DSP程序指令定义的,由39条之多的指令组成(算术、逻辑、分支、浮点、SIMD(类似MMX))。 本次通过译码和执行单元学习下这些指令的具体含义,取指前面已有学习,这里也会再来看一下波形的过程,下面先看看指令码的组成:32bit 图示了计算alu和数据load上的指令码的格式,分支没有列出来,每一类指令接下来都会从取指、译码、执行的波形中分析一下。1 汇编器和译码单元...

2021-07-27 16:41:45 571

原创 SystemC自带example的cpu之Instruction Fetch研习

这个RISC CPU模型的微结构,CPU本身是使用SystemC建模的,基本都是可综合的语句,没有采用TLM方式建模。其指令集是基于商用RISC处理器和类似MMX的DSP程序指令定义的,它由39条之多的指令组成(算术、逻辑、分支、浮点、SIMD(类似MMX))。读入汇编程序并执行它,然后将结果写回寄存器/数据存储器。 通过这个例子的学习,可以习得指导实现硬件/软件的划分思路,设计者可以使用汇编程序编写算法,也可以使用YACC将算法转换为CPU的指令集。在CPU中运行评估需要...

2021-07-14 09:53:23 793 1

原创 深度学习入门初探——感知机的初级理解

感知机是由一名美国学者在1957年提出来的,作为神经网络和深度学习的起源算法,学习感知机的构造也是学习通向神经网络和深度学习的一种重要思想。 感知机可以有一个或者多个输入信号,输出一个信号。每个输入信号都有各自的权重,这些权重发挥着控制各个信号重要性的作用,也就是说权重越大,对应该权重的信号的重要性就越高。下面我们以两输入的感知机来描述一下真值表的逻辑,先看一下两个式子: 式子里除了输入,剩下的系数都可称为权重(权重和偏置),可以理解权重是控制输入信号...

2021-07-12 23:31:25 318 5

原创 SystemC自带example的simple_bus研习

simple_bus是一个简单的总线模型的抽象描述,基于时钟同步的事务级建模。 时钟同步:这种时钟节拍精度的仿真会导致仿真速度变慢。目标是在一个时钟一个时钟的基础上对系统中的组织和数据移动进行建模,并与等效的真实系统进行比较,会忽略节拍内的事件。 事务建模:各功能组件之间的通信被描述为函数调用,一组总线的事件或事件序列由抽象的软件接口以及相应的函数调用表示。接口的事务级建模比基于pin的建模具有更高的仿真速度,同时也加快了建模构建过程。 ...

2021-07-09 10:49:23 919

原创 SystemC自带example的rsa研习

rsa公钥密码的实现,这个实现的目的是展示SystemC的任意精度类型的用法。SystemC中的数据类型可以用于实现关于任意精度整数的算法示例。这里使用的算法不是最有效的,仅仅是用于解释目的。SystemC自带example的系列:SystemC自带example的pipe研习SystemC自带example的pkt_switch研习SystemC自带example的simple_perf研习1 RSA背景知识 RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而...

2021-06-25 09:40:23 179

yolo_marktool

darknet-yolo的深度学习框架数据集格式制作工具,已经打包好的程式。

2019-01-22

darknet-yolo深度学习训练工具集

Windows下打包好的可以直接使用的darknet-yolo深度学习程式,仅仅需要自己做数据集就可以训练了,再次建议使用GPU,不过只需要你装好驱动即可。Linux版本若有需要私我吧。

2019-01-22

LearnPython in30minutes

30分钟学会Python

2017-05-14

TensorFlow_beginner

对TensorFlow有个简单的认识,目的是了解和运行一下TensorFlow的基本流程。

2017-05-14

OpenCV的简单例子

OpenCV安装完成后两个简单的测试例子,是codeblocks的工程文件。

2016-04-30

空空如也

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

TA关注的人

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