swh:1:snp:f50ab94432af916b5fb8b4ad831e8dddded77084
Raw File
Tip revision: 3e912c87e72b08f16b47d1b5f1604e6caaa711f3 authored by Vadim Mazalov on 01 March 2019, 18:51:27 UTC
Remove context methods from sequences
Tip revision: 3e912c8
TestHelpers.h
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
//

#pragma once

#include "ComputationNode.h"
#include <vector>

namespace Microsoft { namespace MSR { namespace CNTK { namespace Test {

template <class ElemType>
bool AreEqual(const ElemType* a, const ElemType* b, const size_t count, const float threshold);

// Minimalistic version of input node used to avoid dependency to other nodes.
template <class ElemType>
class DummyNodeTest : public ComputationNode<ElemType>
{
public:
    typedef ComputationNode<ElemType> Base;

    UsingComputationNodeMembersBoilerplate;

    static const std::wstring TypeName();

    DummyNodeTest(DEVICEID_TYPE deviceId, size_t minibatchSize, SmallVector<size_t> sampleDimensions,
                  std::vector<ElemType>& data);

    DummyNodeTest(DEVICEID_TYPE deviceId, const wstring& name);

    virtual void /*ComputationNode::*/ ForwardProp(const FrameRange& /*fr*/) override
    {
    }

    virtual void /*ComputationNode::*/ BackpropTo(const size_t /*inputIndex*/, const FrameRange& /*fr*/) override
    {
    }

    Matrix<ElemType>& GetGradient();

    void SetMinibatch(size_t minibatchSize, SmallVector<size_t> sampleDimensions, std::vector<ElemType>& data);
};
} } } }
back to top