Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase to latest from cntk master #1

Merged
merged 46 commits into from
Jul 19, 2018
Merged

Rebase to latest from cntk master #1

merged 46 commits into from
Jul 19, 2018

Conversation

delzac
Copy link
Owner

@delzac delzac commented Jul 19, 2018

No description provided.

yangchen-MS and others added 30 commits July 3, 2018 13:55
We used to set CXX to mpic++, which was then used for building
Multiverso. Unfortunately, this kind of configuration conflicted
with find_package(MPI), and hence caused failure.

This commit fixed the issue by using system CXX for building
Multiverso. It also fixed two other issues:

* EVAL_LIB depends on libmultiverso, so we had to set
  MULTIVERSO_LIB before the EVAL_LIB rule

* cmake variable doesn't have a "PATHNAME" type, we used
  PATH instead. We also replace FILEPATH with PATH because
  BOOST_LIBRARY_DIRS points to a path rather than a file.
* it seems None somehow escapes the typecheck when being converted to class CNTK::Variable thus causing the crash.
* the error was due to that we pad 0 as default value for missing gaps. All these then each contribute 1 to the gradient of reference at index 0. The fix is to mask missing values in indices matrix to negative, and in Matrix scatter implementation to check and skip negative indices. (previous Matrix CPU implementation already checks for negative indices)
…nd GPUMatrix).

Change GatherNode Backprop to use the new method instead of altering data for gaps in input matrix.
Unlike Linux-like cp instruction, docker COPY instruction doesn't
preserve the top-level dir structure (e.g. it copies the contents
of the top-level dir rather than the dir itelse to the image).

Our Dockerfile for generating GPU image has correct behavior though.
… to 1 mapping, each element in columnValidMask maps to a grid of multiple rows and columns in data matrix.
Sergii Dymchenko and others added 16 commits July 6, 2018 21:50
commit 02eb64b
Author: TJ <tix@microsoft.com>
Date:   Mon Jul 9 13:07:13 2018 -0700

    set the multiverso lib file when asgd is set to true, otherwise it will
    look for a lib that doesn't match any rule when asgd=false
adding convolution over sequential axis related tests.

adding convolution over sequential axis.
currently additional supported parameters:
  auto padding
  strides
  groups
support for dilation needs to be tested on GPU.

updating PrimitiveOpType SerializationTests that is missing from other commits ..

convert tabs to spaces.

Refine cpp convolution unit tests. Add dilation tests to python convolution unit tests.

more detailed comments on shape change for 1d seq conv with reduction rank 0. And other minor tweaks.

add EndToEndTests of sequential convolution on MNIST

add init_bias tests for seq conv

minor change in comments

rename ConvolutionOverSequenceAxisNode. Add comment on cudnn failed new test.

add more comments, trim spaces

add more comments, remove magic number, add more boundary checks.

remove the last SetValue for outputSeqAxisDimValue as TensorView Unary Op has already updated the value.

fix bug in python seqconv default bias shape, and add related unit tests.

small tweak in seq conv to avoid additional gpu memory allocation and increase performance.

Example: seq MNIST, and profiling

adjust conv c++ value unit test channel size.

small update on python seq mnist

Sequential convolution v2.
* re-designed ConvolutionSequenceShapeNode: refactored to separate out computing output sequence length from v1 node design. And refactored ConvolutionNodeBaseExtended as their common base class. (Since "ConvolutionNodeBase" is not only base class of ConvolutionNode but also PoolingNode).
* Performance increase against v1.
- compute sequence length by MBLayout instead of mask output from unpack. Avoiding the unnecessary cpu/gpu memory copy.

not include py sequence example for now .. need to find they a correct location.

add check for truncated sequences in sequential convolution

improve code style.

Moving sequential convolution in python to a new high level api, to maintain compatibility with previous implementation (special case 1d sequential convolution).

Add ConvolutionSequenceShape OP.

nit

update conv_attribute test for updated convolution parameter
move sequential parameter to the last
update test shortcircuit for CPU convolution dilation.

update endtoendtest - unittest baseline file for new convolution unittests.

update makefile to include new unittest file for linux

nit

Update ConvolutionNode initialization code to handle TransformerNode Initialization.

nit

nit
@delzac delzac merged commit bd526b9 into delzac:master Jul 19, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants