Zheng’s Notes
Avatar

A Believing Heart Is Your Magic

Categories
All (273)
体系结构 (7)
工具使用 (16)
推理框架 (3)
操作系统 (8)
数据结构 (17)
机器学习 (40)
深度学习 (83)
生活 (1)
编程语言 (27)
编译器 (36)
边缘计算 (33)
运筹学 (2)

Axe: A Simple Unified Layout Abstraction for Machine Learning Compilers

编译器
这篇论文是陈天奇团队的成果,提出一个统一的硬件感知抽象(Axe Layout),将逻辑张量坐标映射到多维物理空间,并设计基于此的多粒度、分布式感知的编译器DSL。今天就来解析一下Axe Layout的设计思路和实现细节。
Feb 8, 2026
Layout

Cute概念速通

推理框架
这篇文章将快速的介绍Cute中的一些基本概念、 layout algorithm、swizzle等,具体代码位于cute概念速通。
Feb 3, 2026
Layout

探究jax reshard优化

编译器
Google在分布式系统上有非常深厚的积累,本文主要尝试检查jax的行为来探究数据重分布reshard算子的优化方案。
Oct 15, 2025
分布式

Flash Attention记录

推理框架
简单记录一下flash attention的推导和实现。
Sep 26, 2025
算子

Chimera: An Analytical Optimizing Framework for Effective Compute-intensive Operators Fusion

编译器
这是zheng size的一篇分析建模的文章,思路和Model Driven Optimization类似,但是细节上有一些差异,简单总结一下。
Aug 28, 2025
后端优化,性能建模

推理框架调研

推理框架
记录一下学习vllm/trt llm等框架的内容。
Feb 14, 2025
vllm

DISTAL: The Distributed Tensor Algebra Compiler

编译器
这篇论文主要是介绍了一个分布式张量代数编译器, 它通过自定义的DSL可以帮助我们快速生成分布式计算代码。
Feb 4, 2025
多面体模型,DSL

triton-cpu初体验

编译器
体验一下triton cpu,看看是否有想象中的效果。
Dec 4, 2024
Triton

分布式存储架构下的矩阵乘与编译器

编译器
分布式内存计算机的出现主要是为了满足大规模计算任务对计算能力和内存容量的需求, 但是由于物理限制与成本考虑, 单处理器的性能提升存在极限, 而分布式内存计算机通过使用多个相对简单/成本较低的处理器组成集群, 可以在不突破物理限制的情况下, 以较低的成本实现更高的计算性能.
Nov 7, 2024
分布式

机器学习编译概念科普

编译器
带大家建立一个对机器学习编译的基本概念.
Aug 8, 2024
tvm

benchmark的经验与技巧

边缘计算
为了公平对比性能都不是一件容易的事情. 各个框架的runtime都可能存在一些不同配置, 需要把他们安排到统一基准线去对比才有意义.
Aug 8, 2024
踩坑经验

Ampl学习

运筹学
熟悉一下ampl的语法.
Jun 14, 2024
Ampl

Constraints Solver Internals

运筹学
关于ortools中Constraints Solver的内部逻辑.
May 8, 2024
OrTools

Model Driven Optimization

编译器
关于Model-Driven Optimization For Tensor Computations论文的阅读笔记.
Apr 30, 2024
后端优化,性能建模

探索AMX: 解锁Apple Silicon隐藏性能

体系结构
自从2020年Apple发布的芯片M1/M2/M3, 至少提供了四种不同的方式可以执行高负载的计算任务:
Apr 23, 2024
指令集,Apple

Explore AMX instructions: Unlock the performance of Apple Silicon

体系结构
Since 2020, Apple has published M1/M2/M3. They have at least four different ways to perform high-intensity computing tasks.
Apr 23, 2024
指令集,Apple

macos中bundle的使用

操作系统
研究一下在macos中如何编译bundle文件并动态加载并运行.
Mar 13, 2024
cmake,CPP

Affine Fusion Pass浅析

编译器
学习mlir中Affine Fusion Pass, 主要关注依赖分析部分.
Jan 11, 2024
mlir,多面体模型

TileFlow: A Framework for Modeling Fusion Dataflow via Tree-based Analysis

编译器
学习TileFlow这篇论文中是如何进行多个内存层级的tiling.
Dec 29, 2023
多面体模型,性能建模

hugging face llama使用

深度学习
记录一下使用hugging face llama推理时遇到的问题.
Dec 26, 2023
大语言模型,llama,踩坑经验

Tensor DSL总结

编译器
本文旨在总结一些张量优化的DSL是如何设计的, 尝试从其中发现一些共同点. 接下来我将统一使用Matmul(Transpose(Conv(lhs)),rhs)的例子在不同的框架中进行测试.
Dec 20, 2023
DSL,Jittor,Halide,Tiramisu

MLIRSharp

编译器
记录一下MLIRSharp的开发总结.
Nov 25, 2023
mlir

tvm dynamic shape 学习

编译器
探究tvm dynamic shape的实现.
Nov 15, 2023
TVM,动态shape

mlc-llm 浅析

编译器
学习tvm是如何解决LLM推理问题.
Nov 1, 2023
LLM,tvm

Alibaba EasyDist 浅析

编译器
对于阿里巴巴开源的EasyDist: Automated Parallelization System and Infrastructure for Multiple Ecosystems代码解读, 主要关注IR设计与搜索域构造.
Sep 19, 2023
分布式,Pytorch,中端优化

Tiramisu Compiler Internals

编译器
Tiramisu 是一个基于polyhedral的DL compiler, 通过探索他的实现细节来学习如何利用polyhedral compilation并整合到他的dsl中的.
Sep 6, 2023
多面体模型,DSL,Tiramisu

基于DL的CostModel

编译器
调研一些使用机器学习/深度学习方法构造神经网络CostModel的论文.
Jun 16, 2023
CostModel,后端优化

roofline Model

编译器
学习一下roofline Model相关内容.
Jun 13, 2023
性能建模

ppcg 学习

编译器
学习一个ppcg的整体流程与细节.
May 31, 2023
多面体模型

halide metal 初体验

编译器
买了m2 mac pro之后, 一直想把m2的计算能力应用起来, 发现还是halide的功能比较完备, 支持metal后端, 所以尝试一下.
Apr 9, 2023
Halide,DSL

带宽受限下的DSA后端Compute Schedule

编译器
之前写过一篇带宽受限下的DSA后端优化, 不过主要是针对已经构建好Compute Schedule之后的优化, 今天准备展开讲讲. 从单层卷积到优化计算,再到Layer Fusion,以及后续各种优化,下面将通过一系列的例子来介绍:
Feb 23, 2023
后端优化

Equality Saturation优化在AI编译器中遇到的挑战

编译器
Egg是一个基于EGraph的程序优化框架, 作者在其中实现基于Equality Saturation概念的优化方法, 简单来说就是通过将所有的表达式保存在EGraph这个数据结构中,可以按任意顺序实施RBO(基于规则的优化), 因为其中同时存储了所有可能的表达式, 所以没有传统优化中phase ordering的问题, 最终可通过CostMod…
Feb 10, 2023
中端优化,Equality Saturation

带宽受限下的DSA后端优化

编译器
目前对于许多端侧NPU来说,是由一个可编程操作但容量较小的SRAM进行数据调度,需要尽可能的减少数据搬运, 从而避免DSA中的计算单元处于空闲状态[^1]。
Nov 15, 2022
后端优化

AKG 学习

编译器
学习AKG的算子编译流程, 主要关于后端.
Oct 17, 2022
多面体模型,后端优化

Polyhedral Tutorials

编译器
关于Polyhedral Tutorials的一个中文翻译归档,其中所有章节原文位于我的仓库中.
Aug 14, 2022
多面体模型

zhihu markdown导入(2022年6月)

工具使用
我最近想把写的东西弄到知乎上,但是发现一堆问题,按照之前的方式出现了老多错误,因此记录一下.
Jun 30, 2022
Zhihu

Optimizing the Memory Hierarchy by Compositing Automatic Transformations on Computations and Data

编译器
这篇文章是赵捷老师在mircro 2020上发表的论文,我觉得这篇文章对理解akg系列的工作比较重要,所以仔细阅读了一遍.
Jun 25, 2022
多面体模型,后端优化

标量指令集编译器简易实现

编译器
之前没有接触过标量isa的编译器该怎么写,所以需要学习一下. 主要参考自RednaxelaFX的寄存器分配问题 以及chibicc简易c编译器.
Apr 23, 2022
指令集

Halide 进阶

编译器
主要分析halide内部机制.
Mar 19, 2022
Halide,DSL

egg 浅析

编译器
主要分析egraphs-good也就是egg这个库的实现机制.因为最近发现适配到基于relay的ir中存在一些问题,因此还是需要仔细研究一下他的实现细节.
Feb 27, 2022
中端优化,Equality Saturation

C# P/Invoke 总结

编程语言
关于C#调用本机lib时遇到的一些问题汇总.
Feb 9, 2022
CSharp,C

Pure Tensor Program Rewriting via Access Patterns

编译器
这是一篇基于EGraph对Tensor级别的IR进行Term Rewrite的文章.
Jan 10, 2022
中端优化,Equality Saturation

TVM TensorIR

编译器
关于TVM的Tensor level IR.
Dec 4, 2021
TVM

关于如何在M1上使用TorchSharp

编程语言
TorchSharp只有x64的,太蛋疼了,所以需要重新安装一遍.
Nov 18, 2021
Pytorch,CSharp

Automatically Scheduling Halide Image Processing Pipelines

编译器
关于halide中自动调度baseline算法的论文笔记. 二作目前还在维护halide.
Nov 14, 2021
Halide

Pythonnet踩坑

编程语言
关于python和dotnet互相调用时遇到的一些问题
Nov 12, 2021
Python,CSharp,踩坑经验

csharp 问题记录

编程语言
记录一些开发csharp时遇到的问题以及解决方案。
Oct 26, 2021
CSharp

C# Source Generator使用

编程语言
C#中提供一个代码生成的功能,基于模板的生成和这个是没法比的.因为我们是直接调用编译器对当前项目进行分析,然后生成代码.
Oct 21, 2021
CSharp

polyhedral入门学习

编译器
学习关于polyhedral的基础概念.
Sep 5, 2021
多面体模型

一些python中的小坑

编程语言
最近在重度使用 python , 记录一下一些进阶使用时的问题.
Aug 24, 2021
踩坑经验,Python

模板元编程实战(第一章)

编程语言
模板元编程实战,第一章节.
Aug 16, 2021
模板元编程,CPP

piecewise regression

编译器
分段线性拟合算法,即将一段y关于x的函数进行分段,每个区间用一个更加简单的函数进行拟合.
Jul 24, 2021
神经网络量化

numpy中继承ndarray

编程语言
关于如何更好的利用numpy中ndarray的特性来提升编程舒适度.
Jul 17, 2021
Python,Numpy

k210-tool-chains mac m1编译

边缘计算
关于如何在apple m1 上编译k210 toolchains
Jul 16, 2021
K210

x86指令集使用汇总

体系结构
一些x86的硬件指令集相关信息。
Jul 5, 2021
指令集

Conan使用汇总

编程语言
记录使用conan时遇到的各种问题.
Jun 22, 2021
CPP,Conan,踩坑经验

Halide 入门

编译器
Halide快速入门笔记。
Jun 1, 2021
Halide,DSL

Nand2Tetris week4

体系结构
上周我不知道自己在做什么,好像很忙,但是啥东西都没做出来,太难受了。这周得改改自己的生活节奏了。这周的课程是Machine Language,应该是要讲如何设计ISA了。
May 24, 2021
Nand2Tetris

vscode连接远程服务器中docker

工具使用
关于如何利用vscode在远程服务器中连接docker并进行开发。
May 18, 2021
Linux,Vscode

Nand2Tetris week3

体系结构
第三周,目标是构建main memory unit,也就是ram。而内存逻辑需要基于时钟循序,所以与之前的逻辑门电路不同。
May 11, 2021
Nand2Tetris

Nand2Tetris week2

体系结构
第二周,主要实现基于boolean的数学运算以及ALU
May 6, 2021
Nand2Tetris

Nand2Tetris week1

体系结构
准备系统学习计算机体系结构,网上的课程还是挺多的,不过感觉coursera上这门从与非门到俄罗斯方块感觉好一些,虽然学校排名不高,但基于项目导向会比较容易吸收一点。
May 4, 2021
Nand2Tetris

ncnn学习

边缘计算
对ncnn学习的一些汇总。
Apr 28, 2021
ncnn

cpp挖坑&爬坑

编程语言
记录一些遇到的cpp新特性或者实现技巧上的问题。
Apr 25, 2021
CPP,踩坑经验

cmake踩坑&爬坑

编程语言
最近实习了,每天都要和cmake打交道,记录一些时常要用的东西和遇到的问题。
Apr 25, 2021
cmake,CPP,踩坑经验

二分查找-统一框架

数据结构
前天面试的时候又考到二分查找了,但是没有写出来,之前看了labuladong的鬼模板,以为自己懂了,发现其实并不懂,这几天重新学习之后,写下了这篇文章。
Apr 5, 2021
二分法

神经网络量化-基本原理

编译器
准备系统的学习一下神经网络量化,参考网络上的一些教程同时再次整理消化,这次首先对基本原理进行了解。
Mar 27, 2021
神经网络量化

leetcode刷题总结

数据结构
唠唠叨叨的刷题总结,不定期更新.
Jan 21, 2021
LeetCode

Parameter-Free Style Projection for Arbitrary Style Transfer

深度学习
这是一篇来自百度的风格迁移论文,提出了一种无参数的风格特征投影方法对原始图像进行风格迁移。下面来读读吧:
Nov 27, 2020
GAN

pytorch从任意层截断并提取数据

深度学习
我想尝试利用预训练模型的各个层的特征进行重构并检查效果,但是对于任意的已经训练好的模型,我无法修改其forward流程,这个时候我们想到了利用hook函数。使用hook之后,我们可能需要提取中间层的输出,但模型还是运行所有,造成了不必要的时间浪费,因此需要想一个办法在hook的同时对模型进行截断。
Nov 14, 2020
Pytorch

Pytorch Webdataset初体验

深度学习
最近都在用pytorch,虽然pytorch很多东西都比tensorflow舒服,但是在data pipeline方面还是tensorflow比较有优势,缺乏一个紧凑压缩的record的读取方法,虽然可以用DALI,但是之前用了一下还是不够灵活。最近在pytorch博客中发现了一个Webdataset,因此就尝试一下。
Nov 12, 2020
Pytorch

Design GAN

深度学习
DESIGN-GAN: CROSS-CATEGORY FASHION TRANSLATION DRIVENBY LANDMARK ATTENTION这是来自Alibaba的一篇论文,不过他投的会议,一共只有5页,感觉有的部分没有说清楚。这篇论文提出一种基于landmark 引导的注意力cyclegan,用于人物换装。
Nov 9, 2020
GAN

pytorch-lighting隐藏的坑

深度学习
最近发现pytorch-lighting比较好用,比我在tensorflow里面自己写的那个好,不过因为他的结构嵌套的比较深,用起来还是会踩坑。这里来记录一下。
Oct 16, 2020
Pytorch,踩坑经验

White-box GAN

深度学习
关于论文 Learning to Cartoonize Using White-box Cartoon Representations
Oct 9, 2020
GAN

Model-Agnostic Meta-Learning

深度学习
Model-Agnostic Meta-Learning(MAML)是元学习中经典算法之一,今天准备来实现一下。
Oct 3, 2020
元学习

mindspore vs tensorflow

深度学习
尝试用了一下mindspore,这里给出一个dcgan的demo对比一下两个框架。 我使用mindspore 0.7,tensorflow 2.2,megengine 0.6,其他参数均相同。
Sep 21, 2020
Tensorflow,mindspore

关于mindspore

深度学习
记录一些关于mindspore代码的东西。
Sep 19, 2020
mindspore

Uncertainty Weight Loss

深度学习
这是对论文Multi Task Learning with Homoscedastic Uncertainty的一个学习。
Sep 14, 2020
Tensorflow,概率论

基于Qt的抠图工具

工具使用
写这个工具是因为在网上找了一圈没找到免费的批量自动抠图工具。因此参考稿定抠图的样式写了一个小工具,稿定抠图其实还挺好用的,就是只能免费3张图像。remove.bg我看了下也挺贵的,而且他是基于语义分割的,对于人像的分割比较好,对于一般的物品就不行了,我比较需要的是基于显著性目标检测的抠图。
Sep 14, 2020
Python,Qt

8月总结&淋巴结发炎预防与治疗

生活
感觉生了个病八月份就要过去了。。。难受。生病的就很想休息,一点也不想学习,然而一休息就半个月没了😔,又感觉自己浪费了宝贵的时间。这次我主要总结一下生病的情况,因为其实从过年开始就有症状了,但后面去医院医生居然看不出我是什么病,导致暑假里面吃了不该吃的东西让病情严重了。
Aug 29, 2020

统计学习方法:PageRank

机器学习
PageRank感觉没有什么东西,就是为了避免通常情况下非强连通的图中进行马尔科夫游动导致概率为0的问题,人为为所有节点添加一个随机游动概率。
Aug 10, 2020
统计学习方法,概率论

统计学习方法:潜在狄利克雷分配模型

机器学习
潜在狄利克雷分配模型其实就是一个确定结构的概率图模型,他主要做两件事情:
Aug 3, 2020
统计学习方法,概率论

统计学习方法:马尔科夫链蒙特卡洛法

机器学习
蒙特卡洛法是对概率模型进行抽样来近似数值计算的方法.马尔科夫链蒙特卡洛法就是以马尔科夫链作为概率模型的蒙特卡洛法.
Jul 28, 2020
统计学习方法,概率论

统计学习方法:概率潜在语义模型

机器学习
最近因为各种杂事,导致我很难专心做一些事情.我觉得需要反省一下自己.
Jul 21, 2020
统计学习方法,概率论

tensorflow与pytorch代码差异

深度学习
可能会长期更新,因为经常需要从pytorch偷代码翻译成tensorflow😑因此记录一下差异的地方.
Jul 5, 2020
Tensorflow,Pytorch

半监督学习:RealMix与EnAET

深度学习
今天看两篇论文,因为只是学习一下他们的思路,所以不进行细写。
Jun 19, 2020
半监督学习,Tensorflow

Proxy Anchor Loss for Deep Metric Learning论文解读

深度学习
这是CVPR2020的一篇度量学习的论文.来自韩国.我觉得还蛮有意思的,因此学习一番.
Jun 17, 2020
Tensorflow

统计学习方法:聚类方法

机器学习
聚类方法书中只讲了Kmeans和层次聚类.这两个比较简单,所以我这里就不讲解了.
Jun 16, 2020
统计学习方法,概率论

统计学习方法:条件随机场

机器学习
条件随机场的理论实在令人头疼,上来就介绍概率无向图,我是基本没看懂😹.而且又要准备别的东西,很难静心看下去,最后还是看苏神的博客大致了解了,因此这次的代码我也主要是修改了苏神的代码.
Jun 13, 2020
统计学习方法,概率论

统计学习方法:隐马尔可夫模型

机器学习
Hidden Markov Model属于生成模型,是带时序的概率模型。时间关系我没有实现他的参数估计方法,等待有缘人pr一波。
Jun 10, 2020
统计学习方法,概率论

U-GAT-IT论文解读

深度学习
这个论文是基于CycleGan的一个改进,论文中的典型应用是将自拍转换为卡通风格。我参考了小视科技开源的代码,这里对这个论文做一个详细描述。
Jun 7, 2020
GAN

统计学习方法:EM算法

机器学习
关于EM算法.
Jun 6, 2020
统计学习方法,概率论

统计学习方法:提升方法

机器学习
提升方法。这个思路可以被考虑到集成中。提升方法AdaBoost的想法是将相同类型的不同参数的弱分类器的分类结果进行集成,他是一个串行的提升过程。此方法的流程比较清楚,关于原理部分建议大家仔细看书。
Jun 5, 2020
统计学习方法,概率论

统计学习方法:支持向量机

机器学习
这次实现中,关于如何选择违反KKT条件最严重的点在书中没有提到,我首先按照书上的方法实现了一下,但是发现没找到\(\epsilon\)和违反KKT条件的量化方法,而且只按书上来,实现的SVM效果并不理想。看来我还是没有完全弄透…先写了个初级版的,以后需要再深入了解时可以重温。
Jun 1, 2020
统计学习方法,概率论

统计学习方法:逻辑回归

机器学习
这一章其实是逻辑回归和最大熵模型,最大熵模型的实现需要数个特征与定义对应的特征函数,因此我暂时没有实现.
May 29, 2020
统计学习方法,概率论

统计学习方法:决策树

机器学习
由于时间关系我没有实现决策树的剪枝与CART算法.
May 27, 2020
统计学习方法,概率论

统计学习方法:朴素贝叶斯

机器学习
明明简单的算法,代码写起来还真不轻松…感觉后面的算法我可能要偷懒了.
May 23, 2020
统计学习方法,概率论

统计学习方法:KNN

机器学习
K近邻法比较简单,我就讲下流程.
May 23, 2020
统计学习方法,概率论

统计学习方法:感知机

机器学习
我觉得自己对于概率视角下的机器学习方法还是不够清晰,因此开个新坑(其实这个基础就应该上上学期打好),现在准备两个月之内把统计学习方法第二版撸完(flag是不是太…).不管了,今天是第一章感知机,为了节约记录的时间,我都只写我觉得比较重要的地方.
May 19, 2020
统计学习方法,概率论

OpenPose人体姿态估计

深度学习
我参考tf-pose-estimation重新构建一个人体姿态估计模型,下面主要记录一下坑点.
May 16, 2020
姿态估计,Tensorflow

tf.keras.Model.outputs隐藏问题

深度学习
今天发现tf.keras.Model.outputs的隐藏问题(feature),我居然之前都没有发现233
May 15, 2020
Tensorflow,Keras

vscode Python Docstring Generator

工具使用
Python Docstring Generator这个插件我用了挺久了,不过他这里的提供的样式风格和vscode自动提示的风格是不太匹配的.之前改了一个模板我又找不到了,这里记录一下.
May 3, 2020
Vscode,Python

Python格式化配置

编程语言
之前一直用autopep8作为格式化公式,后来发现不能设置缩进两个空格就换成了yapf。但yapf实在是一言难尽,我不太喜欢这种整个文档都帮你格式化的,autopep8这样可以只考虑每一行的内部的格式化就足够了,可以给程序员更多的调整空间。
Apr 27, 2020
Python

Ubuntu配置clash

工具使用
最近我开的vultr的vps好像全挂了,ip貌似被用滥了,所以使用机场了。现在用的这个一年dlercloud的一年288的套餐还挺贵的=_=。window下配置比较简单,下载官方提供的clash-win然后直接登陆账号密码就完事了,Ubuntu下面真的难倒我了,下面说下怎么配置。
Apr 23, 2020
Linux,科学上网

Anime GAN

深度学习
最近偶然看到一篇AnimeGAN的推送,他的官方实现在这里。我很感兴趣,尝试学习并复现,下面是我的一些记录。
Apr 19, 2020
Tensorflow,GAN

Circle Loss

深度学习
本文是对旷视所提出的论文:Circle Loss: A Unified Perspective of Pair Similarity Optimization的个人解读。
Apr 6, 2020
Tensorflow,损失函数

tf.keras实现Spectral Normalization

深度学习
最近准备把自己写的训练框架全部升级到支持分布式以及混合精度训练,发现如果其中对于自定义层的改动还真不少。这里分享一个支持分布式以及混合精度训练的Spectral Normalization实现。
Apr 6, 2020
Tensorflow,Keras,归一化

infomax中一些错误总结

深度学习
最近想用infomax算法和对比学习结合起来,然后应用在半监督学习中。在实验过程中遇到了一个非常奇怪的问题。
Mar 30, 2020
踩坑经验,半监督学习,Tensorflow

半监督学习:SimCLR

深度学习
SimCLR实际上是Geoffrey Hinton和谷歌合作的论文A Simple Framework for Contrastive Learning of Visual Representations,严格来说他是一个自监督算法,不过我这里也把他归入半监督中了,他实际上是先无监督预训练然后进行监督微调的。
Mar 28, 2020
半监督学习,Tensorflow

H5模型转pb模型

深度学习
这个实际上是个伪需求,直接h5转tflite就好了,但是就是没办法,总有些东西不支持新的方法。下面记录一下怎样把tf2.0生成的h5模型转成tf1.10的pb模型。
Mar 17, 2020
Tensorflow,Keras

Control Theory Augment

深度学习
CT Augment是论文ReMixmatch中提出的一种不需要通过控制方法不需要使用强化学习即可调整数据增强测量的一种方法。今天仔细学习一下。
Mar 7, 2020
Tensorflow,数据增强

Augmentation For Mel Spectrogram

深度学习
对音频数据训练我认为还是对数Mel谱图的方式比较好一下,需要一个音频版的RandAugment,借此机会把一下Mel谱图的增强方式汇总一下。
Feb 29, 2020
Tensorflow,声音信号处理

mxnet模型转tflite

深度学习
今天尝试把insightface的模型转换到tflite格式,在此做个记录。
Feb 24, 2020
Tensorflow,mxnet

bce focal loss

深度学习
简单记录一下bce focal loss。
Feb 16, 2020
Tensorflow

tf2.0 全局添加regularizers

深度学习
如何给tensorflow中预训练好的模型添加正则化器?
Feb 12, 2020
Tensorflow

半监督学习:FixMatch

深度学习
第十个算法FixMatch: Simplifying Semi-Supervised Learning withConsistency and Confidence,这依旧是谷歌研究组的作者提出的,是对MixMatch的改进。
Feb 6, 2020
半监督学习,Tensorflow

半监督学习:ReMixMatch

深度学习
第九个算法ReMixMatch: Semi-Supervised Learning with Distribution Alignment and Augmentation Anchoring,这也是谷歌MixMatch的同一作者提出的,是对MixMatch的改进。
Feb 5, 2020
半监督学习,Tensorflow

半监督学习:Unsupervised Data Augmentation

深度学习
第八个算法UNSUPERVISED DATA AUGMENTATION FOR CONSISTENCY TRAINING。此算法与VAT的想法类似,都是通过加强扰动的质量来获得更好的一致性正则化。
Feb 4, 2020
半监督学习,Tensorflow

半监督学习:MixMatch

深度学习
第七个算法MixMatch: A Holistic Approach toSemi-Supervised Learning。此算法将之前的各个半监督学习算法进行融合,统一了主流方法,得到了最优的效果。此算法好,就是训练的过程慢一些。
Feb 3, 2020
半监督学习,Tensorflow

半监督学习:Interpolation Consistency Training

深度学习
第六个算法Interpolation Consistency Training forSemi-Supervised Learning,这个算法是利用mixup提出了一种简单的一致性正则化方法。
Feb 2, 2020
半监督学习,Tensorflow

半监督学习:mixup

深度学习
第五个算法mixup: BEYOND EMPIRICAL RISK MINIMIZATION,这个算法应该很多人都听过或者用过,它十分简单但又十分有效,是之后大部分半监督论文都用到的技巧。
Feb 1, 2020
半监督学习,Tensorflow

半监督学习:Virtual Adversarial Training

深度学习
第四个算法Virtual Adversarial Training(虚拟对抗训练),出自论文Virtual Adversarial Training:A Regularization Method for Supervised and Semi-Supervised Learning,下面简称为vat。
Jan 31, 2020
半监督学习,Tensorflow

半监督学习:mean teacher

深度学习
第三个算法mean teacher,此算法是对Π model的升级。
Jan 30, 2020
半监督学习,Tensorflow

半监督学习:Π model

深度学习
第二个算法Temporal Ensembling for Semi-Supervised Learning,它提出了一个Π model以及Temporal ensembling的方法。
Jan 29, 2020
半监督学习,Tensorflow

半监督学习:pseudo label

深度学习
入坑半监督学习苦于找不到好的学习资料,不过就在昨天我发现了一个宝藏repo,那就是谷歌research的fixmatch仓库,是一套半监督算法的框架,包含数十种半监督算法,简直是入坑半监督学习的最佳教程😆
Jan 29, 2020
半监督学习,Tensorflow

tensorflow实现各种iou

深度学习
最近想搞半监督的东西,但是我发现一个人的精力着实不够,而且这个tensorflow也让我很难受,莫名其妙只要一用jit就core dump,不用jit训练又慢,显存又狂吃,再这样下去准备转mxnet了😤。然后今天把之前本来想做没做完的东西做做完,就是各种iou的tensorflow实现,顺便为自己做一个总结。
Jan 25, 2020
Tensorflow,目标检测,Yolo

tensorflow人脸识别

深度学习
在此记录一下参考insightface用tensorflow实现人脸识别的过程。
Jan 14, 2020
Tensorflow,人脸识别

tf2.0 自定义Model高级用法

深度学习
最近看insightface深受启发,他的人脸识别在训练时可以训练softmax的,还可以训练triplet loss的,并且在验证时是对图像pair进行验证的。这几天弄论文顺便先给tf里面的模型写个骨架出来。这里的主要难点在于如何用tf.keras自带Model类实现训练和测试时不同的行为,今天尝试了一下,做个总结。
Jan 7, 2020
Tensorflow

PFLD总结

深度学习
PFLD算法是我今年8月复现的,当时没有写总结,现在补上.
Dec 21, 2019
Tensorflow,人脸检测

retinaface总结

深度学习
  本次主要总结一下retinaface和Ultra-Light-Fast-Generic-Face-Detector-1MB。
Dec 19, 2019
Retinaface,Tensorflow,目标检测

tf2.0得到子boolmask在boolmask中的索引

深度学习
在yolo中计算了单层的anchor与全局的gt间的iou score,但是我需要在其中过滤出单层的anchor对应单层的gt的iou score。目前有单一层的gt的loc_mask,以及全局的gt的glob_mask,其中loc_mask中有效区域是glob_mask的子集,因此需要找到loc_mask在glob_mask的对应索引。
Dec 13, 2019
Tensorflow

tf2.0数组索引与赋值

深度学习
用了挺久的tensorflow,目前也尝试了一些别的框架,感觉最让我难受的一点就是没法很方便的按索引赋值。
Dec 3, 2019
Tensorflow

tf.keras实现动态多尺度训练

深度学习
哇,今天真的好累,就写了个动态多尺度训练(差点又被tensorflow劝退.),下面写几个要注意的点.
Nov 13, 2019
Tensorflow,Yolo,Keras

测试tf.keras中callback的运行状态

深度学习
要给yolo添加多尺度训练,因为tf.keras无法对dataset对象进行callback操作这也就算了,但是我没法得知dataset对象目前在生成训练数据还是测试数据,这个就很蛋疼,需要能在尽量不大改代码的同时添加多尺度训练方式,所以还得看tf.keras.callback.
Nov 13, 2019
Tensorflow,Yolo,Keras

skimage中resize内存泄漏

深度学习
我今天运行个模型,跑着跑着内存就泄漏了,我很奇怪,然后用memory_profiler分析了下内存泄漏的点.发现是skimage的resize中出现了泄漏.
Nov 1, 2019
踩坑经验

Tensorflow 1.15中TensorBoard错误

深度学习
升级了tensorflow到1.15,发现一个用tf.keras中TensorBoard的时候就会报错的问题.
Oct 21, 2019
Tensorflow

Lookahead优化器的tf.Keras实现

深度学习
论文《Lookahead Optimizer: k steps forward, 1 step back》的tf.Keras实现.
Oct 20, 2019
Tensorflow,优化器

Cross Entropy的数值稳定计算

深度学习
今天在看centernet的heatmap损失函数时,发现他的损失和熵差不多,但是我用tf的实现会导致loss为Nan,因此我看了下Cross Entropy的计算优化,这里记录一下.
Sep 22, 2019
Tensorflow,损失函数

tf.keras损失函数聚合测试

