Skip to content

Commit 7b85473

Browse files
committed
Merge remote-tracking branch 'MicrosoftDocs/master'
2 parents 1439923 + 4e381d5 commit 7b85473

File tree

2,848 files changed

+32897
-70080
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,848 files changed

+32897
-70080
lines changed

.openpublishing.publish.config.json

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,6 @@
11
{
22
"build_entry_point": "docs",
33
"docsets_to_publish": [
4-
{
5-
"docset_name": "b362ae64-b1c1-4f4d-a0af-76fe2cfdbd70",
6-
"build_source_folder": "b362ae64-b1c1-4f4d-a0af-76fe2cfdbd70",
7-
"build_output_subfolder": "b362ae64-b1c1-4f4d-a0af-76fe2cfdbd70",
8-
"locale": "en-us",
9-
"monikers": [],
10-
"moniker_ranges": [],
11-
"open_to_public_contributors": false,
12-
"type_mapping": {
13-
"Conceptual": "Content",
14-
"ManagedReference": "Content",
15-
"RestApi": "Content"
16-
},
17-
"build_entry_point": "docs",
18-
"template_folder": "_themes"
19-
},
204
{
215
"docset_name": "connected-environment",
226
"build_source_folder": "connected-environment",
@@ -129,11 +113,11 @@
129113
]
130114
},
131115
"need_generate_pdf_url_template": true,
132-
"Targets": {
133-
"Pdf": {
134-
"template_folder": "_themes.pdf"
135-
}
136-
},
116+
"targets": {
117+
"Pdf": {
118+
"template_folder": "_themes.pdf"
119+
}
120+
},
137121
"need_generate_pdf": false,
138122
"need_generate_intellisense": false
139123
}

.openpublishing.redirection.json

Lines changed: 3098 additions & 12 deletions
Large diffs are not rendered by default.

b362ae64-b1c1-4f4d-a0af-76fe2cfdbd70/TOC.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

b362ae64-b1c1-4f4d-a0af-76fe2cfdbd70/breadcrumb/toc.yml

Lines changed: 0 additions & 3 deletions
This file was deleted.

b362ae64-b1c1-4f4d-a0af-76fe2cfdbd70/docfx.json

Lines changed: 0 additions & 45 deletions
This file was deleted.

b362ae64-b1c1-4f4d-a0af-76fe2cfdbd70/index.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/_breadcrumb/toc.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@
5757
- name: MSBuild
5858
tocHref: /visualstudio/msbuild/
5959
topicHref: /visualstudio/msbuild/msbuild
60-
- name: Nodejs
61-
tocHref: /visualstudio/nodejs/
62-
topicHref: /visualstudio/nodejs/tutorial-nodejs
60+
- name: Node.js
61+
tocHref: /visualstudio/javascript/
62+
topicHref: /visualstudio/javascript/tutorial-nodejs
6363
- name: Profiling
6464
tocHref: /visualstudio/profiling/
6565
topicHref: /visualstudio/profiling/index

docs/ai/index.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,13 @@ title: Visual Studio Tools for AI
44
metadata:
55
document_id: 83ceabb5-fb4f-a709-3fd2-37d024409f31
66
title: Visual Studio Tools for AI | Microsoft Docs
7-
meta.description:
8-
services: ai-tools-visual-studio
7+
ms.prod: visual-studio-dev15
8+
ms.technology: vs-ai-tools
99
author: lisawong19
10+
ms.author: liwong
1011
manager: routlaw
11-
ms.service: visual studio
12-
ms.tgt_pltfrm: na
13-
ms.devlang: na
1412
ms.topic: landing-page
1513
ms.date: 10-25-2017
16-
ms.author: liwong
17-
ms.technology: vs-ai-tools
1814
abstract:
1915
description: Visual Studio Tools for AI is an integrated development environment to build, test, and deploy deep learning solutions. Learn how to use AI Tools with our quickstarts, tutorials, and samples.
2016
sections:

docs/ai/installation.md

Lines changed: 28 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,25 @@ ms.workload:
1717

1818
Visual Studio Tools for AI can be installed on Windows 64-bit operating systems.
1919

20-
## Installing Visual Studio Tools for AI
20+
## Install Visual Studio Tools for AI
2121

22-
This extension works with [Visual Studio](https://docs.microsoft.com/visualstudio/) 2015, 2017, Community edition or higher.
22+
This extension works with Visual Studio 2015 and Visual Studio 2017, Community edition or higher.
2323

24-
To install, download from the [Visual Studio MarketPlace](http://aka.ms/vstoolsforai) or from within Visual Studio
24+
To install, download from the [Visual Studio Marketplace](http://aka.ms/vstoolsforai) or from within Visual Studio
2525

26-
1. **Tools**> **Extensions and Updates**
26+
1. **Tools** > **Extensions and Updates**
2727

2828
![install CUDA on Windows](media\installation\extensions.png)
2929

3030
1. **Search** in upper right-hand corner for "Tools for AI"
3131
2. Select **Visual Studio Tools for AI**
3232
3. Click **Download**
3333

34-
35-
## Preparing your local machine
34+
## Prepare your local machine
3635

3736
Before training deep learning models on your local computer you should make sure you have the latest applicable prerequisites installed. This includes making sure the latest drivers and libraries for your NVIDIA GPU (if you have one). You should also ensure you have installed Python and Python libraries such as NumPy, SciPy, and appropriate deep learning frameworks such as Microsoft Cognitive Toolkit (CNTK), TensorFlow, Caffe2, MXNet, Keras, Theano, PyTorch and/or Chainer that you plan to use in your project.
3837

3938
> [!NOTE]
40-
>
4139
> Software introduction in the following subsections is excerpted from their homepages.
4240
4341
### NVIDIA GPU driver
@@ -62,23 +60,21 @@ To install CUDA
6260

6361
[cuDNN](https://developer.nvidia.com/cudnn) (CUDA Deep Neural Network library) is a GPU-accelerated library of primitives for deep neural networks by NVIDIA. cuDNN v6 is required by latest deep learning frameworks.
6462

65-
To install cuDNN
66-
- Visit [here](https://developer.nvidia.com/rdp/cudnn-download) to download and install the latest package.
63+
To install cuDNN:
64+
65+
- Visit [NVIDIA Developer](https://developer.nvidia.com/rdp/cudnn-download) to download and install the latest package.
6766
- Ensure to add the directory containing cuDNN binary to the %PATH% or $Path environment variable.
6867
- On Windows, you can copy cudnn64_6.dll to "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin".
6968

7069
> [!NOTE]
71-
>
72-
> Previous deep learning frameworks such as CNTK 2.0 and TensorFlow 1.2.1 need cuDNN v5.1.
73-
> However, you can install multiple cuDNN versions together.
74-
70+
> Previous deep learning frameworks such as CNTK 2.0 and TensorFlow 1.2.1 need cuDNN v5.1. However, you can install multiple cuDNN versions together.
7571
7672
### Python
7773

78-
Python has been the primary programming language for deep learning applications.
79-
**64-bit** Python distribution is required, and [Python 3.5.4](https://www.python.org/downloads/release/python-354/) is recommended for the best compatibility.
74+
Python has been the primary programming language for deep learning applications. **64-bit** Python distribution is required, and [Python 3.5.4](https://www.python.org/downloads/release/python-354/) is recommended for the best compatibility.
8075

8176
### To install Python on Windows
77+
8278
- We suggest installing the Python launcher for yourself only, and add Python to the %PATH% environment variable.
8379
- Ensure to install pip, which is the package management system to install and manage software packages written in Python.
8480

@@ -119,52 +115,47 @@ Learn more about install [Python for Visual Studio Tools](../python/installing-p
119115
120116
- **NumPy** is a general-purpose array-processing package designed to efficiently manipulate large multi-dimensional arrays of arbitrary records without sacrificing too much speed for small multi-dimensional arrays.
121117
122-
- **SciPy** (pronounced "Sigh Pie") is open-source software for mathematics, science, and engineering, depending on NumPy.
123-
Starting from version 1.0.0, SciPy now has official prebuilt wheel package for Windows.
118+
- **SciPy** (pronounced "Sigh Pie") is open-source software for mathematics, science, and engineering, depending on NumPy. Starting from version 1.0.0, SciPy now has official prebuilt wheel package for Windows.
124119
125120
To install NumPy and SciPy, run the following command in a terminal:
121+
126122
```bash
127123
pip3.5 install -U numpy scipy
128124
```
129125

130126
> [!NOTE]
131-
>
132127
> The above command upgrades existing old or unofficial (e.g. third-party packages from http://www.lfd.uci.edu/~gohlke/pythonlibs/ for Windows) NumPy and SciPy to the latest official ones.
133128
134129
### Microsoft Cognitive Toolkit (CNTK)
135130

136131
The [Microsoft Cognitive Toolkit](https://cntk.ai) is a unified deep-learning toolkit that describes neural networks as a series of computational steps via a directed graph. CNTK supports both Python and BrainScript programming languages.
137132

138133
> [!NOTE]
139-
>
140134
> CNTK currently does not support macOS.
141135
142136
To install CNTK Python package, see [how to install CNTK](https://docs.microsoft.com/cognitive-toolkit/Setup-CNTK-on-your-machine)
143137

144138
### TensorFlow
145139

146-
[TensorFlow](https://www.tensorflow.org/) is an open source software library for numerical computation using data flow graphs.
147-
Refer to [here](https://www.tensorflow.org/install/) for detailed installation.
140+
[TensorFlow](https://www.tensorflow.org/) is an open source software library for numerical computation using data flow graphs. Refer to [here](https://www.tensorflow.org/install/) for detailed installation.
148141

149142
> [!NOTE]
150-
>
151143
> As of version 1.2, TensorFlow no longer provides GPU support for macOS.
152144
153145
### Caffe2
154146

155-
[Caffe2](https://caffe2.ai/) is a lightweight, modular, and scalable deep learning framework.
156-
Building on the original Caffe, Caffe2 is designed with expression, speed, and modularity in mind.
147+
[Caffe2](https://caffe2.ai/) is a lightweight, modular, and scalable deep learning framework. Building on the original Caffe, Caffe2 is designed with expression, speed, and modularity in mind.
157148

158149
Currently, there's no prebuilt Caffe2 python wheel package available.
159150

160151
Visit [here](https://caffe2.ai/docs/getting-started.html) to build from source code.
161152

162153
### MXNet
163154

164-
[Apache MXNet (incubating)](https://mxnet.incubator.apache.org/) is a deep learning framework designed for both efficiency and flexibility.
165-
It allows you to **mix** [symbolic and imperative programming](http://mxnet.io/architecture/index.html#deep-learning-system-design-concepts) to maximize efficiency and productivity.
155+
[Apache MXNet (incubating)](https://mxnet.incubator.apache.org/) is a deep learning framework designed for both efficiency and flexibility. It allows you to **mix** [symbolic and imperative programming](http://mxnet.io/architecture/index.html#deep-learning-system-design-concepts) to maximize efficiency and productivity.
166156

167157
To install MXNet, run the following command in a terminal:
158+
168159
- With GPU
169160
```bash
170161
pip3.5 install mxnet-cu80==0.12.0
@@ -179,6 +170,7 @@ To install MXNet, run the following command in a terminal:
179170
[Keras](https://keras.io/) is a high-level neural networks API, written in Python and capable of running on top of CNTK, TensorFlow, or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.
180171

181172
To install Keras, please run the following command in a terminal:
173+
182174
```bash
183175
pip3.5 install Keras==2.0.9
184176
```
@@ -188,20 +180,22 @@ pip3.5 install Keras==2.0.9
188180
[Theano](http://deeplearning.net/software/theano/) is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently.
189181

190182
To install Theano, please run the following command in a terminal:
183+
191184
```bash
192185
pip3.5 install Theano==0.9.0
193186
```
194187

195188
### PyTorch
196189

197190
[PyTorch](http://pytorch.org/) is a python package that provides two high-level features:
191+
198192
- Tensor computation (like numpy) with strong GPU acceleration
199193
- Deep Neural Networks built on a tape-based autograd system
200194

201-
To install PyTorch, please run the following command in a terminal:
195+
To install PyTorch, run the following command in a terminal:
202196

203197
- **Windows**
204-
- There is no official wheel package yet. You may download a third-party [Anaconda PyTorch package](https://anaconda.org/peterjc123/pytorch/0.2.1/download/win-64/pytorch-0.2.1-py35h24644ff_0.2.1cu80.tar.bz2).
198+
- There's no official wheel package yet. You can download a third-party [Anaconda PyTorch package](https://anaconda.org/pytorch/repo?type=all).
205199
- Decompress it to your home directory, e.g. "C:\Users\test\pytorch".
206200
- Add "C:\Users\test\pytorch\Lib\site-packages" to the %PYTHONPATH% environment variable.
207201
@@ -210,41 +204,36 @@ To install PyTorch, please run the following command in a terminal:
210204
pip3.5 install http://download.pytorch.org/whl/torch-0.2.0.post3-cp35-cp35m-macosx_10_7_x86_64.whl
211205
```
212206
> [!NOTE]
213-
>
214207
> macOS binaries don't support CUDA, install from source if CUDA is needed
215208

216209
- **Linux**
217210
```bash
218211
pip3.5 install http://download.pytorch.org/whl/cu80/torch-0.2.0.post3-cp35-cp35m-manylinux1_x86_64.whl
219212
```
220213
> [!NOTE]
221-
>
222214
> This single package supports both GPU and CPU.
223215

224216
Finally, install torchvision on non-Windows:
217+
225218
```bash
226219
pip3.5 install torchvision
227220
```
228221

229222
### Chainer
230223

231-
[Chainer](https://chainer.org/) is a Python-based deep learning framework aiming at flexibility.
232-
It provides automatic differentiation APIs based on the **define-by-run approach** (a.k.a. dynamic computational graphs) as well as object-oriented high-level APIs to build and train neural networks.
224+
[Chainer](https://chainer.org/) is a Python-based deep learning framework aiming at flexibility. It provides automatic differentiation APIs based on the **define-by-run approach** (a.k.a. dynamic computational graphs) as well as object-oriented high-level APIs to build and train neural networks.
233225

234226
To enable CUDA support, install [CuPy](https://github.com/cupy/cupy):
227+
235228
```bash
236229
pip3.5 install cupy
237230
```
238231

239232
> [!NOTE]
240-
>
241-
> On Windows, you need **2015** version of [Microsoft Visual Studio](https://www.visualstudio.com/)
242-
or [Microsoft Visual C++ Build Tools](http://landinghub.visualstudio.com/visual-cpp-build-tools)
243-
to compile CuPy with CUDA 8.0.
233+
> On Windows, you need the 2015 version of [Visual Studio](https://visualstudio.microsoft.com/) or the [Microsoft Visual C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) to compile CuPy with CUDA 8.0.
244234

245235
To install Chainer, please run the following command in a terminal:
236+
246237
```bash
247238
pip3.5 install chainer==3.0.0
248-
```
249-
250-
239+
```

docs/code-quality/C26409.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.workload:
1616
- "multiple"
1717
---
1818
# C26409 NO_NEW_DELETE
19-
Even if code is clean of calls to malloc() and free() we still suggest that you consider better options than explicit use of operators [new and delete](/cpp/cpp/new-and-delete-operators). See more details in the description of the rule *R.11: Avoid calling new and delete explicitly*. The ultimate fix is to start using smart pointers with appropriate factory methods, such as [std::make_unique](/cpp/standard-library/memory-functions#make_unique).
19+
Even if code is clean of calls to malloc() and free() we still suggest that you consider better options than explicit use of operators [new and delete](/cpp/cpp/new-and-delete-operators). See more details in the description of the rule *R.11: Avoid calling new and delete explicitly*. The ultimate fix is to start using smart pointers with appropriate factory functions, such as [std::make_unique](/cpp/standard-library/memory-functions#make_unique).
2020

2121
## Remarks
2222
- The checker warns on calls to any kind of operator `new` or `delete`: scalar, vector, overloaded versions (global and class-specific), as well as on placement versions. The latter case may require some clarifications on the Core Guidelines in terms of suggested fixes and may be omitted in the future.

docs/code-quality/C26411.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ Passing a unique pointer by reference assumes that its resource may be released
2020

2121
## Remarks
2222
- The limitations from the warning C26410 are applicable here as well.
23-
- The heuristic to detect "release" or "reset" access to the unique pointer is rather naïve: we only detect calls to assignment operators and methods named "reset" (case-insensitive). Obviously, this doesn’t cover all possible cases of smart pointer modifications (e.g. std::swap, or any special non-const method in a custom smart pointer). It is expected that this warning will produce many false positives on custom types, as well as in some scenarios dealing with standard unique pointers. The heuristic will be improved as we implement more checks focused on smart pointers.
24-
- Smart pointers are often templates. This brings an interesting limitation related to the fact that the compiler is not required to process template code in templates if it is not used. In some minimal code bases that have very limited use of smart pointer interfaces, the checker may produce unexpected results due its inability to properly identify semantics of the template type (because some important methods may never be used). For the standard `unique_pointer` this limitation if mitigated by recognizing the type’s name. This may be extended in future to cover more well-known smart pointers.
23+
- The heuristic to detect "release" or "reset" access to the unique pointer is rather naïve: we only detect calls to assignment operators and functions named "reset" (case-insensitive). Obviously, this doesn’t cover all possible cases of smart pointer modifications (e.g. std::swap, or any special non-const function in a custom smart pointer). It is expected that this warning will produce many false positives on custom types, as well as in some scenarios dealing with standard unique pointers. The heuristic will be improved as we implement more checks focused on smart pointers.
24+
- Smart pointers are often templates. This brings an interesting limitation related to the fact that the compiler is not required to process template code in templates if it is not used. In some minimal code bases that have very limited use of smart pointer interfaces, the checker may produce unexpected results due its inability to properly identify semantics of the template type (because some important functions may never be used). For the standard `unique_pointer` this limitation if mitigated by recognizing the type’s name. This may be extended in future to cover more well-known smart pointers.
2525
- Lambda expressions with implicit capture-by-reference may lead to surprising warnings about references to unique pointers. Currently all captured reference parameters in lambdas are reported regardless whether they are reset or not. The heuristic here must be extended to correlate lambda fields with lambda parameters. This will be addressed in the next releases (after Visual Studio 2017 version 15.3)
2626

2727
## Example 1: Unnecessary reference

docs/code-quality/C26415.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Using a smart pointer type to pass data to a function indicates that the target
3131
- Interpretation of the operations that can affect lifetime of contained objects is quite broad and includes:
3232
- any function which accepts pointer or reference parameter to a non-constant smart pointer;
3333
- copy or move constructors or assignment operators;
34-
- non-constant methods.
34+
- non-constant functions.
3535
## Example
3636
cumbersome lifetime management
3737

docs/code-quality/C26417.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Passing shared pointers by reference may be useful in scenarios where callee cod
2929
- copy constructor or copy assignment operator (public and non-deleted);
3030
- public destructor which is neither deleted nor defaulted. Empty destructors are still counted as user-defined.
3131
- The action of resetting or reassigning is interpreted in a more generic way:
32-
- any call to a non-constant method on a shared pointer can potentially reset the pointer;
32+
- any call to a non-constant function on a shared pointer can potentially reset the pointer;
3333
- any call to a function which accepts a reference to a non-constant shared pointer can potentially reset or reassign that pointer.
3434

3535
## Example

docs/code-quality/C26432.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@ Special operations like constructors are assumed to alter behavior of types so t
3232
- destructors;
3333
- The rule doesn’t check if operations are defined in the same way, i.e. it is okay to mix deleted and defaulted operations with explicitly defined, but they all must be specified somehow if any of them appears.
3434
- Access levels are not important and can also be mixed.
35-
- The warning flags the first non-static method definition of a type, once per type.
35+
- The warning flags the first non-static function definition of a type, once per type.

0 commit comments

Comments
 (0)