projects
/
pytorch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update.
[pytorch.git]
/
ae_size.py
diff --git
a/ae_size.py
b/ae_size.py
index
25ecc4a
..
49f4a20
100755
(executable)
--- a/
ae_size.py
+++ b/
ae_size.py
@@
-1,30
+1,37
@@
#!/usr/bin/env python
#!/usr/bin/env python
+# Any copyright is dedicated to the Public Domain.
+# https://creativecommons.org/publicdomain/zero/1.0/
+
+# Written by Francois Fleuret <francois@fleuret.org>
+
import math
from torch import nn
from torch import Tensor
######################################################################
import math
from torch import nn
from torch import Tensor
######################################################################
+
def minimal_input_size(w, layer_specs):
def minimal_input_size(w, layer_specs):
- assert w > 0,
'The input is too small'
+ assert w > 0,
"The input is too small"
if layer_specs == []:
return w
else:
kernel_size, stride = layer_specs[0]
if layer_specs == []:
return w
else:
kernel_size, stride = layer_specs[0]
- w = math.ceil((w - kernel_size) / stride) + 1
- w = minimal_input_size(w, layer_specs[1:])
- return int((w - 1) * stride + kernel_size)
+ v = int(math.ceil((w - kernel_size) / stride)) + 1
+ v = minimal_input_size(v, layer_specs[1:])
+ return (v - 1) * stride + kernel_size
+
######################################################################
# Dummy test
if __name__ == "__main__":
######################################################################
# Dummy test
if __name__ == "__main__":
-
- layer_specs = [ (11, 5), (5, 4), (3, 2), (3, 2) ]
+ layer_specs = [(17, 5), (5, 4), (3, 2), (3, 2)]
layers = []
layers = []
+
for kernel_size, stride in layer_specs:
layers.append(nn.Conv2d(1, 1, kernel_size, stride))
for kernel_size, stride in layer_specs:
layers.append(nn.Conv2d(1, 1, kernel_size, stride))