2
$\begingroup$

I'm looking into using PPO implementations like OpenAi's SpinningUp and Baselines. However, I fear that these implementations require packages which are not available for Windows. So I'm wondering if in general Linux should be used for working with DRL algorithms. Also, I'm not planing on using OpenAI's gym environments. Environments, created with the ml-agents toolkit from Unity and its gym wrapper are going to be used.

What is your opinion on this? Should I rather work on Linux or Windows? And what do you think about alternatives such as: VM on Windows with Ubuntu or Subsystem on Windows with Ubuntu (WSL)?

$\endgroup$
  • 2
    $\begingroup$ If you're going to use Python, then most (if not all) your packages will be Python libraries. Note that Python is an interpreted language. So, in terms of Python libraries, they should be available for all main OSes (including Windows). However, it's possible that some Python libraries are actually wrappers around C (or other languages, like C++) libraries, like NumPy or TensorFlow. In those cases, you may need to first install the underlying dependencies for the underlying language/software. Which libraries exactly do you plan to use? $\endgroup$ – nbro Feb 19 at 10:51
  • 1
    $\begingroup$ I think that in general it may not be easy to answer to your question. I would say that if you have some experience with programming (and, in particular, in the context of machine learning) in Windows, and you have not had many issues, then why should you switch (unless you have some sort of requirement)? Anyway, isn't this question better suited for softwareengineering.stackexchange.com? $\endgroup$ – nbro Feb 19 at 10:55
  • $\begingroup$ Python itself is not really dramatic, but there are some peculiarities occasionally, which make me wonder about this context. To give a more concrete example. In the mentioned PPO implementations OpenMPI is used for threading, which does not seem to be available for Windows. $\endgroup$ – MarcoMeter Feb 19 at 10:58
  • $\begingroup$ Python has its own threading library. OpenMPI is mainly for C or C++ (AFAIK). It's possible that those implementations are in C or C++ and what you saw was a Python wrapper around that implementations. $\endgroup$ – nbro Feb 19 at 11:01
2
$\begingroup$

TLDR Use whatever environment you are most comfortable with.

Today the choice of operating system is of much less importance than few years ago. Generally speaking, you will have more application choices under Linux, however, some of these choices will be less than spectacular :-) Windows works better with some hardware. Hence, under Linux, it is a very good idea to check the forums before buying or installing.

I have played with OpenAI gym under Linux for some time and it worked as advertised.

Early versions of many important pieces of deep learning software get released for Linux only. For instance, PyTorch and Tensorflow were available for Linux at least one year before the release of Windows ports.

$\endgroup$
-2
$\begingroup$

Linux is known for it's instability. Each week, a new kernel is released and most of the software in the Gnome environment is buggy. In the daily work, lots of libraries conflicts and issues with missing drivers are common. The next problem is, that the license situation in Linux is unclear. Some distributions are promising that everything is for free, but at the same time, some parts of the Linux kernel are not. I have tested by myself to run OpenAI gym in Linux, and it never worked. There were some bugs with python2 interpreter which results into a non-working system.

The main problem with Linux is, that it is realized as an amateur project similar to shareware tools in the 1990s. The customer gets software in the beta-stadium and has to figure out by himself how to run it. A second problem is, that Linux is documented poorly. The small amount of manuals are outdated and some are describing how to use the modeset option in LILO, even this kind bootloader is no longer relevant. Other projects like the Damn Small Linux distribution are no longer maintained and if a user will boot it on the PC, he gets serious security issues.

If you prefer a stable operating system, which runs great on a PC and which is the best choice for the future, then Microsoft Windows is here to stay.

$\endgroup$
  • 4
    $\begingroup$ Hi there. I have downvoted as the majority of this post is not actually correct. There are numerous Linux distributions, some much more stable than Windows. Some commands are much better documented than Windows, and much of the licencing is well known. This post just feels like a bit of a complaint from someone who just didn't like the way Linux works. $\endgroup$ – Rory Alsop Feb 20 at 8:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.