当前位置: 首页 > news >正文

ML-Agents 概述(二)

注:本文章为官方文档翻译,如有侵权行为请联系作者删除
ML-Agents Overview - Unity ML-Agents Toolkit–原文链接

ML-Agents 概述(一)
ML-Agents 概述(二)

训练方法:特定环境

除了上一节介绍的三种与环境无关的训练方法之外,ML-Agents Toolkit 还提供了其他方法来帮助训练特定类型环境的行为。

在竞争性多智能体环境中通过自我博弈进行训练

ML-Agents 提供通过自我博弈训练对称和非对称对抗游戏的功能 。对称游戏是指敌对Agent在形式、功能和目标上相等的游戏。对称游戏的例子是我们的网球和足球示例环境。在强化学习中,这意味着两个Agent具有相同的观测和动作,并从相同的奖励函数中学习,因此它们可以共享相同的策略。在非对称游戏中,情况并非如此。非对称游戏的一个例子是捉迷藏。这类游戏中的Agent并不总是具有相同的观测或动作,因此共享策略网络并不一定是理想的选择。

通过自我博弈,Agent在对抗游戏中通过与固定、过去版本的对手(在对称游戏中可能是自己)竞争来学习,从而提供更稳定、更平稳的学习环境。这与在每个回合中与当前最强的对手竞争不同,后者是不断变化的(因为它在学习)。

自我博弈可以与我们的近端策略优化 (PPO) 和柔性演员-评论家 (SAC) 实现一起使用。但是,从单个Agent的角度来看,这些场景似乎具有非平稳动力学,因为对手经常在变化。这可能会导致 SAC 使用的经验重放机制出现重大问题。因此,我们建议用户使用 PPO。有关此问题的进一步阅读,请参阅论文《Stabilising Experience Replay for Deep Multi-Agent Reinforcement Learning》。

有关在 Unity 场景中设置团队的更多信息, 请参阅我们的 “设计Agent”页面。此外,请阅读我们关于自我博弈的博客文章 以获取更多信息。此外,请查看ELO 评分系统,这是我们用来计算两名玩家之间的相对技能水平的方法。

使用 MA-POCA 在协作多智能体环境中进行训练

PushBlock 与Agent商合作

ML-Agents 提供了训练合作行为的功能 - 即,Agent组朝着共同目标努力,其中个人的成功与整个团队的成功息息相关。在这种情况下,Agent通常作为一个团队获得奖励。例如,如果一个Agent团队赢得了一场与对手团队的比赛,那么每个人都会得到奖励 - 即使是那些没有直接为胜利做出贡献的Agent。这使得学习作为个人应该做什么变得困难 - 你可能什么都不做却能获得胜利,而尽了最大努力却会失败。

在 ML-Agents 中,我们提供了 MA-POCA(MultiAgent POsthumous Credit Assignment),这是一种新颖的多智能体训练器,可以训练一个 centralized critic(集中式批评家),即充当整个智能体组“教练”的神经网络。然后,您可以向整个团队提供奖励,智能体将学习如何最好地为获得该奖励做出贡献。智能体也可以单独获得奖励,团队将一起努力帮助个体实现这些目标。在一个回合中,Agent可以加入或离开团队,例如当智能体在游戏中生成或死亡时。如果智能体在中途被移除(例如,如果队友死亡或被从游戏中移除),他们仍然会了解他们的行为是否有助于团队获胜,从而使智能体能够采取对团队有益的行动,即使这些行为会导致智能体自己被移出游戏(即自我牺牲)。MA-POCA 还可以与自我博弈相结合,以训练智能体团队相互对抗。

要了解有关在 ML-Agents 环境中为Agent启用协作行为的更多信息,请查看此页面。

要了解有关 MA-POCA 的更多信息,请参阅我们的论文《 Onthe Use and Misuse of Absorbing States in Multi-agent Reinforcement Learning》 。如需进一步阅读,MA-POCA是在多Agent协同学习( Lowe 等人、Foerster 等人等)的基础上构建的,以实现上述用例。

利用课程学习解决复杂任务

课程学习是一种训练机器学习模型的方法,该方法会逐步增加问题的难度,使模型始终处于最优的挑战状态。这个想法已经存在了很长时间,也是我们人类通常的学习方式。想象一下任何儿童小学教育,课程和主题都是有顺序的。例如,先教算术,再教代数。同样,先教代数,再教微积分。在早期科目中学习的技能和知识为以后的课程提供了支架。同样的原则可以应用于机器学习,在较容易的任务上的训练可以为将来更难的任务提供支撑。

想象一下训练医护人员攀爬墙壁到达受伤的队员身边。训练医护人员完成这项任务的起点将是一个随机策略。这种初始策略会让医护人员绕着圈跑,并且很可能无法或很少能正确地攀爬墙壁去救治队友(从而获得奖励)。如果我们从一个简单的任务开始,例如向没有障碍的队员移动,那么医护人员就可以轻松学会完成这项任务。从那里开始,我们可以通过增加墙壁的大小来慢慢增加任务的难度,直到医护人员能够完成最初几乎不可能完成的攀爬墙壁的任务。我们使用ML-Agents环境来演示这一点,该环境称为“Wall Jump”。

墙

演示一个假设的课程培训场景,其中越来越高的墙阻碍了通往目标的道路。

注意:上面提供的示例仅用于指导目的,并且基于 Wall Jump 示例环境的早期版本。因此,无法直接在此环境中复制出相同的结果。

ML-Agents 工具包支持在训练过程中修改自定义环境参数以辅助学习。这允许根据训练进度动态调整与难度或复杂性相关的环境元素。有关定义训练课程的更多信息,请参阅“训练ML-Agents”页面。

使用环境参数随机化训练高适应性的Agent

在特定环境下训练的Agent可能无法泛化到环境的任何调整或变化(在机器学习中这被称为过拟合)。在环境中的物体或属性存在变化的情况下,这个问题尤为严重。为了解决这个问题,并训练出能够对未见过的环境变化进行泛化的适应性更强的Agent,一种方法是在训练期间让它们接触这些变化。与课程学习类似,随着Agent的学习,环境变得越来越困难,ML-Agents 工具包提供了一种在训练期间随机采样环境参数的方法。我们将这种方法称为环境参数随机化。对于熟悉强化学习研究的人来说,这种方法基于 域随机化的概念。通过在训练期间使用 参数随机化,Agent可以更好地适应(以更高的性能)未来未见的环境变化。

Ball scale of 0.5Ball scale of 4

3D 球环境变化的示例。环境参数为gravityball_massball_scale

模型类型

无论部署哪种训练方法,用户都可以使用 ML-Agents Toolkit 训练几种模型类型。这是因为可以灵活地定义Agent观测,包括矢量、射线投射和视觉观测。有关如何为代理设置观测值的更多信息,请参阅《设计Agent》指南。

从矢量观测中学习

无论Agent的观测结果是射线投射还是矢量,ML-Agents Toolkit 都会提供一个全连接神经网络模型来从这些观测结果中学习。在训练时,您可以配置此模型的不同方面,例如隐藏层的层数和神经元数量。

使用卷积神经网络从相机中学习

与其他平台不同,在其他平台上,Agent的观测可能仅限于单个矢量或图像,而 ML-Agents Toolkit 允许每个Agent使用多个摄像头进行观测。这使Agent能够学习整合来自多个视觉流的信息。这在一些场景下非常有用,比如训练需要使用不同视角的多个摄像头的自动驾驶汽车,或可能需要整合空中和第一人称视觉效果的导航Agent。有关如何为代理人添加视觉观测的信息,请参阅此处。

当使用视觉观测时,ML-Agents Toolkit 利用卷积神经网络 (CNN) 从输入图像中学习。我们提供三种网络架构:

  • 一个由两个卷积层组成的简单编码器
  • Mnih 等人提出的实现方案 ,由三个卷积层组成,
  • IMPALA Resnet由三层堆叠结构组成,每层包含两个残差块,因此其网络结构比其他两个要大得多。

架构的选择取决于场景的视觉复杂性和可用的计算资源。

利用注意力机制从可变长度观测中学习

使用 ML-Agents Toolkit,可以让Agent从不同数量的输入中进行学习。为此,每个Agent都可以跟踪矢量观测的缓冲区。在每个步骤中,Agent将遍历缓冲区中的所有元素并提取信息,但缓冲区中的元素在每个步骤中都可能发生变化。这在Agent必须在整个过程中跟踪不同数量元素的场景中非常有用。例如,在游戏中,Agent必须学会避开抛射物,但抛射物的数量可能有所不同。

