- 博客(67)
- 资源 (8)
- 收藏
- 关注
原创 【RL】Value Function Approximation(值函数逼近)
从无到有的简述强化学习算法中的deep q-learning的实现
2024-02-20 17:11:10
1147
原创 【RL】Value Iteration and Policy Iteration(利用迭代算法求解贝尔曼最优等式)
简述计算贝尔曼最优等式的迭代求解算法
2024-02-17 16:42:48
883
原创 评估分类模型—混淆矩阵Confusion Matrix与评估指标
对于设计好的分类模型,需要大量的数据集来对其性能进行评估,因此了解评估指标是十分重要的。
2023-05-11 12:16:14
7112
原创 pandas读取列数不同的CSV文件
对于序列模型而言,每条数据的大小都不一定相等,但对于一般的神经网络要求输入大小相等。目前的一种方法是选取当前数据集中最大长度的数据作为基准数据大小,其余的数据末尾补零来规范整个数据集每条数据的大小。本文重点关注小规模的CSV数据集,通过pandas读取每行不同列的CSV文件,最终生成神经网络可以使用的数据。将末尾不够长的数据填充为0(不一定必须是0,要与数据集中原有数据区分开)PS: 本文仅具有一般性,对于特定的数据集,还需要具体问题具体分析!抛弃原有csv的列索引,使用。作为索引读取csv文件。
2023-04-17 16:01:24
987
原创 SORT与DeepSORT简介
DeepSORT作为一个成熟多目标跟踪算法在很多应用中得到使用。本文对多目标跟踪算法SORT与DeepSORT做简要介绍。
2023-02-20 18:26:22
3395
原创 InstructGPT——ChatGPT前身
从ChatGPT”方法“原文可以看出,其使用的网络模型来自GPT-3.5,其原始模型在2022年已经训练完成,之后使用InstructGPT中的方法进行微调。 鉴于ChatGPT的论文还没有发表,故了解InstructGPT的实现对理解ChatGPT大有帮助。
2023-02-15 17:54:20
3715
原创 GPT-3(Language Models are Few-shot Learners)简介
GPT-2与GPT-3简介,包括其架构组成与设计理念
2023-02-15 14:05:00
3158
原创 Transformer简介
transformer模型简介,包括编码器(encoder)、解码器(decoder)、训练以及模型训练中的tips。
2023-02-13 15:21:57
9291
2
原创 深度学习优化算法总结
优化提供了一种最大消毒减少深度学习损失函数的方法,但本质上,优化和深度学习的目标不同。优化关注的是最小化目标;深度学习是在给定有限数据量的情况下寻找合适的模型。本文包含:梯度下降、随机梯度下降、小批量随机梯度下降、动量法、AdaGrtad法、RMSProp法、Adaelta法和Adam算法。
2023-02-09 14:53:14
1322
原创 KMP -- 代码求解next数组
KMP算法是字符串模式匹配中比较经典的算法,但同时也有一定难度,希望在看完本博客之后,自己 写一个模式串然后利用本代码debug一行一行的跑一遍,相信大家一定会明白的。
2023-01-05 15:41:10
2268
原创 SET、MAP底层原理
在STL中,虽然不同的底层实现的数据结构相同,但是分清不同的底层实现,了解其异同,根据不同的应用场景选择不同的底层实现,对提高程序的性能,减少不必要的计算大有用处。
2023-01-02 17:33:36
1842
2
原创 Python内存机制 -- = 赋值操作
数组、numpy、pandas、tensor这种对象在包含大量元素的时候进行析构与构造时会浪费大量的时间,这时理解python的内存处理机制,对对象的内存数据进行处理而不是重新构造新对象会节省大量的时间,提高程序的运行效率。
2023-01-01 17:39:23
724
原创 59螺旋数组 -- 循环不变量
螺旋数组本身没有具体的算法,但是通过该题目可以加强对搜索区间和循环不变量的理解。所谓循环不变量既每次循环时都应遵循的准则,在本题中则代表,每次循环时都应保持。本题选用的是左闭右开搜索区间。的搜索区间,不能一会。
2022-12-29 17:18:53
116
原创 704二分查找法--搜索区间
二分查找法是算法学习中很基础的算法,但是其也是很重要的算法,将二分查找法搞明白对后续算法的学习有着事半功倍的作用。本体难点:二分的判断。
2022-12-28 15:59:41
2934
原创 Go语言实现生产者消费者问题
生产者消费者模式某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。单单抽象出生产者和消费者,还够不上是生产者/消费者模式。该模式还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。生产者把数据放入缓冲区,而消费者从缓冲区取出数据。利用生产者消费者模式,设计一个简单的问题并通过编程解决。利用goroutine和channel实现一个计算int64随机数各位和的程序生产
2021-02-20 22:27:31
452
原创 Go语言实现读者写者问题
Go语言sync中内置了读写锁可以很简单的实现读者写者问题。读者写者是一个非常著名的同步问题。读者写者问题描述非常简单,有几个写者与很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者在读文件时写者也不去能写文件。package mainimport ( "fmt" "sync" "time")var ( x int wg sync.WaitGroup rwLock sync.RWMutex)func write() { defer wg
2021-02-20 22:11:45
243
1
原创 Go语言资源互斥——互斥锁/读写互斥锁/sync.Once()/atomic/sync.Map
sync包互斥锁互斥锁是一种常见的控制资源访问的方法,它可以保证同时只有一个goroutine可以访问临界资源。Go语言中可以使用sync包的Mutex类型来实现互斥锁。例:// 开启多个gorourtine执行add()操作,会导致两个goroutine读取到相同的x导致最终结果偏小var x = 0var wg sync.WaitGroupfunc add() { defer wg.Done() for i := 0; i < 5000; i++{ x += 1 }}
2021-02-20 22:04:41
426
1
原创 Go语言Select多路复用
Select多路复用在某些场景下,需要同时从多个通道接收数据。数据在接收数据时,如果没有数据可以接收将会发生阻塞。为了应对这种场景,Go内置了select关键字,可以同时相应多个通道的操作。select的使用类似于switch语句,其有一列case分支和一个默认分支。每一个case会对应一个通道的通信过程。select会一直等待,知道某个case的通信操作完成,就会执行case分支对应的语句。select{ case <- ch1: ... case data := <- ch
2021-02-20 22:01:39
790
原创 Go语言channel
channel单纯将函数并发是没有意义的.函数与函数间需要交换数据才能体现并发执行的意义.共享内存进行数据交换会导致goroutine发生竞态问题.为了保证数据交换的正确性,必须使用互斥量对内存进行加锁,这种做法势必会导致行呢个问题.Go语言的并发模型是CSP(Communicating Sequential Process),提倡通过通信共享内存而不是通过共享内存而实现通信.如果说goroutine是Go程序并发的执行体,channel就是它们之间的连接.channel是一个可以让一个gorout
2021-02-20 22:00:25
26475
原创 Go语言goroutine并发编程
启动多个goroutine在Go语言中实现并发只需要go关键字,就可以启动多个goroutine。// 使用sync.WaitGroup实现goroutine的同步func hello(i int){ defer wg.Done() // goroutine结束就登记-1 fmt.Println("Hello Goroutine!", i)}func main(){ for i := 0; i < 10; i++{ wg.Add(1) // 启动
2021-02-20 21:57:13
124
ssd_weights.h5
2020-03-08
mobilenet_1_0_224_tf_no_top.h5
2020-03-08
inception_v3_weights_tf_dim_ordering_tf_kernels_notop.zip
2002-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人