This morning I woke up with my phone vibrating before my alarm clock went off. Conda’s build tool does not support MSVC 2017. All right, here’s another article.

Before Conda-build did not provide MSVC 2017 support, we had no way to build conda packages, so we had to install them through WHL packages. How to install it? At present, the compiled package has been uploaded to the Release page of Github, and users who need it can download and install it on Baidu Cloud in China. The installation command is as follows:

Conda install numpy MKL pyyaml cffi # For Python 3.5 PIP install Torch -0.3.0b0.591e73e-cp35-cp35m-win_amd64. WHL # For Python 3.6 PIP install The torch - 0.3.0 b0.591 e73e cp36 - cp36m - win_amd64. WHLCopy the code

Also, bring the corresponding release log with you.

Windows version changes:

Bug fix

  1. Errors in backward can result in deadlocks
  2. DataLoader memory leak when multithreading
  3. Indentation bug in Torch. Cuda

New features

  1. Added support for new versions of CUDA and cuDNN
  2. Added support for Ninja and clcache compilers

Known issues

  1. Some tests fail
  2. Torch. Distributed (distributed), NCCL (multi-card) and Magma are not supported
  3. Versions 3.5 and later are not supported
  4. Do not set num_worker to a value greater than 1. If you have any questions, try 0. In addition, the code entry must be wrapped with the following if statement. A little explanation of why this is the case, because Windows does not support fork, multiple processes can only be spawn, and if you do not use this conditional wrap, the code will be executed again, so there will be an infinite number of processes if left unchecked. Why not make num_worker bigger? Because PyTorch uses FileMapping to transfer data across processes in Windows, the Mapping will also take up a bit of memory during the transfer, so if num_worker is set to 1, it will use twice as much memory. In addition, the pipeline is also slow, so if open too much, the main process can not process quickly, resulting in a backlog of data, resulting in unlimited memory usage.
if __name__ == '__main__':
Copy the code

Another good news these days is that THE CI of Windows has been officially under construction and is expected to be completed next week. It will be easier to compile using the master branch in the future. I’ve written some scripts to help you compile easily.

That’s all for this article. If you still want something more, add a Watch or star to my Github homepage or project. Maybe I’ll share some related experiences in the future.