コード例 #1
0
int main(){
  tnn_param p, io;
  tnn_state in, out, *s;
  tnn_module m;
  int i;

  printf("Initializing state in: %s\n", TEST_FUNC(tnn_state_init(&in, A)));
  printf("Initializing state out: %s\n", TEST_FUNC(tnn_state_init(&out, B)));
  printf("Initializing paramter p: %s\n", TEST_FUNC(tnn_param_init(&p)));
  printf("Initializing paramter io: %s\n", TEST_FUNC(tnn_param_init(&io)));
  printf("Allocating state in: %s\n", TEST_FUNC(tnn_param_state_alloc(&io, &in)));
  printf("Allocating state out: %s\n", TEST_FUNC(tnn_param_state_alloc(&io, &out)));
  printf("Initializing module m: %s\n", TEST_FUNC(tnn_module_init_sum(&m, &in, &out, &io)));
  printf("Debugging module m: %s\n", TEST_FUNC(tnn_module_debug(&m)));

  printf("Setting input\n");
  for(i = 0; i < in.size; i = i + 1){
    gsl_vector_set(&in.x, i, (double)(C+i));
  }

  printf("Setting output\n");
  for(i = 0; i < out.size; i = i + 1){
    gsl_vector_set(&out.dx, i, 2.0*(double)(D+i));
  }

  printf("Radomizing weights using polymorphic call: %s\n", TEST_FUNC(tnn_module_randomize(&m, 1.0)));
  printf("Debugging module m: %s\n", TEST_FUNC(tnn_module_debug(&m)));

  printf("Executing fprop using polymorphic call: %s\n", TEST_FUNC(tnn_module_fprop(&m)));
  printf("Debugging module m: %s\n", TEST_FUNC(tnn_module_debug(&m)));

  printf("Executing bprop using polymorphic call: %s\n", TEST_FUNC(tnn_module_bprop(&m)));
  printf("Debugging module m: %s\n", TEST_FUNC(tnn_module_debug(&m)));

  for(i = 0; i < A/B; i = i + 1){
    printf("Executing get: %s\n", TEST_FUNC(tnn_module_sum_get(&m, &s, i)));
    printf("Debugging s: %s\n", TEST_FUNC(tnn_state_debug(s)));
  }

  printf("Debugging parameter p: %s\n", TEST_FUNC(tnn_param_debug(&p)));
  printf("Debugging parameter io: %s\n", TEST_FUNC(tnn_param_debug(&io)));

  printf("Destroying paramter p: %s\n", TEST_FUNC(tnn_param_destroy(&p)));
  printf("Destroying paramter io: %s\n", TEST_FUNC(tnn_param_destroy(&io)));
  printf("Destroy module m using polymorphic call: %s\n", TEST_FUNC(tnn_module_destroy(&m)));
  printf("Debugging module m: %s\n", TEST_FUNC(tnn_module_debug(&m)));
  
  return 0;
}
コード例 #2
0
int main(){
  tnn_state s[N];
  tnn_state t, u, v;
  tnn_param p;
  tnn_state *sp;
  int i,j;

  //Initialize all the states
  for(i = 0; i < N; i = i + 1){
    printf("Initializing state %d: %s\n", i, TEST_FUNC(tnn_state_init(&s[i], i + M)));
    printf("Initialized state %d to be size %d, valid %d.\n", i, s[i].size, s[i].valid);
  }

  //Initialize the parameter
  printf("Initializing parameter: %s\n", TEST_FUNC(tnn_param_init(&p)));
  tnn_param_debug(&p);

  //Allocate states in the paramter
  for(i = 0; i < N; i = i + 1){
    printf("Allocating state %d: %s\n", i, TEST_FUNC(tnn_param_state_alloc(&p, &s[i])));
    printf("Allocated state %d to be valid %d, vector owner %d.\n", i, s[i].valid, s[i].x.owner);
    tnn_param_debug(&p);
  }

  //Initialize the values in the vector
  for(i = 0; i < p.x->size; i = i + 1){
    gsl_vector_set(p.x, i, i + A);
    gsl_vector_set(p.dx, i, i + B);
  }
  tnn_param_debug(&p);

  //Initialize values for t using calloc
  printf("Initializing state t: %s\n", TEST_FUNC(tnn_state_init(&t, I)));
  printf("Initialized state t to be size %d, valid %d.\n", t.size, t.valid);
  printf("Allocating state t: %s\n", TEST_FUNC(tnn_param_state_calloc(&p, &t)));
  printf("Allocated state t to be valid %d, vector owner %d.\n", t.valid, t.x.owner);
  tnn_param_debug(&p);

  printf("Initializing state u: %s\n", TEST_FUNC(tnn_state_init(&u, J)));
  printf("Getting subvector u: %s\n", TEST_FUNC(tnn_param_state_sub(&p, &s[N-1], &u, 1)));
  tnn_param_debug(&p);

  printf("Initializing state v: %s\n", TEST_FUNC(tnn_state_init(&v, s[N-1].size)));
  tnn_state_debug(&v);
  printf("Allocating state v: %s\n", TEST_FUNC(tnn_param_state_calloc(&p, &v)));
  printf("Copying s to v: %s\n", TEST_FUNC(tnn_state_copy(&s[N-1],&v)));
  tnn_state_debug(&v);
  tnn_param_debug(&p);

  //Destroy the parameter
  printf("Destroying the paramter: %s.\n", TEST_FUNC(tnn_param_destroy(&p)));
  printf("Destroyed paramter x = %d, dx = %d, states = %d, size = %d.\n", p.x, p.dx, p.states, p.size);
  for(i = 0; i < N; i = i + 1){
    printf("Destroyed state %d, valid: %d\n", i, s[i].valid);
  }
  printf("Destroyed state t, valid: %d\n", t.valid);
  printf("Destroyed state u, valid: %d\n", u.valid);
  tnn_param_debug(&p);

  //Delete paramter experiment
  printf("Initializing paramter: %s\n", TEST_FUNC(tnn_param_init(&p)));
  for(i = 0; i < N; i = i + 1){
    sp = (tnn_state *) malloc(sizeof(tnn_state));
    printf("Initializing sp %p: %s\n", sp, TEST_FUNC(tnn_state_init(sp,A+i)));
    printf("Allocating sp %p: %s\n", sp, TEST_FUNC(tnn_param_state_calloc(&p, sp)));
  }
  printf("Debugging paramter: %s\n", TEST_FUNC(tnn_param_debug(&p)));
  printf("Free paramter: %s\n", TEST_FUNC(tnn_param_free(&p)));
  printf("Debugging paramter: %s\n", TEST_FUNC(tnn_param_debug(&p)));
}
コード例 #3
0
int main(){
  tnn_param p, q, io, oi;
  tnn_state in, out;
  tnn_module m, l;
  int i;
  tnn_pstable t;

  srand(time(NULL));

  printf("Initializing state in: %s\n", TEST_FUNC(tnn_state_init(&in, A)));
  printf("Initializing state out: %s\n", TEST_FUNC(tnn_state_init(&out, B)));
  printf("Initializing paramter p: %s\n", TEST_FUNC(tnn_param_init(&p)));
  printf("Initializing paramter io: %s\n", TEST_FUNC(tnn_param_init(&io)));
  printf("Allocating state in: %s\n", TEST_FUNC(tnn_param_state_alloc(&io, &in)));
  printf("Allocating state out: %s\n", TEST_FUNC(tnn_param_state_alloc(&io, &out)));
  printf("Allocating state out again: %s\n", TEST_FUNC(tnn_param_state_alloc(&io, &out)));
  printf("Initializing module m: %s\n", TEST_FUNC(tnn_module_init_linear(&m, &in, &out, &p)));
  printf("Initialized module t = %ld, c = %ld, w.size = %d, input = %ld, output = %ld, bprop = %ld, fprop = %ld, randomize = %ld, destroy = %ld\n",
	 (long)m.t, (long)m.c, (int)m.w.size, (long)m.input, (long)m.output, (long)m.bprop, (long)m.fprop, (long)m.randomize, (long)m.destroy);

  printf("Setting input\n");
  for(i = 0; i < in.size; i = i + 1){
    gsl_vector_set(&in.x, i, (double)(C+i));
  }
  printf("Debugging using polymorphic call: %s\n", TEST_FUNC(tnn_module_debug(&m)));

  printf("Setting output\n");
  for(i = 0; i < out.size; i = i + 1){
    gsl_vector_set(&out.dx, i, E + (double)i/10.0);
  }
  printf("Debugging using polymorphic call: %s\n", TEST_FUNC(tnn_module_debug(&m)));

  printf("Radomizing weights using polymorphic call: %s\n", TEST_FUNC(tnn_module_randomize(&m, 1.0)));
  printState(&m.w);
  printf("Executing fprop using polymorphic call: %s\n", TEST_FUNC(tnn_module_fprop(&m)));
  printState(&out);
  printf("Executing bprop using polymorphic call: %s\n", TEST_FUNC(tnn_module_bprop(&m)));
  printf("Debugging using polymorphic call: %s\n", TEST_FUNC(tnn_module_debug(&m)));

  //Cloning test
  printf("Initializing parameter q: %s\n", TEST_FUNC(tnn_param_init(&q)));
  printf("Initializing parameter oi: %s\n", TEST_FUNC(tnn_param_init(&oi)));
  printf("Initializing pstable t: %s\n", TEST_FUNC(tnn_pstable_init(&t)));
  printf("Constructing t with oi from io: %s\n", TEST_FUNC(tnn_pstable_param_alloc(&t, &io, &oi)));
  printf("Debugging pstable t: %s\n", TEST_FUNC(tnn_pstable_debug(&t)));
  printf("Debugging paramter oi: %s\n", TEST_FUNC(tnn_param_debug(&oi)));
  printf("Cloning m to l: %s\n", TEST_FUNC(tnn_module_clone(&m,&l,&q, &t)));
  printf("Debugging l: %s\n", TEST_FUNC(tnn_module_debug(&l)));
  printf("Radomizing weights using polymorphic call: %s\n", TEST_FUNC(tnn_module_randomize(&l, 1.0)));
  printf("Executing fprop using polymorphic call: %s\n", TEST_FUNC(tnn_module_fprop(&l)));
  printf("Executing bprop using polymorphic call: %s\n", TEST_FUNC(tnn_module_bprop(&l)));
  printf("Debugging l: %s\n", TEST_FUNC(tnn_module_debug(&l)));

  printf("Freeing paramter oi: %s\n", TEST_FUNC(tnn_param_free(&oi)));
  printf("Destroying paramter q: %s\n", TEST_FUNC(tnn_param_destroy(&q)));
  printf("Destroying pstable t: %s\n", TEST_FUNC(tnn_pstable_destroy(&t)));

  printf("Destroying paramter p: %s\n", TEST_FUNC(tnn_param_destroy(&p)));
  printf("Destroying paramter io: %s\n", TEST_FUNC(tnn_param_destroy(&io)));
  printf("Radomizing weights using polymorphic call: %s\n", TEST_FUNC(tnn_module_randomize(&m, 1.0)));
  printf("Executing fprop using polymorphic call: %s\n", TEST_FUNC(tnn_module_fprop(&m)));
  printf("Executing bprop using polymorphic call: %s\n", TEST_FUNC(tnn_module_bprop(&m)));
  printf("Destroy module m using polymorphic call: %s\n", TEST_FUNC(tnn_module_destroy(&m)));
  return 0;
}
コード例 #4
0
int main(){
  int i;
  size_t l;
  tnn_state *key;
  tnn_state *s;
  tnn_param p,q;
  tnn_pstable t,tp;

  printf("Initializing t: %s\n", TEST_FUNC(tnn_pstable_init(&t)));

  //Adding dummy variables
  key = (tnn_state *)A;
  s = (tnn_state *)B;
  for(i = 0; i < 4; i = i + 1){
    printf("Inserting key=%p, s=%p: %s\n", key, s, TEST_FUNC(tnn_pstable_add(&t, key, s)));
    key = key + 1;
    s = s - 1;
  }
  key = key - 1;
  s = s + 1;
  printf("Inserting key=%p, s=%p: %s\n", key, s, TEST_FUNC(tnn_pstable_add(&t, key, s)));

  //Debug
  printf("Debugging t: %s\n", TEST_FUNC(tnn_pstable_debug(&t)));

  //Delete a key
  key = (tnn_state *)A;
  key = key + C;
  printf("Deleting key=%p: %s\n", key, TEST_FUNC(tnn_pstable_delete(&t, key)));
  printf("Debugging t: %s\n", TEST_FUNC(tnn_pstable_debug(&t)));
  key = (tnn_state *)A;
  key = key - D;
  printf("Deleting key=%p: %s\n", key, TEST_FUNC(tnn_pstable_delete(&t, key)));
  printf("Debugging t: %s\n", TEST_FUNC(tnn_pstable_debug(&t)));

  //Find a key
  key = (tnn_state *)A;
  key = key + E;
  printf("Finding key=%p, s=%p: %s\n", key, s, TEST_FUNC(tnn_pstable_find(&t, key, &s)));
  key = (tnn_state *)A;
  key = key + C;
  printf("Finding key=%p, s=%p: %s\n", key, s, TEST_FUNC(tnn_pstable_find(&t, key, &s)));

  //Get the length
  printf("Getting the length=%ld: %s\n", l, TEST_FUNC(tnn_pstable_get_length(&t, &l)));

  //Destroy the table
  printf("Destroying t: %s\n", TEST_FUNC(tnn_pstable_destroy(&t)));
  printf("Debugging t: %s\n", TEST_FUNC(tnn_pstable_debug(&t)));

  //Initialize the two paramters
  printf("Initializing p: %s\n", TEST_FUNC(tnn_param_init(&p)));
  printf("Initializing q: %s\n", TEST_FUNC(tnn_param_init(&q)));

  //Allocating states in q
  for(i = 0; i < N; i = i + 1){
    s = (tnn_state *) malloc(sizeof(tnn_state));
    printf("Initializing s %d: %s\n", i, TEST_FUNC(tnn_state_init(s,i+F)));
    printf("Allocating s in p: %s\n", TEST_FUNC(tnn_param_state_calloc(&p,s)));
  }
  printf("Debugging p: %s\n", TEST_FUNC(tnn_param_debug(&p)));
  printf("Initialize q: %s\n", TEST_FUNC(tnn_param_init(&q)));
  printf("Initialize tp: %s\n", TEST_FUNC(tnn_pstable_init(&tp)));
  printf("Copying p to q: %s\n", TEST_FUNC(tnn_pstable_param_alloc(&tp,&p,&q)));
  printf("Debugging tp: %s\n", TEST_FUNC(tnn_pstable_debug(&tp)));
  printf("Debugging q: %s\n", TEST_FUNC(tnn_param_debug(&q)));

  return 0;
}