alpindale commited on
Commit
bcec41a
·
verified ·
1 Parent(s): 5f2c26f

Upload 3 files

Browse files
Files changed (3) hide show
  1. lexnet.c +1 -1
  2. lexnet_kernel.h +7 -3
  3. lexnet_weights.bin +3 -0
lexnet.c CHANGED
@@ -80,7 +80,7 @@ static Net load(const char *path) {
80
  if (fread(blob, 1, n, f) != n) { perror(path); exit(1); }
81
  fclose(f);
82
  Cursor c = { blob, blob + n };
83
- if (memcmp(take(&c, 8), "lexnetW001", 8)) { fprintf(stderr, "%s: not a lexnetW001 file\n", path); exit(1); }
84
  Net net = {0};
85
  net.n_feats = take_i64(&c); net.n_fstate = take_i64(&c); net.n_fout = take_i64(&c);
86
  net.n_bstate = take_i64(&c); net.n_classes = take_i64(&c); net.head_cols = take_i64(&c);
 
80
  if (fread(blob, 1, n, f) != n) { perror(path); exit(1); }
81
  fclose(f);
82
  Cursor c = { blob, blob + n };
83
+ if (memcmp(take(&c, 8), "LEXNET01", 8)) { fprintf(stderr, "%s: not a LEXNET01 weight file\n", path); exit(1); }
84
  Net net = {0};
85
  net.n_feats = take_i64(&c); net.n_fstate = take_i64(&c); net.n_fout = take_i64(&c);
86
  net.n_bstate = take_i64(&c); net.n_classes = take_i64(&c); net.head_cols = take_i64(&c);
lexnet_kernel.h CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
  #include <stdint.h>
2
 
3
  #define K_STRUCT_HASH 0xA4E83D2A77498B78ULL
@@ -16,7 +20,7 @@ typedef struct { double W, copen2, lps, kwc, tyc, cst, fnc; } BState;
16
  /* initial forward state is h0 from the weight file, in FSTATE order */
17
  static inline void k_init_state(FState *s, const double *h0) { memcpy(s, h0, sizeof *s); }
18
 
19
- /* character features x, previous state p -> new state s,
20
  * plus the 15 bits the backward pass needs, packed into a uint16. */
21
  static inline uint16_t k_fwd_step(const double *restrict kc, const double *restrict kb,
22
  const double *restrict x, const FState *restrict p, FState *restrict s) {
@@ -101,7 +105,7 @@ static inline uint16_t k_fwd_step(const double *restrict kc, const double *restr
101
  return (uint16_t)(((uint16_t)(u_C != 0.0) << 0) | ((uint16_t)(u_L != 0.0) << 1) | ((uint16_t)(u_S != 0.0) << 2) | ((uint16_t)(u_Q != 0.0) << 3) | ((uint16_t)(u_P != 0.0) << 4) | ((uint16_t)(u_W != 0.0) << 5) | ((uint16_t)(u_N != 0.0) << 6) | ((uint16_t)(u_KW != 0.0) << 7) | ((uint16_t)(u_TY != 0.0) << 8) | ((uint16_t)(u_CONST != 0.0) << 9) | ((uint16_t)(u_copen2 != 0.0) << 10) | ((uint16_t)(x[9] != 0.0) << 11) | ((uint16_t)(x[4] != 0.0) << 12) | ((uint16_t)(x[5] != 0.0) << 13) | ((uint16_t)(x[12] != 0.0) << 14));
102
  }
103
 
104
- /* forward bits + right-neighbour state r -> new state s, class id. */
105
  static inline int k_bwd_step(const double *restrict kc, const double *restrict kb,
106
  uint16_t bits, const BState *restrict r, BState *restrict s) {
107
  const double f_C = (double)((bits >> 0) & 1);
@@ -157,7 +161,7 @@ static inline int k_bwd_step(const double *restrict kc, const double *restrict k
157
  return best;
158
  }
159
 
160
- /* each kc[i] / kb[i] comes from {cell (0 fwd, 1 bwd, 2 head), layer, row, col} */
161
  static const int32_t K_COEF[K_N_COEF][4] = {
162
  {0,0,0,14},{0,0,0,22},{0,0,1,15},{0,0,1,5},{0,0,2,16},{0,0,2,23},{0,0,2,5},{0,0,3,17},{0,0,3,24},{0,0,3,5},{0,0,4,18},{0,0,4,5},{0,0,4,26},{0,0,5,10},{0,0,5,20},{0,0,6,9},{0,0,6,20},{0,0,7,9},{0,0,7,21},{0,0,8,5},{0,0,8,25},{0,0,8,4},{0,0,9,27},{0,0,9,2},{0,0,10,0},{0,0,10,28},{0,0,11,28},{0,0,11,1},{0,0,12,29},{0,0,12,27},{0,0,13,29},{0,0,13,27},{0,0,14,27},{0,0,14,29},{0,0,15,27},{0,0,15,29},{0,1,0,5},{0,1,0,0},{0,1,1,6},{0,1,1,1},{0,1,2,5},{0,1,2,6},{0,1,3,20},{0,1,3,0},{0,1,3,1},{0,1,3,2},{0,1,3,3},{0,1,4,21},{0,1,4,0},{0,1,4,1},{0,1,4,2},{0,1,4,3},{0,1,5,25},{0,1,5,29},{0,1,5,0},{0,1,5,1},{0,1,5,2},{0,1,5,3},{0,1,5,4},{0,1,6,2},{0,1,6,20},{0,1,6,28},{0,1,7,3},{0,1,7,21},{0,1,7,28},{0,1,8,2},{0,1,8,3},{0,1,8,22},{0,1,8,28},{0,1,9,24},{0,1,9,0},{0,1,10,23},{0,1,10,0},{0,1,10,1},{0,1,10,2},{0,1,10,3},{0,1,10,6},{0,1,11,4},{0,1,11,22},{0,1,12,9},{0,1,12,10},{0,1,12,0},{0,1,12,1},{0,1,12,2},{0,1,12,3},{0,1,13,17},{0,1,13,11},{0,1,13,9},{0,1,13,10},{0,1,13,0},{0,1,13,1},{0,1,13,2},{0,1,13,3},{0,1,14,31},{0,1,14,30},{0,1,14,16},{0,1,14,13},{0,1,15,27},{0,1,15,13},{0,1,16,31},{0,1,16,13},{0,1,17,32},{0,1,17,16},{0,1,17,14},{0,1,17,15},{0,1,18,27},{0,1,18,14},{0,1,18,15},{0,1,19,32},{0,1,19,14},{0,1,19,15},{0,1,19,30},{0,2,0,14},{0,2,0,15},{0,2,0,16},{0,2,1,17},{0,2,1,18},{0,2,1,19},{0,3,12,0},{0,3,24,0},{0,3,20,0},{0,3,94,0},{0,3,160,0},{0,3,0,0},{0,3,106,0},{0,3,4,0},{0,3,88,0},{0,3,14,0},{0,3,16,0},{0,3,22,0},{0,3,96,0},{0,3,156,0},{0,3,104,0},{0,3,148,0},{0,3,152,0},{0,3,2,0},{0,3,6,0},{0,3,158,0},{0,3,92,0},{0,3,128,0},{0,3,130,0},{0,3,98,0},{0,3,44,0},{0,3,48,0},{0,3,108,0},{0,3,90,0},{0,3,18,0},{0,3,26,0},{0,3,132,0},{0,3,32,0},{0,3,100,0},{0,3,34,0},{0,3,112,0},{0,3,36,0},{0,3,38,0},{0,3,40,0},{0,3,126,0},{0,3,86,0},{0,3,70,0},{0,3,72,0},{0,3,10,0},{0,3,134,0},{0,3,136,0},{0,3,138,0},{0,3,154,0},{0,3,114,0},{0,3,42,0},{0,3,140,0},{0,3,150,0},{0,3,124,0},{0,3,54,0},{0,3,74,0},{0,3,8,0},{0,3,120,0},{0,3,116,0},{0,3,28,0},{0,3,30,0},{0,3,78,0},{0,3,82,0},{0,3,122,0},{0,3,142,0},{0,3,144,0},{0,3,146,0},{0,3,102,0},{0,3,46,0},{0,3,50,0},{0,3,52,0},{0,3,110,0},{0,3,56,0},{0,3,58,0},{0,3,62,0},{0,3,66,0},{0,3,13,0},{0,3,25,0},{0,3,21,0},{0,3,95,0},{0,3,161,0},{0,3,1,0},{0,3,107,0},{0,3,5,0},{0,3,89,0},{0,3,15,0},{0,3,17,0},{0,3,23,0},{0,3,97,0},{0,3,157,0},{0,3,105,0},{0,3,149,0},{0,3,153,0},{0,3,3,0},{0,3,7,0},{0,3,159,0},{0,3,93,0},{0,3,129,0},{0,3,131,0},{0,3,99,0},{0,3,45,0},{0,3,49,0},{0,3,109,0},{0,3,91,0},{0,3,19,0},{0,3,27,0},{0,3,133,0},{0,3,33,0},{0,3,101,0},{0,3,35,0},{0,3,113,0},{0,3,37,0},{0,3,39,0},{0,3,41,0},{0,3,127,0},{0,3,87,0},{0,3,71,0},{0,3,73,0},{0,3,11,0},{0,3,135,0},{0,3,137,0},{0,3,139,0},{0,3,155,0},{0,3,115,0},{0,3,43,0},{0,3,141,0},{0,3,151,0},{0,3,125,0},{0,3,55,0},{0,3,75,0},{0,3,9,0},{0,3,121,0},{0,3,117,0},{0,3,29,0},{0,3,31,0},{0,3,79,0},{0,3,83,0},{0,3,123,0},{0,3,143,0},{0,3,145,0},{0,3,147,0},{0,3,103,0},{0,3,47,0},{0,3,51,0},{0,3,53,0},{0,3,111,0},{0,3,57,0},{0,3,59,0},{0,3,63,0},{0,3,67,0},{0,3,60,1},{0,3,76,1},{0,3,118,1},{0,3,84,1},{0,3,68,1},{0,3,80,1},{0,3,64,1},{0,3,61,1},{0,3,77,1},{0,3,119,1},{0,3,85,1},{0,3,69,1},{0,3,81,1},{0,3,65,1},{0,4,0,163},{0,4,0,12},{0,4,0,13},{0,4,0,24},{0,4,0,25},{0,4,0,20},{0,4,0,21},{0,4,0,0},{0,4,0,1},{0,4,0,4},{0,4,0,5},{0,4,0,14},{0,4,0,15},{0,4,0,16},{0,4,0,17},{0,4,0,22},{0,4,0,23},{0,4,0,2},{0,4,0,3},{0,4,0,6},{0,4,0,7},{0,4,0,44},{0,4,0,45},{0,4,0,48},{0,4,0,49},{0,4,0,18},{0,4,0,19},{0,4,0,26},{0,4,0,27},{0,4,0,32},{0,4,0,33},{0,4,0,34},{0,4,0,35},{0,4,0,36},{0,4,0,37},{0,4,0,38},{0,4,0,39},{0,4,0,40},{0,4,0,41},{0,4,0,86},{0,4,0,87},{0,4,0,70},{0,4,0,71},{0,4,0,72},{0,4,0,73},{0,4,0,10},{0,4,0,11},{0,4,0,42},{0,4,0,43},{0,4,0,54},{0,4,0,55},{0,4,0,8},{0,4,0,9},{0,4,0,28},{0,4,0,29},{0,4,0,30},{0,4,0,31},{0,4,0,46},{0,4,0,47},{0,4,0,50},{0,4,0,51},{0,4,0,52},{0,4,0,53},{0,4,0,56},{0,4,0,57},{0,4,1,58},{0,4,1,59},{0,4,1,60},{0,4,1,61},{0,4,2,62},{0,4,2,63},{0,4,2,64},{0,4,2,65},{0,4,3,66},{0,4,3,67},{0,4,3,68},{0,4,3,69},{0,4,4,74},{0,4,4,75},{0,4,4,76},{0,4,4,77},{0,4,5,78},{0,4,5,79},{0,4,5,80},{0,4,5,81},{0,4,6,82},{0,4,6,83},{0,4,6,84},{0,4,6,85},{0,5,0,0},{0,5,0,1},{0,5,0,2},{0,5,0,3},{0,5,0,4},{0,5,0,5},{0,5,0,6},{0,4,7,163},{0,4,7,94},{0,4,7,95},{0,4,7,106},{0,4,7,107},{0,4,7,88},{0,4,7,89},{0,4,7,96},{0,4,7,97},{0,4,7,104},{0,4,7,105},{0,4,7,148},{0,4,7,149},{0,4,7,92},{0,4,7,93},{0,4,7,128},{0,4,7,129},{0,4,7,130},{0,4,7,131},{0,4,7,98},{0,4,7,99},{0,4,7,108},{0,4,7,109},{0,4,7,90},{0,4,7,91},{0,4,7,132},{0,4,7,133},{0,4,7,100},{0,4,7,101},{0,4,7,112},{0,4,7,113},{0,4,7,126},{0,4,7,127},{0,4,7,134},{0,4,7,135},{0,4,7,136},{0,4,7,137},{0,4,7,138},{0,4,7,139},{0,4,7,114},{0,4,7,115},{0,4,7,140},{0,4,7,141},{0,4,7,150},{0,4,7,151},{0,4,7,124},{0,4,7,125},{0,4,7,120},{0,4,7,121},{0,4,7,142},{0,4,7,143},{0,4,7,144},{0,4,7,145},{0,4,7,146},{0,4,7,147},{0,4,7,102},{0,4,7,103},{0,4,7,110},{0,4,7,111},{0,4,8,116},{0,4,8,117},{0,4,8,118},{0,4,8,119},{0,4,9,122},{0,4,9,123},{0,4,9,118},{0,4,9,119},{0,5,1,7},{0,5,1,8},{0,5,1,9},{0,4,10,163},{0,4,10,160},{0,4,10,161},{0,4,10,156},{0,4,10,157},{0,4,10,152},{0,4,10,153},{0,4,10,158},{0,4,10,159},{0,4,10,154},{0,4,10,155},{0,5,2,10},{1,0,0,14},{1,0,0,12},{1,0,0,17},{1,0,1,0},{1,0,1,1},{1,0,1,11},{1,0,1,16},{1,0,2,5},{1,0,2,15},{1,0,2,7},{1,0,3,5},{1,0,3,15},{1,0,3,18},{1,0,4,5},{1,0,4,15},{1,0,4,8},{1,0,5,5},{1,0,5,15},{1,0,5,19},{1,0,6,5},{1,0,6,15},{1,0,6,9},{1,0,7,5},{1,0,7,15},{1,0,7,20},{1,0,8,5},{1,0,8,15},{1,0,8,17},{1,0,8,7},{1,0,8,8},{1,0,8,9},{1,0,9,5},{1,0,9,15},{1,0,9,21},{1,1,0,2},{1,1,0,3},{1,1,1,4},{1,1,1,5},{1,1,2,6},{1,1,2,7},{1,1,3,8},{1,1,3,9},{2,0,1,0},{2,0,2,1},{2,0,3,3},{2,0,4,9},{2,0,5,2},{2,0,5,10},{2,0,6,6},{2,0,7,7},{2,0,8,5},{2,0,9,8},{2,0,10,12},{2,0,10,13}
163
  };
 
1
+ /* Generated by codegen.py from cnet.py: the network's ARCHITECTURE compiled to C.
2
+ * No weight values live here. lexnet.c loads them from lexnet_weights.bin, gathers the
3
+ * ones this kernel references into kc[]/kb[] via K_COEF/K_BIAS, and checks that the
4
+ * file's structure hash equals K_STRUCT_HASH before running this kernel. */
5
  #include <stdint.h>
6
 
7
  #define K_STRUCT_HASH 0xA4E83D2A77498B78ULL
 
20
  /* initial forward state is h0 from the weight file, in FSTATE order */
21
  static inline void k_init_state(FState *s, const double *h0) { memcpy(s, h0, sizeof *s); }
22
 
23
+ /* One forward step: character features x, previous state p -> new state s,
24
  * plus the 15 bits the backward pass needs, packed into a uint16. */
25
  static inline uint16_t k_fwd_step(const double *restrict kc, const double *restrict kb,
26
  const double *restrict x, const FState *restrict p, FState *restrict s) {
 
105
  return (uint16_t)(((uint16_t)(u_C != 0.0) << 0) | ((uint16_t)(u_L != 0.0) << 1) | ((uint16_t)(u_S != 0.0) << 2) | ((uint16_t)(u_Q != 0.0) << 3) | ((uint16_t)(u_P != 0.0) << 4) | ((uint16_t)(u_W != 0.0) << 5) | ((uint16_t)(u_N != 0.0) << 6) | ((uint16_t)(u_KW != 0.0) << 7) | ((uint16_t)(u_TY != 0.0) << 8) | ((uint16_t)(u_CONST != 0.0) << 9) | ((uint16_t)(u_copen2 != 0.0) << 10) | ((uint16_t)(x[9] != 0.0) << 11) | ((uint16_t)(x[4] != 0.0) << 12) | ((uint16_t)(x[5] != 0.0) << 13) | ((uint16_t)(x[12] != 0.0) << 14));
106
  }
107
 
108
+ /* One backward step: forward bits + right-neighbour state r -> new state s, class id. */
109
  static inline int k_bwd_step(const double *restrict kc, const double *restrict kb,
110
  uint16_t bits, const BState *restrict r, BState *restrict s) {
111
  const double f_C = (double)((bits >> 0) & 1);
 
161
  return best;
162
  }
163
 
164
+ /* Where each kc[i] / kb[i] comes from: {cell (0 fwd, 1 bwd, 2 head), layer, row, col} */
165
  static const int32_t K_COEF[K_N_COEF][4] = {
166
  {0,0,0,14},{0,0,0,22},{0,0,1,15},{0,0,1,5},{0,0,2,16},{0,0,2,23},{0,0,2,5},{0,0,3,17},{0,0,3,24},{0,0,3,5},{0,0,4,18},{0,0,4,5},{0,0,4,26},{0,0,5,10},{0,0,5,20},{0,0,6,9},{0,0,6,20},{0,0,7,9},{0,0,7,21},{0,0,8,5},{0,0,8,25},{0,0,8,4},{0,0,9,27},{0,0,9,2},{0,0,10,0},{0,0,10,28},{0,0,11,28},{0,0,11,1},{0,0,12,29},{0,0,12,27},{0,0,13,29},{0,0,13,27},{0,0,14,27},{0,0,14,29},{0,0,15,27},{0,0,15,29},{0,1,0,5},{0,1,0,0},{0,1,1,6},{0,1,1,1},{0,1,2,5},{0,1,2,6},{0,1,3,20},{0,1,3,0},{0,1,3,1},{0,1,3,2},{0,1,3,3},{0,1,4,21},{0,1,4,0},{0,1,4,1},{0,1,4,2},{0,1,4,3},{0,1,5,25},{0,1,5,29},{0,1,5,0},{0,1,5,1},{0,1,5,2},{0,1,5,3},{0,1,5,4},{0,1,6,2},{0,1,6,20},{0,1,6,28},{0,1,7,3},{0,1,7,21},{0,1,7,28},{0,1,8,2},{0,1,8,3},{0,1,8,22},{0,1,8,28},{0,1,9,24},{0,1,9,0},{0,1,10,23},{0,1,10,0},{0,1,10,1},{0,1,10,2},{0,1,10,3},{0,1,10,6},{0,1,11,4},{0,1,11,22},{0,1,12,9},{0,1,12,10},{0,1,12,0},{0,1,12,1},{0,1,12,2},{0,1,12,3},{0,1,13,17},{0,1,13,11},{0,1,13,9},{0,1,13,10},{0,1,13,0},{0,1,13,1},{0,1,13,2},{0,1,13,3},{0,1,14,31},{0,1,14,30},{0,1,14,16},{0,1,14,13},{0,1,15,27},{0,1,15,13},{0,1,16,31},{0,1,16,13},{0,1,17,32},{0,1,17,16},{0,1,17,14},{0,1,17,15},{0,1,18,27},{0,1,18,14},{0,1,18,15},{0,1,19,32},{0,1,19,14},{0,1,19,15},{0,1,19,30},{0,2,0,14},{0,2,0,15},{0,2,0,16},{0,2,1,17},{0,2,1,18},{0,2,1,19},{0,3,12,0},{0,3,24,0},{0,3,20,0},{0,3,94,0},{0,3,160,0},{0,3,0,0},{0,3,106,0},{0,3,4,0},{0,3,88,0},{0,3,14,0},{0,3,16,0},{0,3,22,0},{0,3,96,0},{0,3,156,0},{0,3,104,0},{0,3,148,0},{0,3,152,0},{0,3,2,0},{0,3,6,0},{0,3,158,0},{0,3,92,0},{0,3,128,0},{0,3,130,0},{0,3,98,0},{0,3,44,0},{0,3,48,0},{0,3,108,0},{0,3,90,0},{0,3,18,0},{0,3,26,0},{0,3,132,0},{0,3,32,0},{0,3,100,0},{0,3,34,0},{0,3,112,0},{0,3,36,0},{0,3,38,0},{0,3,40,0},{0,3,126,0},{0,3,86,0},{0,3,70,0},{0,3,72,0},{0,3,10,0},{0,3,134,0},{0,3,136,0},{0,3,138,0},{0,3,154,0},{0,3,114,0},{0,3,42,0},{0,3,140,0},{0,3,150,0},{0,3,124,0},{0,3,54,0},{0,3,74,0},{0,3,8,0},{0,3,120,0},{0,3,116,0},{0,3,28,0},{0,3,30,0},{0,3,78,0},{0,3,82,0},{0,3,122,0},{0,3,142,0},{0,3,144,0},{0,3,146,0},{0,3,102,0},{0,3,46,0},{0,3,50,0},{0,3,52,0},{0,3,110,0},{0,3,56,0},{0,3,58,0},{0,3,62,0},{0,3,66,0},{0,3,13,0},{0,3,25,0},{0,3,21,0},{0,3,95,0},{0,3,161,0},{0,3,1,0},{0,3,107,0},{0,3,5,0},{0,3,89,0},{0,3,15,0},{0,3,17,0},{0,3,23,0},{0,3,97,0},{0,3,157,0},{0,3,105,0},{0,3,149,0},{0,3,153,0},{0,3,3,0},{0,3,7,0},{0,3,159,0},{0,3,93,0},{0,3,129,0},{0,3,131,0},{0,3,99,0},{0,3,45,0},{0,3,49,0},{0,3,109,0},{0,3,91,0},{0,3,19,0},{0,3,27,0},{0,3,133,0},{0,3,33,0},{0,3,101,0},{0,3,35,0},{0,3,113,0},{0,3,37,0},{0,3,39,0},{0,3,41,0},{0,3,127,0},{0,3,87,0},{0,3,71,0},{0,3,73,0},{0,3,11,0},{0,3,135,0},{0,3,137,0},{0,3,139,0},{0,3,155,0},{0,3,115,0},{0,3,43,0},{0,3,141,0},{0,3,151,0},{0,3,125,0},{0,3,55,0},{0,3,75,0},{0,3,9,0},{0,3,121,0},{0,3,117,0},{0,3,29,0},{0,3,31,0},{0,3,79,0},{0,3,83,0},{0,3,123,0},{0,3,143,0},{0,3,145,0},{0,3,147,0},{0,3,103,0},{0,3,47,0},{0,3,51,0},{0,3,53,0},{0,3,111,0},{0,3,57,0},{0,3,59,0},{0,3,63,0},{0,3,67,0},{0,3,60,1},{0,3,76,1},{0,3,118,1},{0,3,84,1},{0,3,68,1},{0,3,80,1},{0,3,64,1},{0,3,61,1},{0,3,77,1},{0,3,119,1},{0,3,85,1},{0,3,69,1},{0,3,81,1},{0,3,65,1},{0,4,0,163},{0,4,0,12},{0,4,0,13},{0,4,0,24},{0,4,0,25},{0,4,0,20},{0,4,0,21},{0,4,0,0},{0,4,0,1},{0,4,0,4},{0,4,0,5},{0,4,0,14},{0,4,0,15},{0,4,0,16},{0,4,0,17},{0,4,0,22},{0,4,0,23},{0,4,0,2},{0,4,0,3},{0,4,0,6},{0,4,0,7},{0,4,0,44},{0,4,0,45},{0,4,0,48},{0,4,0,49},{0,4,0,18},{0,4,0,19},{0,4,0,26},{0,4,0,27},{0,4,0,32},{0,4,0,33},{0,4,0,34},{0,4,0,35},{0,4,0,36},{0,4,0,37},{0,4,0,38},{0,4,0,39},{0,4,0,40},{0,4,0,41},{0,4,0,86},{0,4,0,87},{0,4,0,70},{0,4,0,71},{0,4,0,72},{0,4,0,73},{0,4,0,10},{0,4,0,11},{0,4,0,42},{0,4,0,43},{0,4,0,54},{0,4,0,55},{0,4,0,8},{0,4,0,9},{0,4,0,28},{0,4,0,29},{0,4,0,30},{0,4,0,31},{0,4,0,46},{0,4,0,47},{0,4,0,50},{0,4,0,51},{0,4,0,52},{0,4,0,53},{0,4,0,56},{0,4,0,57},{0,4,1,58},{0,4,1,59},{0,4,1,60},{0,4,1,61},{0,4,2,62},{0,4,2,63},{0,4,2,64},{0,4,2,65},{0,4,3,66},{0,4,3,67},{0,4,3,68},{0,4,3,69},{0,4,4,74},{0,4,4,75},{0,4,4,76},{0,4,4,77},{0,4,5,78},{0,4,5,79},{0,4,5,80},{0,4,5,81},{0,4,6,82},{0,4,6,83},{0,4,6,84},{0,4,6,85},{0,5,0,0},{0,5,0,1},{0,5,0,2},{0,5,0,3},{0,5,0,4},{0,5,0,5},{0,5,0,6},{0,4,7,163},{0,4,7,94},{0,4,7,95},{0,4,7,106},{0,4,7,107},{0,4,7,88},{0,4,7,89},{0,4,7,96},{0,4,7,97},{0,4,7,104},{0,4,7,105},{0,4,7,148},{0,4,7,149},{0,4,7,92},{0,4,7,93},{0,4,7,128},{0,4,7,129},{0,4,7,130},{0,4,7,131},{0,4,7,98},{0,4,7,99},{0,4,7,108},{0,4,7,109},{0,4,7,90},{0,4,7,91},{0,4,7,132},{0,4,7,133},{0,4,7,100},{0,4,7,101},{0,4,7,112},{0,4,7,113},{0,4,7,126},{0,4,7,127},{0,4,7,134},{0,4,7,135},{0,4,7,136},{0,4,7,137},{0,4,7,138},{0,4,7,139},{0,4,7,114},{0,4,7,115},{0,4,7,140},{0,4,7,141},{0,4,7,150},{0,4,7,151},{0,4,7,124},{0,4,7,125},{0,4,7,120},{0,4,7,121},{0,4,7,142},{0,4,7,143},{0,4,7,144},{0,4,7,145},{0,4,7,146},{0,4,7,147},{0,4,7,102},{0,4,7,103},{0,4,7,110},{0,4,7,111},{0,4,8,116},{0,4,8,117},{0,4,8,118},{0,4,8,119},{0,4,9,122},{0,4,9,123},{0,4,9,118},{0,4,9,119},{0,5,1,7},{0,5,1,8},{0,5,1,9},{0,4,10,163},{0,4,10,160},{0,4,10,161},{0,4,10,156},{0,4,10,157},{0,4,10,152},{0,4,10,153},{0,4,10,158},{0,4,10,159},{0,4,10,154},{0,4,10,155},{0,5,2,10},{1,0,0,14},{1,0,0,12},{1,0,0,17},{1,0,1,0},{1,0,1,1},{1,0,1,11},{1,0,1,16},{1,0,2,5},{1,0,2,15},{1,0,2,7},{1,0,3,5},{1,0,3,15},{1,0,3,18},{1,0,4,5},{1,0,4,15},{1,0,4,8},{1,0,5,5},{1,0,5,15},{1,0,5,19},{1,0,6,5},{1,0,6,15},{1,0,6,9},{1,0,7,5},{1,0,7,15},{1,0,7,20},{1,0,8,5},{1,0,8,15},{1,0,8,17},{1,0,8,7},{1,0,8,8},{1,0,8,9},{1,0,9,5},{1,0,9,15},{1,0,9,21},{1,1,0,2},{1,1,0,3},{1,1,1,4},{1,1,1,5},{1,1,2,6},{1,1,2,7},{1,1,3,8},{1,1,3,9},{2,0,1,0},{2,0,2,1},{2,0,3,3},{2,0,4,9},{2,0,5,2},{2,0,5,10},{2,0,6,6},{2,0,7,7},{2,0,8,5},{2,0,9,8},{2,0,10,12},{2,0,10,13}
167
  };
lexnet_weights.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0188bedb0765ed5fee5a8763ca09f6dd25faf2eeac5dc775bb06ef306d7cebe2
3
+ size 80136