Alright.
The layer type is TensorFlowOpLayer
and not Tens
The output shape is [(None, 90)]
My guess based on the output shape is that [0][0]
represents 2D output. Let us know what you find from tensorflow source code.
Striding refers to slicing operation applied to a tensor (see StridedSlice).
Layer names are generated dynamically. So, you’ll see _22 once and _somethingelse another time.
Here’s the output of the code snippet over 2 runs:
model = djmodel(Tx=30, LSTM_cell=LSTM_cell, densor=densor, reshaper=reshaper)
model.summary(line_length=200)
Run # 1:
Model: "functional_7"
________________________________________________________________________________________________________________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
========================================================================================================================================================================================================
input_4 (InputLayer) [(None, 30, 90)] 0
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_90 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
reshape (Reshape) (None, 1, 90) 0 tf_op_layer_strided_slice_90[0][0]
tf_op_layer_strided_slice_91[0][0]
tf_op_layer_strided_slice_92[0][0]
tf_op_layer_strided_slice_93[0][0]
tf_op_layer_strided_slice_94[0][0]
tf_op_layer_strided_slice_95[0][0]
tf_op_layer_strided_slice_96[0][0]
tf_op_layer_strided_slice_97[0][0]
tf_op_layer_strided_slice_98[0][0]
tf_op_layer_strided_slice_99[0][0]
tf_op_layer_strided_slice_100[0][0]
tf_op_layer_strided_slice_101[0][0]
tf_op_layer_strided_slice_102[0][0]
tf_op_layer_strided_slice_103[0][0]
tf_op_layer_strided_slice_104[0][0]
tf_op_layer_strided_slice_105[0][0]
tf_op_layer_strided_slice_106[0][0]
tf_op_layer_strided_slice_107[0][0]
tf_op_layer_strided_slice_108[0][0]
tf_op_layer_strided_slice_109[0][0]
tf_op_layer_strided_slice_110[0][0]
tf_op_layer_strided_slice_111[0][0]
tf_op_layer_strided_slice_112[0][0]
tf_op_layer_strided_slice_113[0][0]
tf_op_layer_strided_slice_114[0][0]
tf_op_layer_strided_slice_115[0][0]
tf_op_layer_strided_slice_116[0][0]
tf_op_layer_strided_slice_117[0][0]
tf_op_layer_strided_slice_118[0][0]
tf_op_layer_strided_slice_119[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
a0 (InputLayer) [(None, 64)] 0
________________________________________________________________________________________________________________________________________________________________________________________________________
c0 (InputLayer) [(None, 64)] 0
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_91 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
lstm (LSTM) [(None, 64), (None, 64), (None, 64)] 39680 reshape[90][0]
a0[0][0]
c0[0][0]
reshape[91][0]
lstm[90][0]
lstm[90][2]
reshape[92][0]
lstm[91][0]
lstm[91][2]
reshape[93][0]
lstm[92][0]
lstm[92][2]
reshape[94][0]
lstm[93][0]
lstm[93][2]
reshape[95][0]
lstm[94][0]
lstm[94][2]
reshape[96][0]
lstm[95][0]
lstm[95][2]
reshape[97][0]
lstm[96][0]
lstm[96][2]
reshape[98][0]
lstm[97][0]
lstm[97][2]
reshape[99][0]
lstm[98][0]
lstm[98][2]
reshape[100][0]
lstm[99][0]
lstm[99][2]
reshape[101][0]
lstm[100][0]
lstm[100][2]
reshape[102][0]
lstm[101][0]
lstm[101][2]
reshape[103][0]
lstm[102][0]
lstm[102][2]
reshape[104][0]
lstm[103][0]
lstm[103][2]
reshape[105][0]
lstm[104][0]
lstm[104][2]
reshape[106][0]
lstm[105][0]
lstm[105][2]
reshape[107][0]
lstm[106][0]
lstm[106][2]
reshape[108][0]
lstm[107][0]
lstm[107][2]
reshape[109][0]
lstm[108][0]
lstm[108][2]
reshape[110][0]
lstm[109][0]
lstm[109][2]
reshape[111][0]
lstm[110][0]
lstm[110][2]
reshape[112][0]
lstm[111][0]
lstm[111][2]
reshape[113][0]
lstm[112][0]
lstm[112][2]
reshape[114][0]
lstm[113][0]
lstm[113][2]
reshape[115][0]
lstm[114][0]
lstm[114][2]
reshape[116][0]
lstm[115][0]
lstm[115][2]
reshape[117][0]
lstm[116][0]
lstm[116][2]
reshape[118][0]
lstm[117][0]
lstm[117][2]
reshape[119][0]
lstm[118][0]
lstm[118][2]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_92 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_93 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_94 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_95 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_96 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_97 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_98 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_99 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_100 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_101 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_102 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_103 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_104 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_105 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_106 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_107 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_108 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_109 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_110 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_111 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_112 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_113 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_114 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_115 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_116 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_117 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_118 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_119 (TensorFlowOpLayer) [(None, 90)] 0 input_4[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
dense (Dense) (None, 90) 5850 lstm[90][0]
lstm[91][0]
lstm[92][0]
lstm[93][0]
lstm[94][0]
lstm[95][0]
lstm[96][0]
lstm[97][0]
lstm[98][0]
lstm[99][0]
lstm[100][0]
lstm[101][0]
lstm[102][0]
lstm[103][0]
lstm[104][0]
lstm[105][0]
lstm[106][0]
lstm[107][0]
lstm[108][0]
lstm[109][0]
lstm[110][0]
lstm[111][0]
lstm[112][0]
lstm[113][0]
lstm[114][0]
lstm[115][0]
lstm[116][0]
lstm[117][0]
lstm[118][0]
lstm[119][0]
========================================================================================================================================================================================================
Total params: 45,530
Trainable params: 45,530
Non-trainable params: 0
Run # 2:
Model: "functional_5"
________________________________________________________________________________________________________________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
========================================================================================================================================================================================================
input_3 (InputLayer) [(None, 30, 90)] 0
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_60 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
reshape (Reshape) (None, 1, 90) 0 tf_op_layer_strided_slice_60[0][0]
tf_op_layer_strided_slice_61[0][0]
tf_op_layer_strided_slice_62[0][0]
tf_op_layer_strided_slice_63[0][0]
tf_op_layer_strided_slice_64[0][0]
tf_op_layer_strided_slice_65[0][0]
tf_op_layer_strided_slice_66[0][0]
tf_op_layer_strided_slice_67[0][0]
tf_op_layer_strided_slice_68[0][0]
tf_op_layer_strided_slice_69[0][0]
tf_op_layer_strided_slice_70[0][0]
tf_op_layer_strided_slice_71[0][0]
tf_op_layer_strided_slice_72[0][0]
tf_op_layer_strided_slice_73[0][0]
tf_op_layer_strided_slice_74[0][0]
tf_op_layer_strided_slice_75[0][0]
tf_op_layer_strided_slice_76[0][0]
tf_op_layer_strided_slice_77[0][0]
tf_op_layer_strided_slice_78[0][0]
tf_op_layer_strided_slice_79[0][0]
tf_op_layer_strided_slice_80[0][0]
tf_op_layer_strided_slice_81[0][0]
tf_op_layer_strided_slice_82[0][0]
tf_op_layer_strided_slice_83[0][0]
tf_op_layer_strided_slice_84[0][0]
tf_op_layer_strided_slice_85[0][0]
tf_op_layer_strided_slice_86[0][0]
tf_op_layer_strided_slice_87[0][0]
tf_op_layer_strided_slice_88[0][0]
tf_op_layer_strided_slice_89[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
a0 (InputLayer) [(None, 64)] 0
________________________________________________________________________________________________________________________________________________________________________________________________________
c0 (InputLayer) [(None, 64)] 0
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_61 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
lstm (LSTM) [(None, 64), (None, 64), (None, 64)] 39680 reshape[60][0]
a0[0][0]
c0[0][0]
reshape[61][0]
lstm[60][0]
lstm[60][2]
reshape[62][0]
lstm[61][0]
lstm[61][2]
reshape[63][0]
lstm[62][0]
lstm[62][2]
reshape[64][0]
lstm[63][0]
lstm[63][2]
reshape[65][0]
lstm[64][0]
lstm[64][2]
reshape[66][0]
lstm[65][0]
lstm[65][2]
reshape[67][0]
lstm[66][0]
lstm[66][2]
reshape[68][0]
lstm[67][0]
lstm[67][2]
reshape[69][0]
lstm[68][0]
lstm[68][2]
reshape[70][0]
lstm[69][0]
lstm[69][2]
reshape[71][0]
lstm[70][0]
lstm[70][2]
reshape[72][0]
lstm[71][0]
lstm[71][2]
reshape[73][0]
lstm[72][0]
lstm[72][2]
reshape[74][0]
lstm[73][0]
lstm[73][2]
reshape[75][0]
lstm[74][0]
lstm[74][2]
reshape[76][0]
lstm[75][0]
lstm[75][2]
reshape[77][0]
lstm[76][0]
lstm[76][2]
reshape[78][0]
lstm[77][0]
lstm[77][2]
reshape[79][0]
lstm[78][0]
lstm[78][2]
reshape[80][0]
lstm[79][0]
lstm[79][2]
reshape[81][0]
lstm[80][0]
lstm[80][2]
reshape[82][0]
lstm[81][0]
lstm[81][2]
reshape[83][0]
lstm[82][0]
lstm[82][2]
reshape[84][0]
lstm[83][0]
lstm[83][2]
reshape[85][0]
lstm[84][0]
lstm[84][2]
reshape[86][0]
lstm[85][0]
lstm[85][2]
reshape[87][0]
lstm[86][0]
lstm[86][2]
reshape[88][0]
lstm[87][0]
lstm[87][2]
reshape[89][0]
lstm[88][0]
lstm[88][2]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_62 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_63 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_64 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_65 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_66 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_67 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_68 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_69 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_70 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_71 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_72 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_73 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_74 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_75 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_76 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_77 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_78 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_79 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_80 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_81 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_82 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_83 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_84 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_85 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_86 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_87 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_88 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
tf_op_layer_strided_slice_89 (TensorFlowOpLayer) [(None, 90)] 0 input_3[0][0]
________________________________________________________________________________________________________________________________________________________________________________________________________
dense (Dense) (None, 90) 5850 lstm[60][0]
lstm[61][0]
lstm[62][0]
lstm[63][0]
lstm[64][0]
lstm[65][0]
lstm[66][0]
lstm[67][0]
lstm[68][0]
lstm[69][0]
lstm[70][0]
lstm[71][0]
lstm[72][0]
lstm[73][0]
lstm[74][0]
lstm[75][0]
lstm[76][0]
lstm[77][0]
lstm[78][0]
lstm[79][0]
lstm[80][0]
lstm[81][0]
lstm[82][0]
lstm[83][0]
lstm[84][0]
lstm[85][0]
lstm[86][0]
lstm[87][0]
lstm[88][0]
lstm[89][0]
========================================================================================================================================================================================================
Total params: 45,530
Trainable params: 45,530
Non-trainable params: 0
________________________________________________________________________________________________________________________________________________________________________________________________________