深度学习
使用tf.keras自定义损失函数的时候,他的reduction的文档解释太少,所以写个代码测试一下预期的行为.
Sep 22, 2019
Tensorflow,Keras

配置CenterNet环境

深度学习
昨天我尝试用双cuda的方式来配置换,但是还是遇到了cuda的错误,我不懂pytorch又没办法解决。然后我浏览下issue,看到有同样的问题,大概率是由于显卡是20系列的,老版本的cuda不行,解决方式就是升级pytorch版本用新的cuda。所以我这里把配置环境重新做个记录,免得下次又来。。
Aug 29, 2019
Pytorch,目标检测

tf.keras中优化metric计算(提取loss至metric)

深度学习
有的时候我们的loss函数是一个复合函数,但是在tf.keras中,loss函数只能返回一个标量,这个时候我们如果想要观察loss中子部分的值就只能写个metric去重新计算,但是这样是很浪费计算资源的,所以最好直接将loss中的值提取至metric。
Aug 28, 2019
Tensorflow,Keras

Ubuntu多cuda版本控制

工具使用
为了学习CenterNet,配置环境弄了半天。。由于我是主用tensorflow的,pytorch搞不来,只能按他的步骤来。他的环境比较老,是cuda 9.0 cudnn 7.1的,然而我早就在用cuda 10.1 cudnn 7.5了,所以我还得安装这个版本的cuda。
Aug 28, 2019
Tensorflow

条件VAE

深度学习
这几天时间自己把TensorFlow Probability里面的几个例子过了一遍,希望以后可以做出一些深度学习与概率论结合的成果。
Aug 18, 2019
Tensorflow,VAE

Tensorflow中的错误记录

深度学习
以后这篇文章就来记录tensorflow中遇到的问题与解决方式。
Aug 12, 2019
Tensorflow,Keras,踩坑经验

人脸识别方法总结

深度学习
要搞个人脸识别的应用,花了半天时间浏览一下,准备基于open face的模型来做移植。下面是对开源库face-recognition的使用指南进行一个翻译,看了一下基本知道了大致流程。不过我记得上次写过L softmx -> A softmx -> AM softmax的这些loss都是用在人脸识别里面的,但是如果基于softmax loss的话…
Aug 1, 2019
人脸识别

互信息:无监督提取特征

深度学习
本文是对苏剑林的深度学习的互信息:无监督提取特征的学习总结,主要是关于Deep INFOMAX的论文复现.
Jul 31, 2019
无监督学习

树莓派修改配置使能串口登陆

边缘计算
树莓派真的太不人性化了,新的系统永远都是默认不开启串口登陆以及ssh-server的,每次接个显示器不是很累吗?这次我先配好一个,记录一下。
Jul 30, 2019
Linux,树莓派

变分自编码器(VAE) 直观推导

深度学习
最近一周系统的看下概率论的东西,把公式都看了下,这次重新对VAE做一个直观的推导,我这里就不说VAE为什么要这么做(水平不够),只说他是怎么做的。
Jul 29, 2019
VAE,概率论

概率模型第四章 : 大数定理

机器学习
Tensorflow 概率模型学习,代码运行于Tensorflow 1.14,文字半机器翻译。
Jul 28, 2019
概率论,Tensorflow

概率模型第三章 : MCMC

机器学习
Tensorflow 概率模型学习,代码运行于Tensorflow 1.14,文字半机器翻译。
Jul 27, 2019
概率论,Tensorflow

概率模型第二章 : A little more on TFP

机器学习
Tensorflow 概率模型学习,代码运行于Tensorflow 1.14,文字半机器翻译。
Jul 26, 2019
概率论,Tensorflow

设置路由器使用LAN口

工具使用
新到了个服务器,为了在Windows下面也可以交叉编译,再配合vscode远程功能,美滋滋.但是很快我发现了一个问题,我们的网络配置如下:
Jul 25, 2019
树莓派,Vscode

EM算法与EM路由

机器学习
搞定了yolo,终于可以学习点新的东西了。今天就学习一波胶囊网络中的EM路由。 先推荐一个课程资料,杜克大学的统计学课程,从python讲到c++,从矩阵计算讲到概率统计,从jit讲到cuda编程。看看人家本科生学的东西。。。
Jul 11, 2019
聚类方法

实现yolo时踩过的坑!

深度学习
终于把yolo v3框架写好了。支持多模型、多数据集、任意输出层数量、任意anchor数量、模型剪枝还适配k210.不要太好用~
Jul 10, 2019
Tensorflow,Yolo,目标检测

比较kmdoel和tflite推理输出

边缘计算
我的yolo3模型在k210里面输出结果完全不对,所以我十分怀疑是量化出了问题,但是我又找不到问题。还好昨天case小姐姐帮忙更新了nncase,可以在pc上推理kmdoel.然后我推理了几个图像,这次就是记录一下这个脚本,免得下次要用找不到了。。。
Jul 6, 2019
Tensorflow,K210

tf.keras自定义loss报错shape mismatch

深度学习
在上次的文章中我写了如何自定义loss,但是我真正想要的使用的场景比那些还要复杂一些。
Jun 11, 2019
Tensorflow,踩坑经验

tf.dataset无法推断shape导致错误

深度学习
使用tensorflow.keras的时候,tf.dataset在执行model.fit的时候报错:
Jun 10, 2019
Tensorflow,踩坑经验,Keras

tf.keras多输出模型自定义loss

深度学习
自从看了苏剑林的博客之后,我对keras是越来越喜欢了,但是我更喜欢在tensorflow中使用keras,今天就来看看如何在tf.keras中自定义多输出模型的loss,并且搭配高效的tf.dataset.
Jun 9, 2019
Tensorflow,Keras

numpy中动态范围切片

编程语言
今天想把两个不同的形状的数组进行赋值,因为数组形状是动态的,所以要想一个办法进行动态的范围切片.
Jun 8, 2019
Python,Numpy

L softmx -> A softmx -> AM softmax

深度学习
本篇文章是对Large Margin Softmax loss,Angular Margin to Softmax Loss,Additive Margin Softmax Loss的学习记录。公式我尽量按照原文来写,并加入一点注释。
Jun 3, 2019
损失函数,Tensorflow

tf.keras中分析性能

深度学习
tensorflow和keras的结合太好了,今天训练模型超级慢,我准备使用tensorflow中的timeline来进行分析,一番寻找发现根本不需要以前那么麻烦。
May 23, 2019
Tensorflow,Keras

tf.Keras完美使用tf.data API

深度学习
最近看了苏剑林的几篇博客, 我忽然对keras不是那么抵触了,才发现之前认为Keras使用不灵活完全是因为的认识不够深入。所以我准备使用Tensorflow 2.0中的tf.Keras来 构建Yolo v3,在tensorflow中我们可以更加灵活的优化我们的数据输入管道,这次介绍一下多输入的model如何结合tf.data,基础的使用方式在这里…
May 21, 2019
Tensorflow,Keras

变分自编码器(VAE)学习

机器学习
我看了VAE之后忽然对神经网络的非监督学习以及概率模型很感兴趣,但是无奈概率模型真的好难懂啊. 今天尝试一边描述VAE一边真正的理解他. 参考总结自:https://spaces.ac.cn/archives/5253
May 13, 2019
VAE,概率论

python返回值进行unpack

编程语言
最近在写yolov3,因为yolov3的多输出性质,所以我打算写适配多输出的工具函数,在numpy中可以在一个array中包含多个不同维度的array,但在tensorflow中一个tensor只能保存相同维度的矩阵,这就十分蛋疼了.下面记录一下我是如何解决的.
May 9, 2019
Python

Tensorflow 2.0中使用global steps

深度学习
用了一段时间的tensorflow 2.0,总的来说默认eager模式操作数据十分的方便,并且可以适当的转为tf.function加快速度.但是和keras的结合还是不够灵活,比如可以单独用fit可以执行,但是想用更加灵活的方式训练有时候就会出现莫名其妙的问题,让人抓狂.
May 6, 2019
Tensorflow

python实现stft

深度学习
以后还是要自己实现k210中的代码,所以准备还是在python中先实现一下.下面记录两种stft谱图的实现方式
Apr 24, 2019
声音信号处理,Python

k210中使用core1

边缘计算
记录一下在k210中使用core1遇到的错误.
Apr 24, 2019
K210,踩坑经验

CapsNet实现以及踩坑

深度学习
我本来打算用tensorflow 2.0去写capsule net的,结果被tf 2.0中的tensorboard坑的放弃了…
Apr 22, 2019
Tensorflow

对比tensordot、matmul、einsum速度

深度学习
准备自己实现capsule Net,今天看了下别人实现的版本,感觉里面的矩阵乘积应该是可以优化的。
Apr 20, 2019
Tensorflow

图像缩放-双线性插值

边缘计算
需要在k210中实现图像的裁剪缩放,所以就写了个双线性插值的程序进行处理.写好了记录一下.
Apr 17, 2019
图像处理,K210

声音信号处理-STFT变化

深度学习
短时傅里叶变换
Apr 12, 2019
声音信号处理

Makefile中使用shell赋值变量

工具使用
今天我为了makefile的方便起见,将一些变量通过脚本的形式给到makefile中,但是通过shell命令给makefile变量赋值让我头疼了一波.. 🙄
Apr 6, 2019
踩坑经验,Makefile

cpp模板编译踩坑记

编程语言
今天给我的东西写了个可变长模板log类,然后编译的时候踩了大坑.😤
Apr 1, 2019
踩坑经验,CPP

声音信号处理-FFT性质

机器学习
今天实践FFT的各种性质。
Mar 27, 2019
声音信号处理

声音信号处理-DTF与DTFT

机器学习
现在要做声音相关,所以先学习声音信号处理的内容,这个将会成为一个系列.
Mar 25, 2019
声音信号处理

安装conda之后pip执行全局的问题

编程语言
今天我要装3个Tensorflow但是我发现每次装一个就卸载前面那个,我很奇怪,然后就发现了这个大问题!
Mar 21, 2019
踩坑经验,Python

解决Ubuntu下nvidia驱动导致画面撕裂

工具使用
我最近装了这个RTX2060,虽然Tensorflow是编译成功安装了,但是我用的时候发现我的屏幕画面撕裂的太厉害了,我滚动代码都会导致花屏,把我气死.今天终于解决了.
Mar 20, 2019
踩坑经验

重新编译Tensorflow

深度学习
最近搬砖赚了一个GTX2060,所以这两天就在折腾安装显卡以及安装Tensorflow.下面是我的一个记录.
Mar 14, 2019
Tensorflow

yolo中anchor值的解释

深度学习
anchor意味着先验思想,是为了给神经网络拟合box减轻负担。下面就来讲解一下anchor的计算。
Mar 12, 2019
Tensorflow,Yolo,目标检测

Yolo中loss函数分析

深度学习
今天又回顾了一下yolo中的loss函数,我对比了keras_yolo3,keras-yolo2,以及yolo作者的实现.又有了一些新发现.
Mar 8, 2019
Yolo,Tensorflow,目标检测

使用c通过http发送文件

编程语言
最近要用单片机通过http发送文件到服务器,所以写了个发送文件的demo。
Mar 8, 2019
C,Linux

Raspi蓝牙:编程实现录音

边缘计算
经过之前一系列复杂的配置,我搭建好了交叉编译pulseaudio的环境,现在我们可以调用相应的api去进行录音.
Mar 4, 2019
蓝牙,Linux,树莓派

yolo中precision降低的原因分析

深度学习
最近在训练yolo模型一类检测模型,我在训练过程中发现precision会降低,思考之后对其做出一些分析.
Mar 3, 2019
踩坑经验,Tensorflow,Yolo

pulseaudio交叉编译

边缘计算
交叉编译pulseaudio到树莓派中并调用相应api.但是要交叉编译一个pulseaudio需要先交叉编译十几个依赖,这个是非常麻烦的事情.所以我找了一个简单的方法.
Mar 1, 2019
蓝牙,树莓派

Raspi蓝牙:播放与录音

边缘计算
距离上一篇文章已经过去太久了,现在尝试使用树莓派的蓝牙录音.
Feb 27, 2019
蓝牙,树莓派,Linux

使用argparse解析Bool型的坑

编程语言
今天又碰到一个坑…使用argparse解析bool型参数返回值总是true.
Feb 24, 2019
Python,踩坑经验

解决目标检测任务测试集recall率低

深度学习
我把Google官方的mobile-net模型拿来做迁移学习.在训练的过程中发现一个问题,在测试中对于目标的recall率十分低.经过了两天的尝试,大概找到了解决办法
Feb 23, 2019
Tensorflow,踩坑经验,目标检测

k210图片测试

边缘计算
马上要开始移植模型到k210中,首先我需要知道k210中的图像数据是如何排列的.所以需要做一个测试.
Feb 14, 2019
K210

Tensorflow加载pb推理输出不正确

深度学习
我最近做网络测试的时候,我发现推理出的结果和我训练的时候结果完全不相同.我做了一番测试.
Feb 7, 2019
Tensorflow,踩坑经验

使k210支持Tensorflow卷积

边缘计算
我昨天咋编译模型的时候,碰到k210 model-compiler提示ValueError: conv2d MobilenetV1/Conv2d_12_depthwise/depthwise:0 should use padding=SAME.他说我的卷积输入不正确,让我使用samepadding.但是我查看了代码,的确使用的same卷积.所以今…
Jan 30, 2019
K210,Tensorflow

Tensorflow加载pb文件继续训练

深度学习
Tensorflow中模型即代码
Jan 28, 2019
Tensorflow

Tensorflow中动态学习率无效

深度学习
我昨天刚刚上传了Mobilenet Flowers项目,今天在修改勘智官方的的demo,我简单粗暴的把他的代码改成我的写法,然后测试,忽然发现我的动态学习率一直不变.找了半天才解决.
Jan 27, 2019
踩坑经验,Tensorflow

tqdm中后缀的添加

深度学习
苦于tensorflow中没有好用的训练显示函数,所以我准备用tqdm库显示一下训练过程.既然要显示训练过程中的参数,那肯定要自己对他的默认进度条格式进行修改,所以这里就来说几个使用方式.
Jan 24, 2019
Tensorflow,Python

mobilenet测试

深度学习
我前段时间一直在利用23层卷积层实现yolo模型,但是前两天的训练结果显示我还是太naive.本来还准备成功了发布到git,现在就按照群里大佬的指点,用pre-train的mobilenet模型,后面再加上yolo.今天我就先测试了一下mobilenet模型效果.因为k210里面只能放5.9mb的模型,所以我准备了mobilenet_v1_0.5…
Jan 20, 2019
Tensorflow

python 多维数组指定区域中寻找元素索引

编程语言
今天想完成一个功能,需要在一个多维数组中的指定区域找到对应元素在整个数组中的索引,因为这个问题描述起来不方便,找了半天也没有找到好的答案.因此就自己尝试了一下np.where果然可以,但是网上的一些例子中都没提到这个的用法,所以记录一下.
Jan 6, 2019
Python

LeNet-5

深度学习
过几天要考试了/(ㄒoㄒ)/~~
Dec 24, 2018
Tensorflow

机器学习作业第八周

机器学习
终于到了最后一周接下来就是学习深度学习相关内容,一个是吴恩达老师的深度学习课程,他的深度学习前面一些内容学过机器学习就不需要看了.然后还可以看斯坦福大学的UFLDL教程,也有翻译中文版.
Dec 17, 2018
吴恩达课程

机器学习作业第七周

机器学习
这周是无监督学习算法,比较简单.k means之前就已经写过了,PCA主要是有个矩阵的奇异值分解需要看看矩阵相关知识.
Dec 15, 2018
吴恩达课程

机器学习作业第六周

机器学习
这周是SVM,其实SVM部分是没有什么难点,主要问题是在于自定义核函数在sklean中比较蛋疼.
Dec 13, 2018
吴恩达课程

代码块自动添加折叠

工具使用
今天放代码的时候,突然觉得代码太烂太长,放在那边就扫了大家浏览的兴致,所以准备给所有的代码段加个折叠块,但是加折叠块必须要每个文件修改,很蛋疼,所以就写了个小工具去自动添加
Dec 11, 2018
Python

BP神经网络回归

机器学习
利用BP神经网络实现非线性回归,我用了两个方式实现,发现用库的方式没有我从吴恩达老师作业里面改过去的好用.先看题目.
Dec 11, 2018
Python

机器学习作业第五周

机器学习
这周没有什么好说的,主要就是根据两个误差与方差曲线去判断算法下一步优化的方向,但是这个我觉得还是要做的多了才知道如何去做下一步的判断,毕竟这么多算法,你肯定得都懂点才能去判断优劣.
Dec 9, 2018
吴恩达课程

机器学习作业第四周

机器学习
第四周的作业是神经网络的训练和预测.这个和我之前写的神经网络有点不一样,吴恩达老师这里所有的都是加上bias节点以及正则化的.主要注意一下梯度函数.
Dec 8, 2018
吴恩达课程

机器学习作业第三周

机器学习
这个是第三周的作业,是一个多类的正则化逻辑回归和神经网络.
Dec 4, 2018
吴恩达课程

numpy切片中的坑

编程语言
今天我需要在大矩阵中提取小矩阵,百度了一波之后,我以为他与matlab中一样,可以用i+:,但是我用了之后才发现他只支持了一半,把我坑到了、
Dec 2, 2018
Python,踩坑经验,Numpy

ntfs文件损坏

操作系统
今天真的是背,我的一个md文档莫名奇妙损坏了。导致我的hexo无法生成博客。
Dec 2, 2018
Linux,踩坑经验

libmpfr错误

边缘计算
我重装了Ubuntu之后去编译k210的程序发现编译不了了。蛋疼。
Dec 1, 2018
K210,踩坑经验

机器学习作业第二周

机器学习
这是第二周逻辑回归的作业,经过上一次的作业,我对ocatve和numpy的语法有了一个感觉,所以转换起来也比较方便了。我这次就像他的原版作业一样,两个执行文件,另外把所有需要自己实现的函数都放在func.py里面了。
Nov 29, 2018
吴恩达课程

fcitx配置

工具使用
昨天刚刚重新装了Ubuntu,最舒服的一点就是Nvida的显卡驱动分分钟安装。但是也有一些不爽的,像这个fcitx的配置我又找了老半天。
Nov 26, 2018
踩坑经验

机器学习作业第一周

机器学习
这是吴恩达老师的机器学习作业….并不是我们学校的 hh
Nov 25, 2018
吴恩达课程

最大最小聚类

机器学习
我写的最大最小聚类.但是我写的时候只写了依据最小进行聚类 233
Nov 24, 2018
聚类方法,Python

常大宿舍移动网有线上网

工具使用
参考校园网使用指南.
Nov 24, 2018
Linux,科学上网

kmeans 实现

机器学习
kmeans是最基础的聚类算法,我这里写一下流程就直接上我写的代码了.
Nov 22, 2018
聚类方法

Python神经网络编程

深度学习
这两天看了这本书,非常好.一下就可以把人讲懂.我试着写了他的例子
Nov 21, 2018
Python

WordCloud库使用

编程语言
最近在学Python,还是比较有意思的,今天试了下WordCloud库写了个小程序
Nov 20, 2018
Python,WordCloud

自己实现的进度条库

编程语言
为了使程序变得美观大方,所以我写了一个命令行进度条的库,用c语言写的.下面介绍一下库的用法.
Nov 16, 2018
C,Linux

蒙特卡洛法

机器学习
在实际过程中,有的算法不能保证每次都能的到正确的解.蒙特卡洛算法则是在一般情况下可以保证对问题的所有实例都以高概率给出正确解,但是通常无法判定一个具体解是否正确.
Nov 15, 2018
概率论

Linux下实现

操作系统
今天在写NB-iot的程序的时候,发现一个很蛋疼的问题,程序会把接收到的数据printf出来,但是linux下\n就会换行,所以会出现大段的空白,需要解决一下。
Nov 13, 2018
Linux,树莓派

k210与cutecom冲突解决

边缘计算
我昨天在做k210的双核测试的时候,想给大家看看两个核printf的时间差,以此作为对比。但是我发现只要打开cutecom进行串口通信,就会导致单片机死机,所以我寻找了方法对他进行解决。
Nov 12, 2018
K210,踩坑经验

k210_双核测试

边缘计算
k210由两个核组成,我想测试一下两个核的运行情况。编写了以下程序:
Nov 11, 2018
K210

som算法

机器学习
相比于bp神经网络算法,som相对来说比较容易理解。自组织神经网络,是一种用于聚类的神经网络算法,从名字便可以看出,这是一种无监督式的算法,意味着,它不需要任何训练样本,便可以直接对输入样本根据其特征分类,将具有相似特征的划分为一类。
Nov 7, 2018
聚类方法

树莓派NB-IOT使用

边缘计算
我的同学给了我一个nb-iot的小开发板 ,让我在树莓派上移植一个nb-iot的程序。
Nov 4, 2018
树莓派,NB-IOT

k210 高速gpio与中断

边缘计算
高速gpio拥有更快的反转能力,并且一共有32个io,足够我们使用。
Nov 2, 2018
K210

k210_GPIO使用

边缘计算
听说学会了点灯就学会了一切2333
Nov 2, 2018
K210

k210环境搭建_Windows

边缘计算
我们下载以下文件: 还要下载烧录软件!
Nov 1, 2018
K210

回溯法

数据结构
回溯法其实质就是一个带减枝的DFS过程。 有时会遇到这样一类题目,它的问题可以分解,但是又不能得出明确的动态规划或是递归解法,又需要对整个问题进行遍历才可以得到答案时。 回溯问题一般有如下三种:
Nov 1, 2018
LeetCode

k210环境搭建_Linux

边缘计算
首先我使用的Deepin15.6系统,我拿到的板子是绿色的原版
Oct 30, 2018
K210,Linux

DBSCAN算法原理及实现

机器学习
因为模式识别需要分组讲一个聚类算法,所以我挑选了这个算法。
Oct 30, 2018
聚类方法

aggressicecows

数据结构
Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are located along a straight line at positions x1,…,xN (0 <= xi <= 1,000,000,000).
Sep 27, 2018
LeetCode

Boolean Expressions

数据结构
where V is for True, and F is for False. The expressions may include the following operators: ! for not , & for and, | for or , the use of parenthesis for operations…
Sep 25, 2018
LeetCode

c++成员函数中static变量

编程语言
我最近在做郭炜老师的编程题目,这道题我实现的过程中出现了一些蛋疼的错误,进行一个记录.
Sep 17, 2018
CPP,踩坑经验

字典序

数据结构
直接上程序:
Sep 10, 2018
C

C语义转换

工具使用
今天发现一个有趣的工具:cdecl 点击进入即可。 这是一个可以将c语言的定义转成英语的小工具,对于一些看着头疼的定义直接可以给出解释。 例如:int (*(*foo)(void ))[3] 解释:declare foo as pointer to function (void) returning pointer to array 3 of…
Sep 3, 2018
C

排序算法小集

数据结构
直接上程序
Sep 1, 2018
排序

哈夫曼树

数据结构
其实早就应该写完这个哈夫曼树,只不过最近有点没有心情学习。对于哈夫曼树的构造,我总结了以下几步:
Aug 23, 2018
树

stm32使用静态库

边缘计算
我这两天写程序的时候,使用了大量的宏定义去开启和关闭代码块。但是我发现每次我切换一个宏定义的时候就会将所以的stm32工程中的所有文件进行重新编译,耗费太长时间,效率不如之前用注释代码块的方式。所以我仔细看了看。发现每次编译stm32hal库的时间是最长的,那么我就可以将所有的hal库文件生成一个静态库,让编译的时候连接即可。
Aug 16, 2018
stm32

堆

数据结构
堆其实是也是一种二叉树,不过他的排序方式更加舒服,对于需要升序或者降序排列的数据非常有用。
Aug 14, 2018
堆栈

cmake构建stm32工程

边缘计算
用习惯了cmake,cmake的编译输出比makefile好看许多。对于stm32cubemx生成的makefile工程,我是否可以转换成cmake的工程呢?
Aug 14, 2018
Linux,stm32

linux stm32 开发

边缘计算
最近换了双系统,发现还是linux下面写程序爽。windows还是比较适合打游戏233. 这篇文章记录一下linux下开发stm32的一些东西。
Aug 13, 2018
Linux,stm32

c与c++字符串赋值

编程语言
最近用c++写的一个程序,我想用一个const char *p对一个char head[2]赋值,我使用strcpy赋值之后一直出现错误。我就写了个小程序去验证了一下。
Aug 6, 2018
C,CPP,踩坑经验

Orangpi使用ads1118

边缘计算
我的orangepi型号是zero puls2,全志H5。我使用spidev对ads1118进行驱动,其中有不少坑,在此记录。
Aug 4, 2018
Linux,香橙派,踩坑经验

OrangPi开启spi-dev

边缘计算
我想在OrangePi Zero中打开Spidev,编写一些应用层的驱动。
Jul 31, 2018
Linux,香橙派,踩坑经验

平衡二叉树

数据结构
最后好久没写数据结构了,今天我把之前写的函数都写成C++的了。舒服的用一波C++中的queue和stack。 废话少说直接上代码(这次又调整了打印二叉树的程序 美滋滋)
Jul 31, 2018
树

i2c之总结

边缘计算
最近在linux下移植i2c的传感器驱动。移植了才发现各个设备的i2c读写都不太一样,对于这几个方式我做一个小总结。 首先我使用的是linux应用层通用的i2c读写,我的读写默认是使用smbus协议进行读写的。
Jul 25, 2018
stm32

OLED错误修复

边缘计算
这几天画的板子,画的是0.91寸的oled裸屏。但是我写好了驱动程序,对ssd1306写入是没有问题的,但是我的屏幕亮不起来。
Jul 18, 2018
PCB,踩坑经验

二叉搜索树

数据结构
这几天搬寝室烦的一批,都没时间写代码,很烦。明天出去玩了,今天赶紧把这个写完。
Jul 14, 2018
树

二叉树

数据结构
今天写的一波二叉树的操作。。感觉自己还得多多练习啊! 依旧直接上代码了,8点了,得回去休息了T_T。
Jul 10, 2018
树

多项式相加

数据结构
废话不想多说,直接上程序 o(╥﹏╥)o最近腰疼的难受。
Jul 9, 2018
链表

中缀表达式转后缀表达式

数据结构
我用c语言写了个中缀表达式转后缀表达式代码。。。网上教程多的不要不要的,不过我觉得还是看数据结构-c语言实现是最舒服的。
Jul 6, 2018
堆栈

栈

数据结构
栈的粗略实现~~~
Jul 5, 2018
堆栈

循环链表

数据结构
我对这个循环链表的理解是一个节点既有指向前一个元素的指针,又有指向后一个元素的指针。
Jul 4, 2018
链表

单链表

数据结构
最近开始准备白天画画板子,写写程序,晚上给自己打点数据结构的基础。首先先实现一下最简单的的单链表。
Jul 2, 2018
链表

C数组指针

编程语言
今天看c陷阱与缺陷,发现这个数组指针挺有意思的。 首先定义一个数组指针:int (*p)[4]。程序如下:
Jun 28, 2018
C

C函数指针的使用

编程语言
今天发现有本C陷阱与缺陷,就打开看看,发现其中有个非常有意思的东西: (*(void(*)())0()).作者介绍到,这一语句的作用是调用首地址为0的地址的程序。我对他进行了一些学习。
Jun 27, 2018
C

OrangePI蓝牙:蓝牙耳机

边缘计算
上一篇文章描述了如何与串口蓝牙进行通信,这一次记录如何使用蓝牙耳机。
Jun 22, 2018
Linux,树莓派,蓝牙

ubuntu18.04安装owncloud

工具使用
最近实验室闲置了一台主机,就将这个主机搭建成一个公有云给大家使用。 系统版本是ubuntu server。
Jun 20, 2018
Linux

OrangePI蓝牙:串口通信

边缘计算
上一篇文章描述了如何使用编程的方式去搜索附近蓝牙,这一次记录我如何编程与HC-06串口蓝牙模块通信。
Jun 19, 2018
Linux,树莓派,蓝牙

OrangePI蓝牙:搜索设备

边缘计算
上一篇文章讲述了我在OrangePi中开启蓝牙的过程,这一章来讲述我如何对蓝牙进行编程操作。
Jun 19, 2018
Linux,树莓派,蓝牙

Matlab使用ThunderSVM

机器学习
我决定用这个SVM库加速我的svr模型训练。我的系统是Windows,Matlab版本是2017b。我需要自己编译安装入坑一波。官方手册
Jun 8, 2018
Matlab,SVM

Matlab GA函数

机器学习
我使用的matlab是2017b,但是我在官方查找文档,其中的例子这个版本没有。所以我摸索了一番。使用这个函数的动机是我需要是用libsvm做回归模型的训练,其中训练的优化函数是遗传算法(谢菲尔德工具箱),老的工具箱不支持并行计算以及GPU加速,所以我使用Matlab自带的遗传算法函数进行参数的优化。
Jun 8, 2018
Matlab,遗传算法

使用git下载项目数据

工具使用
为了避免大家需要测试数据,但是需要一个人不停的分发的烦恼。所以我决定使用git的方式让大家获取测试数据。
Jun 4, 2018
git

Matlab svm使用

机器学习
这里是对svm的函数做一个使用的总结,为了以后便于翻看。
May 30, 2018
Matlab,SVM

OrangePI蓝牙:开启蓝牙

边缘计算
我使用的板子是OrangePI zero Plus2,基于全志H5。我在上面安装好了armbian系统。我现在要使用蓝牙功能,对接我的蓝牙耳机。
May 29, 2018
Linux,树莓派,蓝牙

linux wpa wifi自动连接

边缘计算
我使用的板子是OrangePI zero Plus2,基于全志H5,安装好了armbian系统。 现在要使用wpa进行自动wifi连接,并且固定ip。
May 29, 2018
Linux,香橙派

实现一个setenv函数

操作系统
我发现我直接使用如下程序,可以直接设置环境变量:
May 23, 2018
Linux

理解原子操作

操作系统
 编写一个程序,最多可接收3个命令行参数:
May 19, 2018
Linux

Matlab Classification Learner

机器学习
  在matlab中,既可以使用函数来对数据进行分类,也使用图形化界面的工具箱来进行分类操作。接下来讲讲如何使用。这里我主要介绍受监督的训练模型分类。
May 16, 2018
Matlab

自己实现tail命令

操作系统
这是linux系统编程手册中的题目。
May 9, 2018
Linux

自己实现的tee命令

操作系统
 tee命令是从标准输入中读取数据,直至文件结尾,随后将数据写入标准输出和命令行参数所指定的文件。请使用I/O系统调用实现tee命令。并实现-a选项。
May 8, 2018
Linux

自己实现cp的程序

操作系统
 编写一个类似cp命令的程序,当使用该程序复制一个包含空洞的普通文件时,要求目标文件的空洞与源文件一致。
May 8, 2018
Linux

CMake编译静态库

编程语言
源代码  我是想在系统中学习好linux应用层编程,所以我买了Linux/Uinx系统编程手册。 在学习过程中发现他的代码都依赖于作者所写的几个头文件,所以我产生了将其将其编译成静态库的想法,虽然文件不多,但是姑且也算是学习到了一些东西。需要的可以自行百度搜索下载。  源代码分布如下: ```sh…
May 8, 2018
cmake,CPP,Linux

资源整理

工具使用
这是一个资源汇总的地方,我会记录一些好的资源
May 8, 2018
资源汇总

四轴飞行器姿态解算介绍

边缘计算
基本定义 顾名思义四元数就是由四个元构成的数: \[\textbf{Q}(q_0+q_1+q_2+q_3)=q_0+q_1 \textbf{i} +q_2 \textbf{j} +q_3 \textbf{k} \]
其中\(q_0\)、\(q_1\)、\(q_2\)、\(q_3\)是实数,\(\textbf{i}\)、\(\textbf{j}\)、…
May 7, 2018
四轴飞行器
No matching items