mirror of
https://github.com/marian-nmt/marian.git
synced 2024-09-17 09:47:34 +03:00
test nodes
This commit is contained in:
parent
ebbc148cc6
commit
add31dea47
@ -17,7 +17,7 @@
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.nvidia.cuda.ide.seven_five.configuration.debug.1479727693" name="Debug" parent="com.nvidia.cuda.ide.seven_five.configuration.debug">
|
||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="com.nvidia.cuda.ide.seven_five.configuration.debug.1479727693" name="Debug" parent="com.nvidia.cuda.ide.seven_five.configuration.debug">
|
||||
<folderInfo id="com.nvidia.cuda.ide.seven_five.configuration.debug.1479727693." name="/" resourcePath="">
|
||||
<toolChain id="com.nvidia.cuda.tools.toolchain.seven_five.exe.debug.1735809242" name="CUDA Toolkit 8.0" superClass="com.nvidia.cuda.tools.toolchain.seven_five.exe.debug">
|
||||
<targetPlatform archList="all" binaryParser="com.nvidia.cuda.ide.elf;com.nvidia.cuda.ide.macho;com.nvidia.cuda.ide.cubin" id="com.nvidia.cuda.ide.targetPlatform.1814841241" isAbstract="false" name="Debug Platform" osList="linux,macosx" superClass="com.nvidia.cuda.ide.targetPlatform"/>
|
||||
@ -56,11 +56,11 @@
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<fileInfo id="com.nvidia.cuda.ide.seven_five.configuration.debug.1479727693.843925199" name="validate_mnist_batch.cu" rcbsApplicability="disable" resourcePath="src/validate_mnist_batch.cu" toolsToInvoke="nvcc.compiler.base.1979453423.378728796">
|
||||
<tool id="nvcc.compiler.base.1979453423.378728796" name="NVCC Compiler" superClass="nvcc.compiler.base.1979453423"/>
|
||||
<fileInfo id="com.nvidia.cuda.ide.seven_five.configuration.debug.1479727693.1303731853" name="test.cu" rcbsApplicability="disable" resourcePath="src/test.cu" toolsToInvoke="nvcc.compiler.base.1979453423.1311284147">
|
||||
<tool id="nvcc.compiler.base.1979453423.1311284147" name="NVCC Compiler" superClass="nvcc.compiler.base.1979453423"/>
|
||||
</fileInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="src/validate_mnist_batch.cu|src/train_mnist.cu|src/validate_mnist.cu|src/npz_converter.cpp" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
<entry excluding="src/test.cu|src/validate_mnist_batch.cu|src/train_mnist.cu|src/validate_mnist.cu|src/npz_converter.cpp" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
@ -143,10 +143,10 @@
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="Debug">
|
||||
<configuration configurationName="Release">
|
||||
<resource resourceType="PROJECT" workspacePath="/marian"/>
|
||||
</configuration>
|
||||
<configuration configurationName="Release">
|
||||
<configuration configurationName="Debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/marian"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
|
@ -18,8 +18,6 @@ cuda_add_executable(
|
||||
test.cu
|
||||
)
|
||||
|
||||
target_link_libraries(marian marian_lib)
|
||||
|
||||
cuda_add_executable(
|
||||
mnist_benchmark
|
||||
mnist_benchmark.cu
|
||||
@ -35,11 +33,18 @@ cuda_add_executable(
|
||||
validate_encoder_decoder.cu
|
||||
)
|
||||
|
||||
cuda_add_executable(
|
||||
test_nodes
|
||||
test_nodes.cu
|
||||
)
|
||||
|
||||
target_link_libraries(marian marian_lib)
|
||||
target_link_libraries(mnist_benchmark marian_lib)
|
||||
target_link_libraries(validate_mnist_batch marian_lib)
|
||||
target_link_libraries(validate_encoder_decoder marian_lib)
|
||||
target_link_libraries(test_nodes marian_lib)
|
||||
|
||||
foreach(exec marian mnist_benchmark validate_mnist_batch validate_encoder_decoder)
|
||||
foreach(exec marian mnist_benchmark validate_mnist_batch validate_encoder_decoder test_nodes)
|
||||
target_link_libraries(${exec} ${EXT_LIBS} cuda cudnn)
|
||||
cuda_add_cublas_to_target(${exec})
|
||||
set_target_properties(${exec} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
|
||||
|
@ -106,7 +106,7 @@ int main(int argc, char** argv) {
|
||||
Yp.emplace_back(softmax(dot(H[t], Why) + by));
|
||||
cross_entropy = cross_entropy + sum(Y[t] * log(Yp[t]), axis=1);
|
||||
}
|
||||
auto graph = -mean(cross_entropy, axis=0, name="cost");
|
||||
Expr graph = -mean(cross_entropy, axis=0, name="cost");
|
||||
|
||||
for (int t = 0; t < num_inputs; ++t) {
|
||||
Tensor Xt({batch_size, input_size});
|
||||
|
47
src/test_nodes.cu
Normal file
47
src/test_nodes.cu
Normal file
@ -0,0 +1,47 @@
|
||||
#include <vector>
|
||||
#include <random>
|
||||
#include "marian.h"
|
||||
#include "expression_graph.h"
|
||||
#include "keywords.h"
|
||||
#include "definitions.h"
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
using namespace std;
|
||||
using namespace marian;
|
||||
using namespace keywords;
|
||||
|
||||
int input_size = 10;
|
||||
int batch_size = 25;
|
||||
|
||||
// define graph
|
||||
ExpressionGraph g;
|
||||
Expr inputExpr = g.input(shape={batch_size, input_size});
|
||||
|
||||
// create data
|
||||
random_device rnd_device;
|
||||
mt19937 mersenne_engine(rnd_device());
|
||||
uniform_real_distribution<float> dist(1, 52);
|
||||
auto gen = std::bind(dist, mersenne_engine);
|
||||
|
||||
std::vector<float> values(batch_size * input_size);
|
||||
generate(begin(values), end(values), gen);
|
||||
|
||||
|
||||
Tensor inputTensor({batch_size, input_size});
|
||||
thrust::copy(values.begin(), values.end(), inputTensor.begin());
|
||||
|
||||
inputExpr = inputTensor;
|
||||
Expr softMaxExpr = softmax(inputExpr);
|
||||
|
||||
g.forward(batch_size);
|
||||
g.backward();
|
||||
|
||||
std::cout << g.graphviz() << std::endl;
|
||||
|
||||
std::cerr << "inputTensor=" << inputTensor.Debug() << std::endl;
|
||||
|
||||
Tensor softMaxTensor = softMaxExpr.val();
|
||||
std::cerr << "softMaxTensor=" << softMaxTensor.Debug() << std::endl;
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user