D4RL 包括一系列在离线强化学习中广泛使用的环境和数据集,mujoco-py
是一个用于与 MuJoCo 物理引擎交互的 Python 包,是 D4RL 的重要依赖之一。这两个包已经很久没有更新和维护,在安装时可能遇到一系列问题,但是它们仍然是离线强化学习领域的重要工具。本文以 Ubuntu 下的 conda 环境为例,介绍如何安装 D4RL 和 mujoco-py 库。如果你正在使用其他 Linux 发行版、使用 venv 或在容器中安装,可能需要根据实际情况进行调整。
D4RL 包括一系列在离线强化学习中广泛使用的环境和数据集,mujoco-py
是一个用于与 MuJoCo 物理引擎交互的 Python 包,是 D4RL 的重要依赖之一。这两个包已经很久没有更新和维护,在安装时可能遇到一系列问题,但是它们仍然是离线强化学习领域的重要工具。本文以 Ubuntu 下的 conda 环境为例,介绍如何安装 D4RL 和 mujoco-py 库。如果你正在使用其他 Linux 发行版、使用 venv 或在容器中安装,可能需要根据实际情况进行调整。
Docker 和 Podman 中的 Linux Capabilities
在运行 Docker (或 Podman) 容器时,有时即使使用 root
用户或者使用了 sudo
,也会出现 Operation not permitted
的错误信息。这是因为容器中的 root
并不具有完整的 root
权限。这种权限的控制是通过 Linux capabilities 实现的。本文将首先介绍 Linux capabilities 的概念,然后以 Docker 为例介绍如何调整容器的 capabilities,最后介绍 Docker 和 Podman 在默认 capabilities 上的差异,以为容器的开发者和用户提供参考。
Linux Capabilities in Docker and Podman
When running Docker (or Podman) containers, sometimes you may encounter Operation not permitted
error messages even if you are using the root
user or sudo
. This is because the root
in the container does not have full root
permissions. This permission control is implemented through Linux capabilities. This article will first introduce the concept of Linux capabilities, then use Docker as an example to introduce how to adjust the Linux capabilities of containers, and finally introduce the differences between Docker and Podman in default capabilities, providing reference for container developers and users.
matplotlib 是一个被广泛使用的 Python 绘图库,但是在远程服务器等无头设备上使用时,可能会遇到 plt.show()
无法显示和缺少中文字体的问题。本文将介绍如何解决这些问题。
在上一篇文章中,我分析了在隔离环境中运行应用的多种方法。在我的生活中,我需要将一些不可信应用放在 Hyper-V 虚拟机中运行。但是这样做会导致我在工作时需要频繁地在本地和远程桌面之间切换,而且可能收不到虚拟机内的通知。因此,我希望能够在保持隔离的同时获得与本地应用几乎相同的体验。
RemoteApp 是微软基于远程桌面开发的软件。相比于后者将整个桌面绘制出来,RemoteApp 仅仅绘制一个应用的界面,应用会出现在本地的任务栏和托盘,使用本地的通知中心进行推送,提供了与本地应用几乎相同的体验。在这篇文章中,我将介绍如何使用 RemoteApp 访问虚拟机中的应用。
在隔离环境中运行应用有诸多好处。在开发时,我们可以通过这种方法防止环境冲突、保证在不同设备上运行时环境一致;在生活中使用软件时,我们可以通过这种方法防止软件对计算机造成破坏。本文讨论了在 Windows 上在隔离环境中运行应用的四种方案:WSL+Docker, Windows Sandbox, Sandboxie 和虚拟机。
在更换硬盘并重装了电脑之后,我计划将所有开发环境都放在 Windows Subsystem for Linux (WSL) 上,以避免在 Windows 上遇到依赖地狱。这篇文章介绍了我对基于 WSL 的开发环境的搭建过程。
通常我们认为 JavaScript 是单线程的,不需要处理并发 bug。但是,类似并发的 bug 仍然有可能发生。
我最近在写一个在浏览器中运行的输入法(WebIME),在写的过程中遇到了一个并发 bug 。这篇文章分析了该 bug 并提出了一种解决方法。
GitHub Copilot 是 GitHub 和 OpenAI 开发的人工智能工具,用户在使用 VSCode 或其他一些 IDE 时可以通过 GitHub Copilot 进行自动补全代码。
在一个月前,我申请了 GitHub Copilot 的 technical preview,并在两天后收到了申请成功的邮件。这篇文章谈谈申请过程和近一个月我使用 GitHub Copilot 的感受。