可变长度观测说明

您可以在此处了解有关可变长度观测的更多信息 。当使用可变长度观测时,ML-Agents Toolkit 利用注意力网络从不同数量的实体中学习。使用注意力的Agent将忽略被认为不相关的实体,并根据上下文对与当前情况相关的实体给予特别关注。

使用循环神经网络的记忆增强Agent

您是否曾进入房间取东西,却马上忘记了自己要找的东西?不要让您的Agent也遭遇这种情况。

检查员

在某些情况下,Agent必须学会记住过去,以便做出最佳决策。当Agent仅具有部分环境可观测性时,跟踪过去的观测结果可以帮助Agent学习。手动决定Agent应该记住什么以解决任务并不容易,但我们的训练算法可以使用LSTM学习记住哪些信息重要。

其他功能

除了可用的灵活训练场景之外,ML-Agents Toolkit 还包含其他功能,可提高训练过程的灵活性和可解释性。

  • 并发 Unity 实例- 我们允许开发人员在训练期间运行 Unity 可执行文件的并发、并行实例。在某些情况下,这应该可以加快训练速度。请查看我们关于 创建 Unity 可执行文件的专用页面和 训练 ML-Agents 页面,了解如何设置并发实例数的说明。
  • 记录 Unity 中的统计数据- 我们支持开发人员 记录 Unity 环境中的统计数据。这些统计数据在训练过程中汇总并生成。
  • 自定义Side Channels- 我们允许开发人员 创建自定义Side Channels来管理 Unity 和 Python 之间的数据传输,这对于他们的训练工作流程和(或)环境来说是独一无二的。
  • 自定义采样器- 我们允许开发人员为环境参数随机化创建自定义采样方法 。这使用户能够根据其特定环境自定义此训练方法。

总结和后续步骤

简单总结一下:ML-Agents Toolkit 使 Unity 中构建的游戏和模拟可以作为训练智能Agent的平台。它旨在支持各种各样的训练模式和场景,并配备了多种功能,使研究人员和开发人员能够利用(并增强)Unity 中的机器学习。

接下来的步骤:

  • 有关使用简单场景运行 ML-Agents 的演练,请查看 入门指南。
  • 有关创建您自己的学习环境的“Hello World”介绍,请查看 创建新的学习环境页面。
  • 要了解此工具包中提供的更复杂的示例环境,请查看 示例环境页面。
  • 有关各种可用训练选项的更多信息,请查看 训练 ML-Agents页面。

鉴于作者水平有限,本文可能存在不足之处,欢迎各位读者提出指导和建议,共同探讨、共同进步。

相关文章:

ML-Agents 概述(二)

注:本文章为官方文档翻译,如有侵权行为请联系作者删除 ML-Agents Overview - Unity ML-Agents Toolkit–原文链接 ML-Agents 概述(一) ML-Agents 概述(二) 训练方法:特定环境 除了上一节介绍的…...

[Unity] ShaderGraph动态修改Keyword Enum,实现不同效果一键切换

上次更新已然四个月前,零零散散的工作结束,终于有时间写点东西记录一下~ 实际使用中,经常会碰到同一个对象需要切换不同的材质,固然可以通过C#直接替换材质球。 或者在ShaderGraph中使用Comparison配合Branch实现切换&#xff…...

国自然面上项目分享|基于人工智能和病理组学的早癌筛查算法研究|基金申请·24-12-24

小罗碎碎念 今天分享的项目为【常规面上项目】,执行年限为2018年1月至2021年12月,直接费用为55万元。 今天分享的这个项目很有意思,因为这个项目的成果是团队2020年申报基金委优青的材料,并且还有临床验证和商业转化,值…...

【EthIf-14】EthIfGeneral容器配置-02

1.实际EthIfGeneral的配置实例 关闭DET接口开启发送确认中断开启接收中断主周期接收timeout主周期 2. 代码实例参考 阅读此部分代码,搞清楚代码分为几个section,大概瞄一眼就好,不用深究其含义,只需有一个宏观的层次结构的映像即可。 //Appl/GenData/EthIf_Cfg.h #...

21.打印文件地址 C#例子

