Skip to content

Commit

Permalink
Implement and Demo CNN (#40)
Browse files Browse the repository at this point in the history
* add more layr tests

* add dense build test

* implement pooling (without gradient)

* separate eteq config to type and operation sections and reuse operation

* enhanced slice and pad to apply across multiple dimensions

* implement gradient for pooling

* implement relu layer

* add convolutional nn demo

* fix funcarg and slice/convolution issues

* fix eteq ctests, support mac catalina, start moving training io to demos

* update rbm_trainer similar to sgd trainer

* update nodeconverters and improve rbmtrainer

* fix rbm

* reuse cd on dbn_trainer

* implement argmax for cnn_demo

* fix slice and stride maps

* optimize convolution gradient and conv2d

* cleanup
  • Loading branch information
raggledodo committed Oct 13, 2019
1 parent ab4afa4 commit 95d5dd6
Show file tree
Hide file tree
Showing 83 changed files with 3,386 additions and 3,171 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ High-level diagram available: https://drive.google.com/file/d/1PrsFa7Duj4Whlu_m0

## Components

- [TEQ (Tensor EQuations)](teq/README_ADE.md)
- [TEQ (Tensor EQuations)](teq/README_TEQ.md)

This module supplies syntax tree for equation and generates derivative.
Constraints to the equation is limited to each tensor's shape.

- [DBG (Debug)](eteq/README_DBG.md)
- [DBG (Debug)](dbg/README_DBG.md)

This module is contains debug libraries for TEQ Graphs.

- [ETEQ (Eigen TEQ)](eteq/README_EAD.md)
- [ETEQ (Eigen TEQ)](eteq/README_ETEQ.md)

This module is implements basic operations for Tenncor's TEQ Tensor objects generated through pybinder.
Additionally, ETEQ also defines data format and (de)serialization methods required by PBM.
Expand Down
7 changes: 2 additions & 5 deletions ccur/rtscale.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ int main (int argc, const char** argv)
auto var = eteq::make_constant_scalar<float>(
0.5, teq::Shape({56, 57, 58}));
auto f = eteq::make_functor<float>(op, {
eteq::slice_map(var, 2, 2, 2)});
eteq::slice_map(var, {{0,1234},{0,1234},{2,2}})});
TIME(f->update())
}
break;
Expand Down Expand Up @@ -168,7 +168,7 @@ int main (int argc, const char** argv)
auto var = eteq::make_constant_scalar<float>(
0.5, teq::Shape({56, 57, 58}));
auto f = eteq::make_functor<float>(op, {
eteq::pad_map(var, {3, 4}, 2)});
eteq::pad_map(var, {{0, 0}, {0, 0}, {3, 4}})});
TIME(f->update())
}
break;
Expand All @@ -190,9 +190,6 @@ int main (int argc, const char** argv)
TIME(f->update())
}
break;

case egen::CONV_IMG_GRAD:
case egen::CONV_KRN_GRAD:
default:
continue;
}
Expand Down
4 changes: 2 additions & 2 deletions cfg/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ package(

filegroup(
name = "eteq",
srcs = ["eteq.yml"],
srcs = ["eteq.yml", "fulltype.yml"],
)

filegroup(
name = "eteq_min",
srcs = ["eteq_min.yml"],
srcs = ["eteq.yml", "mintype.yml"],
)

filegroup(
Expand Down
Loading

0 comments on commit 95d5dd6

Please sign in to comment.