去年我玩过 WSL,但当时它无法运行我想尝试的神经网络项目。显然与它有一个过时的内核或类似的东西有关。
从那时起,WSL 进行了很多更新。在 WSL 上运行可在 Ubuntu 上运行的程序有哪些限制?它们本质上是等价的吗?是否有一些信息可以用来提前确定这一点?
去年我玩过 WSL,但当时它无法运行我想尝试的神经网络项目。显然与它有一个过时的内核或类似的东西有关。
从那时起,WSL 进行了很多更新。在 WSL 上运行可在 Ubuntu 上运行的程序有哪些限制?它们本质上是等价的吗?是否有一些信息可以用来提前确定这一点?
从WSL 常见问题解答:
还有一个 Linux 测试程序的官方测试,它提供了一些关于软件片段以及它们是否工作或接近工作的见解。
以上2个链接为官方立场。微软指出的一件事是 WSL 并不旨在支持图形界面。用户虽然已经能够运行xfce和unity。
当有人可以团结起来在 WSL 上工作时,我怀疑会有任何限制。许多 WSL 是未经证实的,因此要让某些东西起作用可能取决于用户(即,在这种情况下,你 ;))。
自从提出这个原始问题以来,WSL 的情况已经有所缓和,我想传递信息。
我可以报告说,基本上可以在 WSL 中执行任何只需要 CPU 的普通 Linux 任务。这意味着您可以轻松运行 GUI 应用程序,甚至整个桌面环境,但这也意味着运行神经网络更像是一种浪费电力的练习。(WSL 也缺少 CUDA 驱动程序,但如果 WSL 确实可以获得 GPU 访问权限,则可能会使用 Ubuntu 的 CUDA 驱动程序)
图形用户界面应用
您可以通过以下方式获取 GUI 应用程序:
你所要做的就是:
如果您运行 zsh,只需将导出显示信息添加到您的 .zshrc 文件中。
我通过在我的桌面上安装 Linux 解决了想要运行神经网络的问题,哈哈。这样就容易多了。
为了更广泛地回答这个问题
WSL 最显着的限制是 Linux 和 Windows 文件系统并不真正兼容。Linux 文件使用与 Windows 文件不同的权限方案,当您在 WSL 主文件夹中编辑或保存文件时,
~/
您会将其与元数据一起保存,这将使 Windows 仅在记事本中显示一个空文件。行尾的差异也存在一些问题(Linux 上的 LF 与 Windows 上的 CRLF),但这不是问题,特别是因为微软已经启用 VS Code 和记事本来使用任一行尾。Linux 文件系统在技术上可以从 Windows 资源管理器中访问,但这是非常不可取的,如果你愿意的话,你真的不能用它做任何事情。