我正在尝试在 Jupyter Notebook 的本地驱动器上嵌入视频。
文件名为“openaigym.video.6.7524.video000000.mp4”,位于“gym-results”文件夹中。
使用以下代码不会产生任何结果:
from IPython.display import Video
Video("./gym-results/openaigym.video.4.7524.video000000.mp4",embed =True)
Run Code Online (Sandbox Code Playgroud)
如果我尝试直接使用 HTML(我从这里获得),它会产生一个无法播放的视频:
from base64 import b64encode
def video(fname, mimetype):
from IPython.display import HTML
video_encoded = b64encode(open(fname, "rb").read())
video_tag = '<video controls alt="test" src="data:video/{0};base64,{1}">'.format(mimetype, video_encoded)
return HTML(data=video_tag)
path= f"./gym-results/openaigym.video.6.7524.video000000.mp4"
video(path, "mp4")
Run Code Online (Sandbox Code Playgroud)
也就是说,它产生以下结果:
无法启动。 我该如何解决这个问题?
我已按照此处的说明在 CLI(在 Linux、Ubuntu 上)上设置 github 的自动身份验证。特别是,我执行了此处给出的命令:
gh auth login
然后我根据提示回答 Github.com,是的,HTTPS,以及我的身份验证令牌。
这似乎有效:它指出“ Configured git protocol”和“ Logged in as ...”。
但是,当我写入 时git clone <myrepo>,它会再次询问我的用户名和密码。
我究竟做错了什么?我的理解是该gh aut login命令应该防止我每次都输入登录数据。
我使用 CUDA (在 Linux 上)安装 pytorch 的方式是:
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorchwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda-repo-ubuntu2004-11-5-local_11.5.1-495.29.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-5-local_11.5.1-495.29.05-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-5-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果我不从 NVIDIA 网站安装工具包,那么 pytorch 会告诉我 CUDA 不可用,可能是因为 pytorch conda install 命令没有安装驱动程序。
有没有一种方法可以以更干净的方式完成所有这一切,而无需每次重新安装时手动检查最新版本或填写 GUI?
这是一个关于python(动态)类型系统如何工作的问题。我在网上读过一些文章,说要将一个类定义为“可迭代”,我们需要__iter__为它定义一个函数。我们实际上不必明确声明该类“是可迭代的”。我会根据使用其他语言的经验猜测我必须编写类似的东西
class Foo extends Iterable:
def __iter__(self):
return self
Run Code Online (Sandbox Code Playgroud)
当我测试类型Foo及其实例之一时,我得到:
print(type(Foo))
print(type(Foo()))
print(isinstance(Foo(), collections.abc.Iterable))
Run Code Online (Sandbox Code Playgroud)
输出:
<class 'type'>
<class '__main__.Foo'>
True
Run Code Online (Sandbox Code Playgroud)
我的问题是:在 python 的(动态)类型系统中,像“Iterable”这样的概念的状态是什么?我应该认为它与类型有任何关系吗?