MCPcopy Index your code
hub / github.com/pytorch/pytorch / instance_norm

Function instance_norm

caffe2/python/helpers/normalization.py:47–72  ·  view source on GitHub ↗
(model, blob_in, blob_out, dim_in, order="NCHW", **kwargs)

Source from the content-addressed store, hash-verified

45
46
47def instance_norm(model, blob_in, blob_out, dim_in, order="NCHW", **kwargs):
48 blob_out = blob_out or model.net.NextName()
49 # Input: input, scale, bias
50 # Output: output, saved_mean, saved_inv_std
51 # scale: initialize with ones
52 # bias: initialize with zeros
53
54 def init_blob(value, suffix):
55 return model.param_init_net.ConstantFill(
56 [], blob_out + "_" + suffix, shape=[dim_in], value=value)
57 scale, bias = init_blob(1.0, "s"), init_blob(0.0, "b")
58
59 model.AddParameter(scale, ParameterTags.WEIGHT)
60 model.AddParameter(bias, ParameterTags.BIAS)
61 blob_outs = [blob_out, blob_out + "_sm", blob_out + "_siv"]
62 if 'is_test' in kwargs and kwargs['is_test']:
63 blob_outputs = model.net.InstanceNorm(
64 [blob_in, scale, bias], [blob_out],
65 order=order, **kwargs)
66 return blob_outputs
67 else:
68 blob_outputs = model.net.InstanceNorm(
69 [blob_in, scale, bias], blob_outs,
70 order=order, **kwargs)
71 # Return the output
72 return blob_outputs[0]
73
74
75def spatial_bn(model, blob_in, blob_out, dim_in,

Callers

nothing calls this directly

Calls 4

init_blobFunction · 0.85
NextNameMethod · 0.80
AddParameterMethod · 0.80
InstanceNormMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…