Python
文章平均质量分 93
如果皮卡会coding
深大本硕。擅长前端,了解一点点C++、Java、Python、KG、LLM、RL、游戏开发的积木。准备搭建一个新世界ing...
展开
-
【强化学习】DQN走迷宫(一)
本文只是实现了一个简易版的DQN走迷宫,想要一个泛化能力超级好的DQN还没有实现。原创 2024-06-24 00:47:07 · 1298 阅读 · 0 评论 -
基于Whisper+SparkAI+Pyttsx3实现全流程免费的语音交互
HTTPS 协议:大多数现代浏览器只允许在 HTTPS 协议或localhost上使用摄像头和麦克风等硬件设备。如果你在开发环境中使用 HTTP,可能会遇到为undefined的问题。建议在开发和生产环境中都使用 HTTPS。你可以使用ngrok或serveo.net等工具将本地服务器暴露为 HTTPS 服务。权限问题:在调用时,需要处理用户拒绝权限请求的情况。可以通过捕获错误并提示用户检查权限设置来解决。音频格式:确保录音和处理音频数据时使用正确的格式,如audio/wav。原创 2024-05-31 22:04:24 · 1027 阅读 · 0 评论 -
【机器学习】决策树
决策树(Decision Tree)用于分类和回归任务。它通过构建树状模型来进行决策。决策树算法的基本思想是基于数据特征进行递归分裂。每个内部节点代表一个特征上的测试,每个分支代表测试的结果,而每个叶节点代表一个类别(在分类树中)或一个具体的数值(在回归树中)。决策树算法的优点包括:模型易于理解和解释,不需要对数据进行太多预处理,可以处理数值型和类别型数据。不过,决策树也有限制,比如容易过拟合,尤其是当树变得很复杂时。为了解决这个问题,通常需要剪枝或者通过集成方法(如随机森林)来提高模型的泛化能力。原创 2024-02-08 16:05:14 · 2209 阅读 · 1 评论 -
【强化学习】基于蒙特卡洛MC与时序差分TD的简易21点游戏应用
本次实验所应用的三种策略Q-learning、Sarsa和蒙特卡洛都是解决强化学习问题的算法,它们在学习过程中都通过与环境的交互来优化策略。且都用于值函数估计,这三种算法的目标都是学习状态或状态动作对的值函数,即Q值或V值。更新方式不同:Q-learning: 使用了离线学习的方式,通过选择当前状态下值最大的动作来更新Q值。更新公式中使用了max操作。Sarsa: 使用在线学习的方式,通过选择当前状态下的某个动作来更新Q值。更新公式中使用了当前实际选择的动作。蒙特卡洛: 通过整个回合(原创 2023-12-28 19:49:18 · 1595 阅读 · 0 评论 -
【强化学习】动态规划算法实践
强化学习的DP方法实践:策略迭代Policy Iteration(内含策略评估Policy Evaluation + 策略优化Policy Improvement)+ 价值迭代Value Iteration原创 2023-11-26 16:56:54 · 1141 阅读 · 1 评论 -
【Python】读取显示pgm图像文件
这学期要学多媒体信息隐藏对抗,发现其中的图像数据集文件都是pgm文件形式的。虽然是图像文件,但是却不能直接通过图像查看器来打开,上网一搜:”如何打开pgm文件?“多半是使用第三方软件photoshop之类的。都是能写代码的人了,难道为了看几张图片还要下一个几G软件吗?至此,我就开始考虑如何使用python读取pgm(Portable Gray Map)文件并显示出来。原创 2023-10-06 10:25:49 · 2258 阅读 · 0 评论 -
【强化学习】Q-learning训练AI走迷宫
Q-learning是一种基于强化学习的算法,用于解决Markov决策过程(MDP)中的问题。这类问题我们理解为一种可以用有限状态机表示的问题。它具有一些离散的状态state、每一个state可以通过动作action转移到另外一个state。每次采取action,这个action都会带有一些奖励reward(也可以是负数,这样就表示惩罚了)。在Q-learning中,我们有一个智能体(Agent)和一个环境(Environment)。智能体可以在环境中执行动作,并从环境中获取奖励作为反馈。原创 2023-07-27 10:14:28 · 2738 阅读 · 7 评论 -
【机器学习】KNN算法
KNN算法(K-Nearest Neighbors)是一种基于实例的学习算法,它通过度量样本之间的相似性来进行分类或回归。KNN算法的基本思想很简单:对于一个未知样本,它的类别或输出值可以通过与训练集中最近邻居的比较来确定。这里的"最近邻"是指距离新样本最近的K个训练集样本。KNN算法的优点是简单易懂,不需要进行显式的训练过程,而且在处理非线性问题或数据较为复杂的情况下表现良好。然而,KNN算法也有一些限制。例如,它在处理大规模数据时可能会变得较慢,因为需要计算新样本与所有训练样本之间的距离。原创 2023-07-19 23:02:52 · 1109 阅读 · 1 评论 -
llama_index中query_engine的response_mode详解
在使用llama_index进行内容提炼、文章总结时,我们可以通过设置不同的ResponseMode来控制生成响应的结果。原创 2023-06-05 19:36:24 · 2476 阅读 · 2 评论 -
使用langchain及llama_index实现基于文档(长文本)的相似查询与询问
langchain是一个功能强大的库,它为我们提供了许多方便的工具和模型,包括OpenAI模型。它通过链式调用的方式将这些组件连接在一起,创造出一个连贯的应用程序。同时,langchain还提供了内存组件Memory,可以帮助我们管理之前的聊天消息,以及Indexes和Agents等功能。LlamaIndex(GPT Index)是一个用于LLM应用的数据框架,集成了langchain及chatgpt相关应用,更便于我们实现结构化数据和高级检索的相关功能。原创 2023-05-31 20:01:41 · 10857 阅读 · 6 评论 -
【五一创作】跑alpaca-lora语言模型的常见问题(心得)
Alpaca-Lora是一个开源的自然语言处理框架,使用深度学习技术构建了一个端到端的语言模型。在训练和部署alpaca-lora语言模型时,可能会遇到一些常见问题。本文将介绍一些这些问题及其解决方法。原创 2023-04-30 05:00:00 · 2326 阅读 · 5 评论 -
【遗传算法】——更高级的猜猜法
学习遗传算法有2个月了,最近也开始读汪民乐、高晓光、范阳涛三位先生编著的《先进遗传算法及其工程应用》,记录这几个月我对遗传算法的浅显理解。原创 2023-02-18 16:29:02 · 940 阅读 · 0 评论 -
【Python基础】数据类型(元组、列表)
元组是一种固定长度、不可变的Python对象序列。定义:最简单的方法是用逗号分隔,复杂的表达式需要通过括号将值包起来。# 定义1:简单元组 tup = 4 , 5 , 6 # 定义2:生成元素是元组的元组 nested_tup =(4 , 5 , 6) ,(8 , 9)获取:元组的元素可以通过中括号[]获取,从0开始。不变特性:各位置上的对象是无法被修改的。与元组不同,列表的长度是可变的,包含的内容也可以修改。定义:可以使用[]list, 类型函数来定义列表。原创 2023-02-11 15:00:20 · 966 阅读 · 0 评论 -
【Python基础】字符串基本操作(切片、格式化、编码)
函数可以实现字符串的编码方式和解码方式的设定,不对应的编解码方式会产生报错。注意:编码和解码的方式不同会报错。原创 2023-01-13 06:00:00 · 892 阅读 · 0 评论