Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
D
dlib
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
钟尚武
dlib
Commits
e20b6512
Commit
e20b6512
authored
Jul 06, 2016
by
Davis King
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'e-fominov-faq-changes'
parents
cf421243
d85b9961
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
0 deletions
+47
-0
faq.xml
docs/docs/faq.xml
+47
-0
No files found.
docs/docs/faq.xml
View file @
e20b6512
...
...
@@ -329,5 +329,52 @@ cross_validate_trainer_threaded(trainer,
<!-- ************************************************************************* -->
<questions
group=
"Deep Learning"
>
<question
text=
"Why can't I use DNN module with Visual Studio?"
>
The deep learning toolkit in dlib requires a C++11 compiler.
Unfortunately, as of July 2016, no versions of Visual Studio fully
support C++11, so not all the deep learning code will compile.
However, all the other modules in dlib can be used in Visual Studio
without any trouble.
</question>
<question
text=
"Why can't I change the network architecture at runtime?"
>
A major design goal of this API is to let users create new loss
layers, computational layers, and solvers without needing to
understand or even look at the dlib internals. A lot of the API
decisions are based on what makes the interface a user needs to
implement to create new layers as simple as possible. In particular,
designing the API in this compile-time static way makes it simple for
these use cases.
<p>
Here is an example of one problem it addresses. Since dlib
exposes the entire network architecture to the C++ type system we
can get automatic serialization of networks. Without this, we
would have to resort to the kind of hacky global layer registry
used in other tools that compose networks entirely at runtime.
</p>
<p>
Another nice feature is that we get to use C++11 alias template
statements to create network sub-blocks, which we can then use to easily
define very large networks. There are examples of this in
<a
href=
"dnn_introduction2_ex.cpp.html"
>
this example program
</a>
. It
should also be pointed out that it takes days or even weeks to
train one network. So it isn't as if you will be writing a
program that loops over large numbers of networks and trains them
all. This makes the time needed to recompile a program to change
the network irrelevant compared to the entire training time.
Moreover, there are plenty of compile time constructs in C++ you
can use to enumerate network architectures (e.g. loop
over filter widths) if you really wanted to do so.
</p>
<p>
All that said, if you think you found a compelling use case that isn't supported
by the current API feel free to post a
<a
href=
"https://github.com/davisking/dlib/issues"
>
github
</a>
issue.
</p>
</question>
</questions>
<!-- ************************************************************************* -->
</doc>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment