MCPcopy Create free account
hub / github.com/pytorch/pytorch / _FC_or_packed_FC

Function _FC_or_packed_FC

caffe2/python/helpers/fc.py:13–54  ·  view source on GitHub ↗
(
    model, op_call, blob_in, blob_out, dim_in, dim_out, weight_init=None,
        bias_init=None, WeightInitializer=None, BiasInitializer=None,
        enable_tensor_core=False, float16_compute=False, **kwargs
)

Source from the content-addressed store, hash-verified

11
12
13def _FC_or_packed_FC(
14 model, op_call, blob_in, blob_out, dim_in, dim_out, weight_init=None,
15 bias_init=None, WeightInitializer=None, BiasInitializer=None,
16 enable_tensor_core=False, float16_compute=False, **kwargs
17):
18 WeightInitializer = initializers.update_initializer(
19 WeightInitializer, weight_init, ("XavierFill", {})
20 )
21 BiasInitializer = initializers.update_initializer(
22 BiasInitializer, bias_init, ("ConstantFill", {})
23 )
24 if not model.init_params:
25 WeightInitializer = initializers.ExternalInitializer()
26 BiasInitializer = initializers.ExternalInitializer()
27
28 blob_out = blob_out or model.net.NextName()
29 bias_tags = [ParameterTags.BIAS]
30 if 'freeze_bias' in kwargs:
31 bias_tags.append(ParameterTags.COMPUTED_PARAM)
32
33 weight = model.create_param(
34 param_name=blob_out + '_w',
35 shape=[dim_out, dim_in],
36 initializer=WeightInitializer,
37 tags=ParameterTags.WEIGHT
38 )
39 bias = model.create_param(
40 param_name=blob_out + '_b',
41 shape=[dim_out, ],
42 initializer=BiasInitializer,
43 tags=bias_tags
44 )
45
46 # enable TensorCore by setting appropriate engine
47 if enable_tensor_core:
48 kwargs['engine'] = 'TENSORCORE'
49
50 # Enable float 16 compute kernel (relevant for CUDA)
51 if float16_compute:
52 kwargs['float16_compute'] = True
53
54 return op_call([blob_in, weight, bias], blob_out, **kwargs)
55
56
57def fc(model, *args, **kwargs):

Callers 2

fcFunction · 0.85
packed_fcFunction · 0.85

Calls 3

NextNameMethod · 0.80
appendMethod · 0.45
create_paramMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…