首页 > 其他分享 >gym 加载/获取 其它模块/库的自定义环境 为什么不需要import自定义的模块/库 只需import gym

gym 加载/获取 其它模块/库的自定义环境 为什么不需要import自定义的模块/库 只需import gym

时间:2023-05-13 16:56:23浏览次数:46  
标签:自定义 gym points 模块 entry import

site-packages\gymnasium\__init__.py
# Hook to load plugins from entry points
load_plugin_envs()在这里载入的其它 模块/库 的自定义环境

 

Load modules (plugins) using the gymnasium entry points in order to register external module's environments on ``import gymnasium``.

 

metadata.entry_points(group=entry_point)

Return EntryPoint objects for all installed packages.
Pass selection parameters (group or name) to filter the result to entry points matching those properties (see EntryPoints.select()).

 

可以通过下面代码查看,查看eps变量中有一些group,gym使用的是 gymnasium.envs

from importlib.metadata import entry_points

eps = entry_points()

 

 

entry points是发布模块“宣传”Python对象(比如函数、类)的一种方法,这些Python对象可以被其他发布模块使用。(就是自定义环境库中的环境可以被gym发现和使用)一些可扩展的应用和框架可以通过特定的名字找到entry points,也可以通过发布模块的名字来找到,找到之后即可加载使用这些对象了。

标签:自定义,gym,points,模块,entry,import
From: https://www.cnblogs.com/hhdom/p/17397677.html

相关文章

  • 自定义信号和槽
    自定义槽槽可以是任何成员函数、普通全局函数、静态函数槽函数和信号的参数和返回值要一致由于信号是没有返回值的,槽函数也一定没有返回值示例:在点击按钮的时候执行自定义的槽函数,自定义的槽函数为弹出一个弹框                 1......
  • [golang] logrus日志包如何自定义级别
    在Logrus中,可以使用logrus.Level类型定义自定义的日志级别,以便更精细地控制日志输出。以下是使用Logrus自定义级别的基本步骤:首先,在代码中使用 logrus.New() 方法创建一个新的logrus.Logger对象,并使用 AddHook() 方法注册所需的Hook对象(可选)。例如,以下代码创建了一个......
  • 一个小而巧的自定义嵌入式软件通信协议
    Thefollowingarticleisfrom嵌入式大杂烩 AuthorZhengNL嵌入式大杂烩.本公众号专注于嵌入式技术,包括但不限于C/C++、嵌入式、物联网、Linux等编程学习笔记,同时,公众号内包含大量的学习资源。欢迎关注,一同交流学习,共同进步!  嵌入式开发中,常常会自定义一些协议格式,......
  • 搭建直播平台,自定义VIew实现设置防截屏、添加水印
    搭建直播平台,自定义VIew实现设置防截屏、添加水印1.activity代码:MarkViewActivity packagecom.zdmtech.backgroundtextdemo;importandroid.os.Bundle;importandroid.view.WindowManager;importandroid.widget.RelativeLayout;importandroidx.annotation.Nullable;import......
  • UITableView 系列五 :自定义UITableViewCell (实例)
    有时候我们需要自己定义UITableViewCell的风格,其实就是向行中添加子视图。添加子视图的方法主要有两种:使用代码以及从.xib文件加载。当然后一种方法比较直观。我们这次要自定义一个Cell,使得它像QQ好友列表的一行一样:左边是一张图片,图片的右边是三行标签:当然,我们不会搞得这么复杂,只......
  • uniapp 自定义顶部导航
    <uni-nav-bardark:fixed="true"shadowcolor="#333"background-color="#f6f6f6"status-barleft-icon="left"left-text="返回"title="识别结果"@clickLeft="goback">......
  • Docker命令之export|import、save|load
    1、export|importexportdockerexport-o/ly/myexport-redis49c26f7431d1-o:指定一个不存在的文件夹,存放导出的镜像import#格式dockerimport[OPTIONS]file|URL|-[REPOSITORY[:TAG]]#例如dockerimport/ly/myexport-redisexportredis:v1注意:我们使用expo......
  • import CSV with X++ for Dynamics 365 FO
    ///<summary>///importcolorcode///</summary>classCFSImportColorCode{    ///<summary>    ///main    ///</summary>    ///<paramname=“_args”>_args</param>   publicstaticvoidmain(Args_args)   { ......
  • layer.load 自定义加载
    //layuiload默认加载functionlayerload(){layer.load(0,{content:'正在努力加载中,请稍等',shade:[0.5,'#000'],//0.4为透明度,#000为颜色offset:['45%','40%'],//位置success:function(layero){......
  • c++自定义工具类的定义和使用
    classlog_work{private:intlog_id_=1;intlog_level_;qnx_slog2()=default;virtual~qnx_slog2(){uninit();}public:inlinestaticlog_work&get_log(){staticqnx_slog2slog2_instance;returnslog2_instance;}......