Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marian-nmt/marian.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcin Junczys-Dowmunt <junczys@amu.edu.pl>2016-05-04 02:05:20 +0300
committerMarcin Junczys-Dowmunt <junczys@amu.edu.pl>2016-05-04 02:05:20 +0300
commitc084ecd76c092c4d5222077ef283617d9015c14d (patch)
tree55951e00ca0f6035f9d2723afdf57a94381e5597 /src
parent9bf70850cff4754eaf5771cb24e7fe78ec3a78f9 (diff)
more loops
Diffstat (limited to 'src')
-rw-r--r--src/test.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/test.cpp b/src/test.cpp
index 9c47f730..5cce1114 100644
--- a/src/test.cpp
+++ b/src/test.cpp
@@ -3,14 +3,16 @@
#include "marian.h"
-marian::Var layer(size_t max) {
-
- using namespace marian;
-
+using namespace marian;
+
+Var layer(size_t max, std::vector<Var>& x) {
Var x0 = 1, x1 = 2, x2 = 3;
+ x = { x0, x1, x2 };
+
Var y = 0.0;
for(int i = 0; i < max; i++) {
Var xi = i;
+ x.push_back(xi);
y = y + x0 + log(x2) + x1;
for(int j = 0; j < i; ++j) {
y = y + xi;
@@ -22,11 +24,10 @@ marian::Var layer(size_t max) {
int main(int argc, char** argv) {
srand(time(NULL));
-
- using namespace marian;
-
- Var y1 = layer(10);
- Var y2 = layer(rand() % 20 + 1);
+
+ std::vector<Var> x1, x2;
+ Var y1 = layer(10, x1);
+ Var y2 = layer(rand() % 20 + 1, x2);
Var y = y1 + log(y2);
@@ -40,4 +41,9 @@ int main(int argc, char** argv) {
std::cerr << "dy/dy1 = " << y1.grad() << std::endl;
std::cerr << "dy/dy2 = " << y2.grad() << std::endl;
+ for(size_t i = 0; i < x1.size(); ++i)
+ std::cerr << "dy/dx1_" << i << " = " << x1[i].grad() << std::endl;
+ for(size_t i = 0; i < x2.size(); ++i)
+ std::cerr << "dy/dx2_" << i << " = " << x2[i].grad() << std::endl;
+
} \ No newline at end of file