diff --git a/cmake/external/nccl.cmake b/cmake/external/nccl.cmake index 10e8e838095d5f4ddd4161d26a188ab8166d10fa..dfbbed58c9ed7cc57809b3d33a29ce26a35d75a2 100644 --- a/cmake/external/nccl.cmake +++ b/cmake/external/nccl.cmake @@ -2,7 +2,7 @@ INCLUDE(ExternalProject) SET(NCCL_SOURCE_DIR ${THIRD_PARTY_PATH}/nccl) -INCLUDE_DIRECTORIES(${NCCL_SOURCE_DIR}/src/extern_nccl) +INCLUDE_DIRECTORIES(${NCCL_SOURCE_DIR}/src/extern_nccl/src) if(WITH_DSO) diff --git a/paddle/operators/conv2dtranspose_op.h b/paddle/operators/conv2dtranspose_op.h index 293b7ce9ba9454e50ca14eb947de293de0bb56ff..8c70b3dcec1e26ab3d8a42d88040764c643b5ae6 100644 --- a/paddle/operators/conv2dtranspose_op.h +++ b/paddle/operators/conv2dtranspose_op.h @@ -120,7 +120,7 @@ class GemmConv2DTransposeKernel : public framework::OpKernel { math::matmul(context.device_context(), filter, true, input_batch, false, T(1.0), &col_matrix, T(0.0)); col2im(context.device_context(), output_batch, col, strides[0], - strides[1], 0, 0); + strides[1], 0, 0, 0, 0); } } }; @@ -206,7 +206,7 @@ class GemmConv2DTransposeGradKernel : public framework::OpKernel { // im2col: dy from (c, o_h, o_w) -> (c * k_h * k_w, h * w) im2col(context.device_context(), output_grad_batch, col, strides[0], - strides[1], paddings[0], paddings[1]); + strides[1], paddings[0], paddings[0], paddings[1], paddings[1]); // gemm: dx = filter * dy // (m, c * k_h * k_w) * (c * k_h * k_w, h * w) -> (m, c, h) @@ -238,7 +238,7 @@ class GemmConv2DTransposeGradKernel : public framework::OpKernel { // im2col: (c * h * w, k_h * k_w) im2col(context.device_context(), output_grad_batch, col, strides[0], - strides[1], paddings[0], paddings[1]); + strides[1], paddings[0], paddings[0], paddings[1], paddings[1]); // gemm: d_filter = x * y_grad^T // (m, c * h * w) * (k_h * k_w, c * h * w) -> (m, c, h) diff --git a/python/paddle/v2/parameters.py b/python/paddle/v2/parameters.py index d0b5ff12f2748909745294d4ba96888f2baf2b8d..bd97dc1199fedc8ac91c1c6086957e8cce88bdc4 100644 --- a/python/paddle/v2/parameters.py +++ b/python/paddle/v2/parameters.py @@ -326,6 +326,17 @@ class Parameters(object): self.set(name, arr.reshape(self.get_shape(name))) def to_tar(self, f): + """ + Save parameters to a tar file. + + WARNING: You should use `paddle.v2.trainer.SGD.save_parameter_to_tar(f)` + to save parameters most of the time. Otherwise, some settings such + as model average will not take effect. + + :param f: + :type f: file + :return: + """ tar = tarfile.TarFile(fileobj=f, mode='w') for nm in self.names(): buf = cStringIO.StringIO()