- 博客(61)
- 收藏
- 关注
原创 ctc(Connectionist Temporal Classification) 学习
首先用P(heeϵlϵlloo|hello)表示heeϵlϵlloo对应hello的概率,考虑到连续音素可以匹配一个字符,P(heeϵlϵlloo)可以拆分成P(hellϵlϵllo|hello)P(o|o)+P(hellϵlϵllo|hell)P(o|o),然后P(hellϵlϵllo|hello)又可以拆分P(hellϵlϵll|hello)P(o|o)+P(hellϵlϵll|hell)P(o|o),然后不断拆分下去。以heeϵlϵlloo 为例,判断heeϵlϵlloo音素序列是hello的概率。
2024-07-24 18:51:01
692
原创 transformer网络学习
本文详细阐述了Transformer模型的工作原理,包括解码器如何接收编码器输出作为上下文信息,以及编码器-解码器注意力机制如何运作。重点讲解了训练过程中的参数优化,如自注意力机制、查询、键和值向量,以及解码器的输入输出过程。Transformer encoder-decoder模型之间共享的是Encoder最后一层输出的hidden-state。SelfAttention中的交叉注意力会将这个hidden-state转换为Decoder的Key,Value。
2024-07-08 21:07:39
366
原创 alphazero学习
AlphaZero作为一种通用的深度强化学习算法,通过自我对弈的方式实现了在围棋、国际象棋和将棋等棋类游戏中的超人表现。用MCTS来创建训练集,然后训练nnet建模的策略网络和价值网络。SelfPlayAgent proessBatch 等待Coach的processSelfPlayBatches的P、Q计算好后的batch_ready信号开始在中mcts进行process_result,process_result在路径上进行反向传播,更新节点的n和v。
2024-07-06 19:35:28
942
原创 blender 纹理绘制-贴花方式
相关视频:【blender教程】如何快速贴logo小技巧,快速贴花,贴图绘制,【blender】p4.绘制头部贴图,2、【Blender小技巧】不拆UV如何快速给模型添加贴画贴纸贴图logo图案纹理纹理绘制绘图教程方法2,3、【Blender缩裹修改器】不拆UV如何快速缩裹修改器给模型添加贴画贴纸贴图logo图案纹理教程,曲线管状物体-1分钟Blender,正确的沿法线挤出,落叶-1分钟blender,Blender如何给模型涂色?第3季-我大Blender贴图绘制模块,了解一下!点击open加载图像。
2024-07-06 00:00:57
1284
1
原创 diffusion扩散模型参考论文与代码
扩散模型生产图像的关键是用网络对噪声->图像映射关系的建模,关键是有噪声到图像的数据集。获取从噪声到图像的映射,这个可以通过在图像中加噪声的方式,将图像变为噪声,这样就得到了噪声和图像的映射关系。在之前的文章中,我们曾经介绍过Diffusion的具体原理,但是讲的还是比较偏理论,为了让大家快速了解Diffusion原理,这篇文章我们通过图解的方式。笔者2021年6月开始研究diffusion,见证了扩散模型从无人问津到炙手可热的过程,这些篇经典论文我的专栏里都…
2024-06-25 16:14:23
382
原创 本地部署大模型的简单方法
可以先测试一下qwen 0.5b,打开cmd,执行ollama run qwen:0.5b,首次会下载大模型的模型资源。在本地安装ollama windows版本。安装好后,就可以验证大模型了。还可以按照电脑资源尝试一下 llama:2b gemma:2b等其他模型。模型下好后就可以交互了。
2024-06-25 15:49:07
146
原创 深度可分离卷积
深度可分离卷积是谷歌在inception-v3网络中提出来的,将一般卷积分为每个通道单独卷积+通道数量变换两个步骤实现的方法,输入是NxCxHxW的张量,先对每个通道进行卷积,卷积输出是NxCxH1xW1,然后和尺寸是1的卷积核C1xC2x1x1进行卷积,变换通道数量,数据的张良尺寸是NxC2xH1xW1.
2024-06-25 15:31:34
89
原创 mmpose姿态估计
文@ 222222概要0 吃瓜群众篇:MMPose 是个啥?太长不看嗷 1 研究者篇:基准模型+常用学术数据集一网打尽,高效助力一流研究工作 2 开发者篇:姿态估计用途广,怎能错过这个功能最全,模型最多的百宝箱?爱上她的 N 个理由!OpenMMLab 姿态估计工具箱:MMPose - 知乎。
2024-06-25 15:20:32
234
原创 蒙特卡洛树搜索
利用节点在前面搜索过程中的效益评估结果,淘汰掉一些效益很低的无效的动作,相当于剪枝了,避免和minmax搜索一样陷入完全搜索。这里面的搜索树表示的是博弈树,树的每个节点表示在当前状态下博弈方可能执行的的一种动作,每次执行一个动作后己方状态会更新,环境也会更新,状态会更新。树的根节点代表博弈方的起始状态。当选择的节点确定后,在该节点上进行rollout模拟,rollout模拟目的是为了评估当前选择的节点的价值。其中vi是节点估计的预期收益,ni是此节点被访问的次数,而 N 则是其父节点已经被访问的总次数。
2024-06-25 11:43:37
878
原创 transformer
Transformer 架构—Encoder-Decoder-腾讯云开发者社区-腾讯云。3.encoder-decoder模式常用于seq2eq,例如语音识别中的wenet。1.encoder-only模式常用于分类,ner任务,例如bert。2.decoder-only模式常用于文本生成,例如gpt系列。
2024-06-24 09:46:10
262
原创 多态的用法
C就不需要修改了,流程不需要变更,和A配置的差异,放在B配置中,A和B中应该没有共同的流程,共同的流程应该抽象到C()中,防止重复。从尽量扩展,少改动的原则看,最合适的方式就是使用多态。目前的一个功能F在一个平台a配置下是Fa()。现在最直接的办法是修改F的调用代码C。现在要添加对另一个平台b的配置。这样在添加B配置时直接扩展。c语言中用函数指针实现。
2024-05-08 23:09:06
323
原创 linux 设备驱动理解
2.系统加载驱动时,module_init执行驱动模块init函数,注册设备,绑定设备标识与open,close,read,write等接口。3.应用程序调用 open,close,read,write时,通过系统调用,执行open,close,read,write等接口。1.驱动模块实现 open,close,read,write等接口。
2023-01-19 22:11:55
144
原创 C++ RAII Resource Acquisition Is Initialization
RAII - cppreference.comhttps://en.cppreference.com/w/cpp/language/raiistd::mutex m;void bad() { m.lock(); // acquire the mutex f(); // if f() throws an exception, the mutex is never released .
2021-10-02 03:22:33
176
原创 ffmpeg源码阅读:avformat_open_input流程
libavformat/utils.c//打开filename指向的文件//options是保存选项的字典int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options)//打开文件,并探测格式static int init_input(AVFormatContext *s, const...
2021-10-02 03:00:58
240
原创 C++导入、导出类
#ifdef DLL_EXPORTS#define SIMPLE_CLASS_EXPORT __declspec(dllexport)#else#define SIMPLE_CLASS_EXPORT __declspec(dllimport)#endif在dll项目中定义DLL_EXPORTS宏,在引入dll的项目中不定义DLL_EXPORTS。__declspec(dllexport)与__declspec(dllimport)_huangyimo的...
2021-10-02 02:22:45
989
原创 C++嵌套定义问题引起的栈溢出与std::exception SEH
class Test { Test test;};error C2460: “Test::test”: 使用正在定义的“Test”struct Test { Test test;};这种定义不应该存在,即使语法不存在问题,运行的时候也会出现问题。如果创建变量的时候,一定会先构造test对象,但是构造test的对象的时候,有需要构造test.test对象,构造test.test的对象的时候,需要先构造test.test.test对象。#include<i...
2021-10-02 01:49:07
495
原创 ffmpeg源码阅读:avfomat
8核cpu为什么cpu占用率200%就出现了丢帧了?这个cpu没有占满,而且带宽也没占满?内存就更没占满,这说明有问题。如果是计算来不及,那么cpu为什么没占满,周一可以问题对方的业务。而且cpu占用率zui...
2021-10-01 22:30:18
281
1
原创 linux记录进程内存、cpu占用的shell脚本
pid=10582 //指定进程idinterval=10 //时间间隔filename= 'mem_cpu_record.txt'//记录文件名while truedo date "+%Y-%m-%d-%H:%M:%S" | tr '\n' ' ' >>$filename //记录时间 cat /proc/$pid/status |grep -e VmRSS | tr '\n' ' ' >>$fi...
2021-10-01 19:56:50
3258
原创 pytorch distiller Weights Pruning Algorithms
Pruning - Neural Network Distillerhttps://intellabs.github.io/distiller/algo_pruning.html幅值剪枝:This is the most basic pruner: it applies a thresholding function,thresh(.)thresh(.), on each element,wiwi, of a weights tensor. A different thres...
2021-10-01 16:36:00
369
原创 pytorch distiller filter channel剪枝
Pruning Filters and Channels - Neural Network Distillerhttps://intellabs.github.io/distiller/tutorial-struct_pruning.htmlDistiller tutorial: Pruning Filters & Channels_koberonaldo24的博客-CSDN博客本文为对distiller教程 Pruning Filters & Channels 的翻译。原文地址:Pruni
2021-10-01 12:53:16
650
原创 DatagramSocket回复报文
发送端:package com.suncreate.testSocket;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.Inet4Address;import java.net.InetAddress;import java.util.Arrays;public class UdpSend{ public static void main(String[] args){.
2021-09-02 16:36:16
218
1
原创 RTSP协议 RFC2326
SETUP: Causes the server to allocate resources for a stream and start an RTSP session. 服务器为媒体流分配资源并开启RTSP会话。PLAY and RECORD: Starts data transmission on a stream allocated via SETUP.传输SETUP中分配的流。PAUSE: Temporarily halts a stream with...
2021-08-21 21:18:27
86
原创 网络IO模型:Reactor模式和Proactor模式区别
Reactor基于同步IO,利用select,poll,epoll主动监测socket的状态,当需要当有数据需要处理的时候,分配线程处理,处理数据的过程是主动的。Proactor基于异步IO,向操作系统注册IO事件的处理方法句柄,当有数据需要处理时,操作系统回调注册的处理方法,程序处理数据的过程是被动的。https://cloud.tencent.com/developer/article/1488120https://blog.csdn.net/u0130683...
2021-08-20 23:30:31
172
原创 Java Socket 网络编程
BlockingIO java.net服务端:ServerSocket监听端口,接收连接,返回Socket客户端:Socket作为阻塞IO,ServerSocket等待客户端Socket连接过程,也就是accept方法会阻塞线程,在返回连接的客户端Socket之前,该连接线程是无法进行其他活动的。如果不清楚会有多少客户端连接,需要单独一个线程来接收客户端Socket的连接。Socket的read和write都是阻塞的,等待读和等待写的过程的都是阻塞的,在等待读的时候突然需要发送数...
2021-08-20 21:55:31
60
原创 java.util.concurrent FutureTask
FutureTask 实现了Future接口和Runnable接口get方法会调用awaitDone方法,awaitDone方法把get线程放入Runnable执行线程等待队列中,在调用LockSupport的park方法把线程挂起来等待,直到执行任务的线程调用run方法完毕后,调用set方法,set方法调用finishCompletion,调用LockSupport的unpark方法释放等待任务完成的线程。这样get方法的线程就能返回结果了。Futu...
2021-08-20 20:39:08
1966
原创 jmeter tcp sampler 测试网速
package com.suncreate.testSocket;import java.io.InputStream;import java.io.OutputStream;import java.net.*;import java.util.Arrays;public class SocketServer { public static void main(String[] args) throws Exception { // 监听指定的端口 in.
2021-08-17 15:24:24
478
原创 gstreamer源码阅读笔记:插件系统
gstreamer的插件系统需要满足若干最基本的需求1.能动态扩展插件的属性决定了插件应该可加载可不加载,在需要的时候加载,在不需要的时候能卸载,能随时加载,而且插件的功能要能扩展。主模块不知道插件的具体实现方式,只能与插件按照约定的接口进行交互。2.能兼容主模块gstreamer中使用GObject类型和对象系统。Gstreamer主模块可以很方便的管理类型和对象,方便的创建和销毁对象,便捷的使用signal机制来控制响应流程,设置和修改数据。所有的功能由若...
2021-08-15 04:23:08
656
原创 gstreamer源码阅读笔记:类型系统
gstreamer采用GObject注册和管理类型,这套类型系统需要实现以下几个功能:1.按类型查找并引用函数在面向对象的编程中,非静态变量属于对象,方法是属于类的。注册类型的同时需要注册方法,把方法的函数指针保存在类对象的成员变量中。比如类的初始化函数xxx_class_init,对象的初始化函数_init,类的析构函数_class_finalize,对象的析构函数_finalize。当把这些方法的地址保存在类对象的时候,当我们需要在对象上执行这些方法的时候可以通过注册的类对象引用...
2021-08-15 03:28:50
265
原创 glib gobject在线文档
https://docs.gtk.org/glib/https://docs.gtk.org/gobject/https://docs.gtk.org/gio/
2021-08-15 00:31:10
215
原创 GObject signal机制
编码时遇到某种状态时,不能确定需要处理该状态采取的pipeline,或者后期需要扩展处理该状态的pipeline,因此不能直接调用固定的函数来处理这种状态,而是采用一种发送信号通知的程序状态的方法。相当于一种监听器模式。事件源并不知道有哪些对象对当前事件或者状态感兴趣,需要对当前情况作出反应,无法考虑和确定到所有的反应,只能抛出这种状态,通知这个事件,剩下的交给信号或者消息接收对象来处理。首先用g_signal_new创建一个信号,然后用g_sign...
2021-08-15 00:29:39
410
原创 gstreamer源码阅读笔记:gst_registry_scan_plugin_file
gstregistry.cstatic gbooleangst_registry_scan_plugin_file (GstRegistryScanContext * context, const gchar * filename, off_t file_size, time_t file_mtime){ gboolean changed = FALSE; GstPlugin *newplugin = NULL;#ifdef G_OS_WIN32 /* Disable ext...
2021-08-14 18:18:21
453
原创 gstreamer源码阅读笔记:gst_registry_scan_path_internal gst_registry_scan_path_level
gstregistry.cstatic gbooleangst_registry_scan_path_level (GstRegistryScanContext * context, const gchar * path, int level){ GDir *dir; const gchar *dirent; gchar *filename; GstPlugin *plugin; gboolean changed = FALSE; dir = g_dir_open ...
2021-08-14 17:58:07
219
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人