\是一个有特殊功能的字符,当想要打印一个如下地址时, C:\Users\SMTC\source\repos\练习 会出现报错,之所以会报错就是因为这里出现了\ \可以把后面的一个符号变为真符号,而不是有特殊功能的符号 在字符串的前面可以让这个字符…...

golang LeetCode 热题 100(动态规划)-更新中

爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1:输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2&…...

Everspin代理MR25H10CDFR存储MRAM

RAMSUN提供的MR25H10CDFR是一款具备1,048,576位存储容量的磁阻随机存取存储器(MRAM)设备,由131,072个8位字构成。该设备提供与串行EEPROM和串行闪存兼容的读/写时序,无写延迟,并且其读/写寿命是不受限制的。 与其它串…...

Day13 苍穹外卖项目 工作台功能实现、Apache POI、导出数据到Excel表格

目录 1.工作台 1.1 需求分析和设计 1.1.1 产品原型 1.1.2 接口设计 1.2 代码导入 1.2.1 Controller层 1.2.2 Service层接口 1.2.3 Service层实现类 1.2.4 Mapper层 1.3 功能测试 1.4 代码提交 2.Apache POI 2.1 介绍 2.2 入门案例 2.2.1 将数据写入Excel文件 2.2.2 读取Excel文…...

基于vue框架的的校园后台报修管理系统设计与实现u7fui(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能:用户,维修工,报修信息,维修情况,评价记录,请假记录,改派申请记录 开题报告内容 基于Vue框架的校园后台报修管理系统设计与实现开题报告 一、项目背景及意义 随着信息技术的飞速发展,校园管理日益趋向于智能化和高效化。传…...

TCP/IP 模型中,网络层对 IP 地址的分配与路由选择

TCP/IP 模型中,网络层对 IP 地址的分配与路由选择 一. IP 地址的分配1.1 IP 地址的结构与分类1.2 IP 地址的分配方式 二. 路由选择2.3 路由协议2.4 路由表的结构2.5 路由选择的算法2.6 默认路由与静态路由 三. 网络层的 IP 地址分配与路由选择总结 前言 这是我在这个…...

废品回收小程序:助力企业转型发展

废品回收在当下日常生活中非常常见,家中的各种可回收物都能够拿到回收站进行回收,减少浪费,不过在回收物较多的情况下,回收又成为了一个问题。 目前,随着智能生活的流行,废品回收开启了“数字化时代”&…...

iptables交叉编译(Hisiav300平台)

参考文章:https://blog.csdn.net/Bgm_Nilbb/article/details/135714738 https://bbs.archlinux.org/viewtopic.php?pid1701065 1、libmnl 交叉编译 tar xvf libmnl-1.0.5.tar.bz2 sudo chmod 777 -R libmnl-1.0.5 cd libmnl-1.0.5 mkdir _install //host和CC需要修…...

概率论 期末 笔记

第一章 随机事件及其概率 利用“四大公式”求事件概率 全概率公式与贝叶斯公式 伯努利概型求概率 习题 推导 一维随机变量及其分布 离散型随机变量(R.V)求分布律 利用常见离散型分布求概率 连续型R.V相关计算 利用常见连续型分布的计算 均匀分布 正态…...

【Chrome】浏览器提示警告Chrome is moving towards a new experience

文章目录 前言一、如何去掉 前言 Chrome is moving towards a new experience that allows users to choose to browse without third-party cookies. 这是谷歌浏览器(Chrome)关于隐私策略更新相关的提示 提示:以下是本篇文章正文内容&…...

xdoj 数字个数统计

1-3 数字个数统计 3 时间限制:1S 题目描述: 输入两个三位正整数 A 和 B,在区间[A,B]之间,或在区间[B,A]之间, 完成统计任务: 3 的倍数数字个数、4 的倍数数字个数和 5 的倍数且不是 2 的倍数 的数字个数…...

I.MX6U 启动方式详解

一、启动方式选择 BOOT 的处理过程是发生在 I.MX6U 芯片上电以后,芯片会根据 BOOT_MODE[1:0]的设置 来选择 BOOT 方式。 BOOT_MODE[1:0]的值是可以改变的,有两种方式,一种是改写 eFUSE(熔 丝),一种是修改相应的 GPIO 高低电平。第一种修改 eFUSE 的方式只能修改一次,后面就…...

Linux自动挂载与卸载USB设备

一、实现udev规则 创建规则:sudo vi /etc/udev/rules.d/usb.rules SUBSYSTEMS"usb",SUBSYSTEM"block",ACTION"add",RUN{program}"/bin/mkdir /mnt/%k",RUN{program}"/usr/bin/systemd-mount --no-block --collect …...

下载运行Vue开源项目vue-pure-admin

git地址:GitHub - pure-admin/vue-pure-admin: 全面ESMVue3ViteElement-PlusTypeScript编写的一款后台管理系统(兼容移动端) 安装pnpm npm install -g pnpm # 国内 淘宝 镜像源 pnpm config set registry https://registry.npmmirror.com/…...

中国农业科学院深圳农业基因组研究所合成生物学研究中心-随笔06

更新读研择校贴,生物合成行业领先的单位一览SWHC002 中国科学院合成生物学重点实验室介绍-随笔05-CSDN博客 中国农业科学院深圳农业基因组研究所(基因组所)合成生物学研究中心 https://www.agis.org.cn/bsgk/yjsjj/index.htm #官网 htt…...

Java项目--仿RabbitMQ的消息队列--基于MQ的生产者消费者模型

目录 一、引言 二、生产者 三、消费者 四、扩展 五、总结 一、引言 本篇文章就是本次Java项目的最后一篇文章了,本篇文章主要介绍基于MQ的生产者消费者模型的代码编写 二、生产者 public class DemoConsumer {public static void main(String[] args) throws…...

VUE3——003、VUE 项目中的文件结构(index.html、main.ts、App.vue)

虽然是号称是小白初学,但本文只是对 VUE 小白,其它的基功还是有一丢丢的,不太懂的同学去看看一下详解,我这里记述的是自己的理解和观点。见谅! index.html:入口文件(以创建 vue3 项目的默认文件…...

Redis+注解实现限流机制(IP、自定义等)

简介 在项目的使用过程中,限流的场景是很多的,尤其是要提供接口给外部使用的时候,但是自己去封装的话,相对比较耗时。 本方式可以使用默认(方法),ip、自定义参数进行限流,根据时间…...

SAP SD销售订单处理流程

本篇博文中的流程: 创建销售订单→依据销售订单创建交货单→依据销售订单开票 一、VA01创建销售订单 1、填入必填项,回车。可点击左上角的依照参考创建按钮。 依照参考创建可以参考以下6个。其中询价单、报价单、订单、合同和计划协议可以理解为特殊的…...

MySQL中Seconds_Behind_Master是怎么计算的

目录 1.Seconds_Behind_Master计算方式2.Seconds_Behind_Master 计算方式会存在什么问题3.更好的方式3.1 实现方法3.2 优点在MySQL中,Seconds_Behind_Master是一个用于表示从库(Slave)落后于主库(Master)的时间(以秒为单位)的指标。 1.Seconds_Behind_Master计算方式 其…...

【算法篇】——数据结构中常见八大排序算法的过程原理详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、插入排序1.直接插入法2.希尔排序法 二、交换排序1. 冒泡排序2. 快速排序 三、选择排序1. 简单选择排序2. 堆排序 四、归并排序五、基数排序 前言 C数据结构…...

ERP系统:从稳定运行到头条新闻

企业管理软件通常经历开发、部署、维护和最终退役的生命周期。然而,2024年,SAP等ERP系统频频登上新闻头条,反映出数字化转型过程中面临的挑战与变革。 SAP频上新闻的背后 SAP软件自上世纪90年代问世以来,便在企业管理领域占据重…...

OceanBase之primary_one概念学习

OceanBase 集群通常有若干个zone组成,zone是(Availability Zone)的简写,代表一个可用区。zone本身是一逻辑概念,物理的zone可理解为一地理概念,对OceanBase来说,zone可以理解为副本的概念。 从物理层面看,…...

国标GB28181摄像机接入EasyGBS如何通过流媒体技术提升安防监控效率?

随着信息技术的飞速发展,视频监控技术已成为维护公共安全和提升管理效率的重要手段。国标GB28181作为安防行业的统一设备接入与流媒体传输标准,为视频监控系统的互联互通提供了坚实的基础。EasyGBS作为一款基于GB28181协议的视频云服务平台,通…...

Scala_【2】变量和数据类型

第二章 注释标识符的命名规范命名规则关键字 变量字符串输出数据类型关系变量和数据类型整数类型(Byte、Short、Int、Long)浮点类型(Float、Double)字符类型(Char)布尔类型(Boolean)…...

怎么设置电脑密码?Windows和Mac设置密码的方法

为电脑设置密码是保护个人信息安全的重要措施。无论是Windows系统还是MacOS系统,设置密码的步骤都相对简单,但需要根据不同的操作系统选择不同的方法。 一、Windows系统电脑密码设置 方法一:通过控制面板设置账户密码 点击桌面左下角的“开…...

力扣251题详解:展开二维向量的多种解法与模拟面试

力扣251题详解:展开二维向量的多种解法与复杂度分析 在本篇文章中,我们将详细解读力扣第251题“展开二维向量”。通过学习本篇文章,读者将掌握如何实现一个迭代器来遍历二维向量中的所有元素,并了解相关的复杂度分析和模拟面试问…...

MoGe---最新单目3D几何估计方法

目录 一、概述 二、相关工作 1、单目深度估计 2、单目几何估计 3、相机内参估计 4、单目几何的大规模数据训练 三、前置知识 1、仿射不变和尺度不变指标 2、FOV和shift 3、ROE对齐求解器 四、MoGe 1、为什么设计仿射不变? 2、恢复相机焦距和移位 3、…...

springboot/ssm私房菜定制上门服务系统Java代码编写web厨师上门做菜

springboot/ssm私房菜定制上门服务系统Java代码编写web厨师上门做菜 基于springboot(可改ssm)htmlvue项目 开发语言:Java 框架:springboot/可改ssm vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库&am…...

D105【python 接口自动化学习】- pytest进阶参数化用法

day105 pytest参数化parametrize多参数 学习日期:20241224 学习目标:pytest基础用法 -- pytest参数化parametrize多参数 学习笔记: 参数化 parametrize # 多次循环 pytest.mark.parametrize("a,b",[("c","d&qu…...

永磁同步电机控制算法-自适应带宽LADRC转速控制器

一、原理介绍 设计了自适应带宽 LADRC 控制方法,继承了 LADRC 优点的同时,加入自适应带宽控制,提出运用 Softsign 函数设计带宽自适应函数,根据电机转速自动调节控制带宽,解决了永磁同步电机在复杂且多变的环境下受到…...

lodash常用函数

文章目录 一、数组1、chunk分组2、difference、differenceBy、differenceWith3、findIndex4、intersection、intersectionBy、intersectionWith5、union、unionBy、unionWith 二、对象1、pick、omit 2、get、set三、数学1、sum、sumBy2、range 四、工具函数1、isEqual、isEmpty…...

Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集AI-FGTM介绍算法流程初始化迭代更新( t 0 t 0 t0 到 T − 1 T - 1 T−1)迭代完成 AI-FGTM代码实现AI-FGTM算法实现攻击效果 代码汇总aifgtm.pytrain.pyadvtest.py 之前已经…...

如何在谷歌浏览器中启用语音搜索

想象一下,你正在拥挤的地铁上,双手都拿着沉重的购物袋,突然你想搜索附近的咖啡馆。此时如果你能通过语音而不是打字来进行搜索,那将多么的便利!在谷歌浏览器中,启用语音搜索功能就是这么简单而高效&#xf…...

[搜广推]王树森推荐系统笔记——曝光过滤 Bloom Filter

曝光过滤 & Bloom Filter 曝光过滤主要在召回阶段做,主要方法是Bloom Filter 曝光过滤问题 -如果用户看过某个物品,则不再把该物品曝光给该用户。 - 原因是重复曝光同一个物品会损害用户体验 - 但长视频通常没有曝光过滤(youtube&…...

实现Python将csv数据导入到Neo4j

目录 一、获取数据集 1.1 获取数据集 1.2 以“记事本”方式打开文件 1.3 另存为“UTF-8”格式文件 1.4 选择“是” 二、 打开Neo4j并运行 2.1 创建新的Neo4j数据库 2.2 分别设置数据库名和密码 ​编辑 2.3 启动Neo4j数据库 2.4 打开Neo4j数据库 2.5 运行查看该数据库…...

springboot启动不了 因一个spring-boot-starter-web底下的tomcat-embed-core依赖丢失

这个包丢失了 启动不了 起因是pom中加入了 <tomcat.version></tomcat.version>版本指定&#xff0c;然后idea自动编译后&#xff0c;包丢了&#xff0c;删除这个配置后再也找不回来&#xff0c; 这个包正常在 <dependency><groupId>org.springframe…...

Java 日志类库

Java 日志库是最能体现 Java 库在进化中的渊源关系的&#xff0c;在理解时重点理解日志框架本身和日志门面&#xff0c;以及比较好的时间等。要关注其历史渊源和设计&#xff08;比如桥接&#xff09;&#xff0c;而具体在使用时查询接口即可&#xff0c;否则会陷入 JUL&#x…...

【python】银行客户流失预测预处理部分,独热编码·标签编码·数据离散化处理·数据筛选·数据分割

数据预处理 通过网盘分享的文件&#xff1a;银行流失预测数据和代码 链接: https://pan.baidu.com/s/1loiB8rMvZArfjJccu4KW6w?pwdpfcs 提取码: pfcs 非数值特征处理 目的&#xff1a;将非数值特征转换为数值型&#xff0c;以便模型能够处理。方法&#xff1a; 地理位置&am…...

Linux | scp指令基于WSL在Windows/Ubuntu系统间传输文件

. 背景 在Windows系统里&#xff0c;使用WSL连接远程Linux&#xff08;Ubuntu&#xff09;服务器是如今一个很常见的操作流程&#xff08;有利于WFH哈哈&#xff09;。 在使用远程机器的时候&#xff0c;通常需要将本地的文件上传、或将远程的文件下载。 问题&#xff1a;如…...

类设计者的核查表

核查表 第一篇 如何设计类你的类需要复制构造函数吗何时不需要自定义复制构造函数何时需要自定义复制构造函数总结 什么时候需要将构造函数和赋值运算符设置为私有&#xff1f;1. 单例模式&#xff08;Singleton Pattern&#xff09;2. 禁止复制和赋值3. 工厂模式&#xff08;F…...

深入解析:Python中的决策树与随机森林

在这个数据驱动的时代&#xff0c;机器学习技术已经成为许多企业和研究机构不可或缺的一部分。其中&#xff0c;决策树和随机森林作为两种强大的算法&#xff0c;在分类和回归任务中表现尤为出色。本文将带领大家深入了解这两种算法在Python中的实现&#xff0c;从基础到实战&a…...

umi : 无法加载文件 D:\software\nodejs\node_global\umi.ps1,因为在此系统上禁止运行脚本。

问题详情 2、解决方法 1.使用命令 get-ExecutionPolicy查看 显示Restricted&#xff1a;限制 所以要给权限 2. 使用命令&#xff1a;Set-ExecutionPolicy -Scope CurrentUser 3. 会提示为参数提供值 4. 输入&#xff1a; RemoteSigned 具体如下图所示&#xff0c;成功解决。 报…...

十四、从0开始卷出一个新项目之瑞萨RZN2L之栈回溯(Default_Handler/hartfault)

目录 一、概述 二、参考资料 三、代码 四、日志 五、定位函数调用 六、README和工具 一、概述 软件开发中常见的比较棘手的问题就是hartfault/Default_Handler/dump&#xff0c;俗称跑飞了。 参考cmbacktrace&#xff0c;在瑞萨RZN2L/T2M实现栈回溯&#xff0c;串口打印…...

CTFHub disable_functions通关

LD_PRELOAD 来到首页发现有一句话直接就可以用蚁剑连接 根目录里有/flag但是不能看;命令也被ban了就需要绕过了 绕过工具在插件市场就可以下载 如果进不去的话 项目地址: #本地仓库;插件存放 antSword\antData\plugins 绕过选择 上传后我们点进去可以看到多了一个绕过的文件;…...

什么是 DevOps 自动化?

DevOps 自动化是一种现代软件开发方法&#xff0c;它使用工具和流程来自动化任务并简化工作流程。它将开发人员、IT 运营和安全团队聚集在一起&#xff0c;帮助他们有效协作并交付可靠的软件。借助 DevOps 自动化&#xff0c;组织能够处理重复性任务、优化流程并更快地将应用程…...