@@ -7,7 +7,7 @@ describe('padToSquare', () => {
7
7
8
8
describe ( 'even size' , ( ) => {
9
9
10
- it ( 'is padded to square' , ( ) => tf . tidy ( ( ) => {
10
+ it ( 'is padded to square by 2 columns ' , ( ) => tf . tidy ( ( ) => {
11
11
const imgTensor = tf . tensor4d ( Array ( 24 ) . fill ( 1 ) , [ 1 , 4 , 2 , 3 ] )
12
12
const result = padToSquare ( imgTensor )
13
13
@@ -21,7 +21,7 @@ describe('padToSquare', () => {
21
21
expect ( paddedCols [ 3 ] . dataSync ( ) ) . toEqual ( zeros ( 12 ) )
22
22
} ) )
23
23
24
- it ( 'is padded to square and centered' , ( ) => tf . tidy ( ( ) => {
24
+ it ( 'is padded to square by 2 columns and centered' , ( ) => tf . tidy ( ( ) => {
25
25
const imgTensor = tf . tensor4d ( Array ( 24 ) . fill ( 1 ) , [ 1 , 4 , 2 , 3 ] )
26
26
const result = padToSquare ( imgTensor , true )
27
27
@@ -35,11 +35,39 @@ describe('padToSquare', () => {
35
35
expect ( paddedCols [ 3 ] . dataSync ( ) ) . toEqual ( zeros ( 12 ) )
36
36
} ) )
37
37
38
+ it ( 'is padded to square by 1 column' , ( ) => tf . tidy ( ( ) => {
39
+ const imgTensor = tf . tensor4d ( Array ( 36 ) . fill ( 1 ) , [ 1 , 4 , 3 , 3 ] )
40
+ const result = padToSquare ( imgTensor )
41
+
42
+ expect ( result . shape ) . toEqual ( [ 1 , 4 , 4 , 3 ] )
43
+
44
+ const paddedCols = tf . unstack ( result , 2 )
45
+ expect ( paddedCols . length ) . toEqual ( 4 )
46
+ expect ( paddedCols [ 0 ] . dataSync ( ) ) . toEqual ( ones ( 12 ) )
47
+ expect ( paddedCols [ 1 ] . dataSync ( ) ) . toEqual ( ones ( 12 ) )
48
+ expect ( paddedCols [ 2 ] . dataSync ( ) ) . toEqual ( ones ( 12 ) )
49
+ expect ( paddedCols [ 3 ] . dataSync ( ) ) . toEqual ( zeros ( 12 ) )
50
+ } ) )
51
+
52
+ it ( 'is padded to square by 1 column and centered' , ( ) => tf . tidy ( ( ) => {
53
+ const imgTensor = tf . tensor4d ( Array ( 36 ) . fill ( 1 ) , [ 1 , 4 , 3 , 3 ] )
54
+ const result = padToSquare ( imgTensor , true )
55
+
56
+ expect ( result . shape ) . toEqual ( [ 1 , 4 , 4 , 3 ] )
57
+
58
+ const paddedCols = tf . unstack ( result , 2 )
59
+ expect ( paddedCols . length ) . toEqual ( 4 )
60
+ expect ( paddedCols [ 0 ] . dataSync ( ) ) . toEqual ( ones ( 12 ) )
61
+ expect ( paddedCols [ 1 ] . dataSync ( ) ) . toEqual ( ones ( 12 ) )
62
+ expect ( paddedCols [ 2 ] . dataSync ( ) ) . toEqual ( ones ( 12 ) )
63
+ expect ( paddedCols [ 3 ] . dataSync ( ) ) . toEqual ( zeros ( 12 ) )
64
+ } ) )
65
+
38
66
} )
39
67
40
68
describe ( 'uneven size' , ( ) => {
41
69
42
- it ( 'is padded to square' , ( ) => tf . tidy ( ( ) => {
70
+ it ( 'is padded to square by 3 columns ' , ( ) => tf . tidy ( ( ) => {
43
71
const imgTensor = tf . tensor4d ( Array ( 30 ) . fill ( 1 ) , [ 1 , 5 , 2 , 3 ] )
44
72
const result = padToSquare ( imgTensor )
45
73
@@ -54,17 +82,46 @@ describe('padToSquare', () => {
54
82
expect ( paddedCols [ 4 ] . dataSync ( ) ) . toEqual ( zeros ( 15 ) )
55
83
} ) )
56
84
57
- it ( 'is padded to square and centered' , ( ) => tf . tidy ( ( ) => {
85
+ it ( 'is padded to square by 3 columns and centered' , ( ) => tf . tidy ( ( ) => {
58
86
const imgTensor = tf . tensor4d ( Array ( 30 ) . fill ( 1 ) , [ 1 , 5 , 2 , 3 ] )
59
87
const result = padToSquare ( imgTensor , true )
60
88
61
89
expect ( result . shape ) . toEqual ( [ 1 , 5 , 5 , 3 ] )
62
- const data = result . dataSync ( )
63
90
64
91
const paddedCols = tf . unstack ( result , 2 )
65
92
expect ( paddedCols . length ) . toEqual ( 5 )
66
93
expect ( paddedCols [ 0 ] . dataSync ( ) ) . toEqual ( zeros ( 15 ) )
67
- expect ( paddedCols [ 1 ] . dataSync ( ) ) . toEqual ( zeros ( 15 ) )
94
+ expect ( paddedCols [ 1 ] . dataSync ( ) ) . toEqual ( ones ( 15 ) )
95
+ expect ( paddedCols [ 2 ] . dataSync ( ) ) . toEqual ( ones ( 15 ) )
96
+ expect ( paddedCols [ 3 ] . dataSync ( ) ) . toEqual ( zeros ( 15 ) )
97
+ expect ( paddedCols [ 4 ] . dataSync ( ) ) . toEqual ( zeros ( 15 ) )
98
+ } ) )
99
+
100
+ it ( 'is padded to square by 1 column' , ( ) => tf . tidy ( ( ) => {
101
+ const imgTensor = tf . tensor4d ( Array ( 60 ) . fill ( 1 ) , [ 1 , 5 , 4 , 3 ] )
102
+ const result = padToSquare ( imgTensor )
103
+
104
+ expect ( result . shape ) . toEqual ( [ 1 , 5 , 5 , 3 ] )
105
+
106
+ const paddedCols = tf . unstack ( result , 2 )
107
+ expect ( paddedCols . length ) . toEqual ( 5 )
108
+ expect ( paddedCols [ 0 ] . dataSync ( ) ) . toEqual ( ones ( 15 ) )
109
+ expect ( paddedCols [ 1 ] . dataSync ( ) ) . toEqual ( ones ( 15 ) )
110
+ expect ( paddedCols [ 2 ] . dataSync ( ) ) . toEqual ( ones ( 15 ) )
111
+ expect ( paddedCols [ 3 ] . dataSync ( ) ) . toEqual ( ones ( 15 ) )
112
+ expect ( paddedCols [ 4 ] . dataSync ( ) ) . toEqual ( zeros ( 15 ) )
113
+ } ) )
114
+
115
+ it ( 'is padded to square by 1 column and centered' , ( ) => tf . tidy ( ( ) => {
116
+ const imgTensor = tf . tensor4d ( Array ( 60 ) . fill ( 1 ) , [ 1 , 5 , 4 , 3 ] )
117
+ const result = padToSquare ( imgTensor , true )
118
+
119
+ expect ( result . shape ) . toEqual ( [ 1 , 5 , 5 , 3 ] )
120
+
121
+ const paddedCols = tf . unstack ( result , 2 )
122
+ expect ( paddedCols . length ) . toEqual ( 5 )
123
+ expect ( paddedCols [ 0 ] . dataSync ( ) ) . toEqual ( ones ( 15 ) )
124
+ expect ( paddedCols [ 1 ] . dataSync ( ) ) . toEqual ( ones ( 15 ) )
68
125
expect ( paddedCols [ 2 ] . dataSync ( ) ) . toEqual ( ones ( 15 ) )
69
126
expect ( paddedCols [ 3 ] . dataSync ( ) ) . toEqual ( ones ( 15 ) )
70
127
expect ( paddedCols [ 4 ] . dataSync ( ) ) . toEqual ( zeros ( 15 ) )
0 commit comments