@@ -86,7 +86,7 @@ using ConvParamsSerializationTypeV3 = std::tuple<
86
86
// Parses any historical conv packed params format into
87
87
// the current format.
88
88
template <uint32_t kSpatialDim >
89
- ConvParamsSerializationTypeV3 parse_conv_serialized_state (c10::IValue v) {
89
+ ConvParamsSerializationTypeV3 parse_conv_serialized_state (const c10::IValue& v) {
90
90
91
91
// determine the version based on IValue contents
92
92
int version = -1 ;
@@ -131,15 +131,15 @@ ConvParamsSerializationTypeV3 parse_conv_serialized_state(c10::IValue v) {
131
131
dilation_x_kSpatialDim.size () + kSpatialDim + 3 );
132
132
config_vals.push_back (kSpatialDim );
133
133
for (const auto i : c10::irange (stride_x_kSpatialDim.size ())) {
134
- auto stride = stride_x_kSpatialDim.get (i);
134
+ auto const & stride = stride_x_kSpatialDim.get (i);
135
135
config_vals.push_back (stride[0 ].item <int16_t >());
136
136
}
137
137
for (const auto i : c10::irange (padding_x_kSpatialDim.size ())) {
138
- auto padding = padding_x_kSpatialDim.get (i);
138
+ auto const & padding = padding_x_kSpatialDim.get (i);
139
139
config_vals.push_back (padding[0 ].item <int16_t >());
140
140
}
141
141
for (const auto i : c10::irange (dilation_x_kSpatialDim.size ())) {
142
- auto dilation = dilation_x_kSpatialDim.get (i);
142
+ auto const & dilation = dilation_x_kSpatialDim.get (i);
143
143
config_vals.push_back (dilation[0 ].item <int16_t >());
144
144
}
145
145
// output_padding does not exist in v1, so we fill in a default value
@@ -283,13 +283,13 @@ ConvParamsSerializationTypeV3 serialize_conv(
283
283
template <uint32_t kSpatialDim >
284
284
c10::intrusive_ptr<ConvPackedParamsBase<kSpatialDim >> deserialize_conv (
285
285
ConvParamsSerializationTypeV3 state) {
286
- auto [version, config_vals, tensors] = state;
286
+ auto & [version, config_vals, tensors] = state;
287
287
TORCH_INTERNAL_ASSERT (version == 3 , " Unexpected serialized qconv version: " , version);
288
288
289
289
TORCH_CHECK (tensors.size () == 3 , " Wrong number of tensors" , tensors.size ());
290
- std::optional<at::Tensor> weight = tensors[1 ];
291
- std::optional<at::Tensor> bias = tensors[2 ];
292
- TORCH_INTERNAL_ASSERT (weight, " Weight should always be present in serialized qconv." );
290
+ auto & weight = tensors[1 ];
291
+ auto & bias = tensors[2 ];
292
+ TORCH_INTERNAL_ASSERT (weight. has_value () , " Weight should always be present in serialized qconv." );
293
293
294
294
torch::List<int64_t > stride, padding, output_padding, dilation;
295
295
// skip kSpatialDim
@@ -340,8 +340,8 @@ c10::intrusive_ptr<ConvPackedParamsBase<kSpatialDim>> deserialize_conv(
340
340
weight.value (), transpose, groups, output_padding);
341
341
if (use_onednn) {
342
342
return PackedConvWeightsOnednn<kSpatialDim >::prepack (
343
- weight.value (),
344
- bias,
343
+ std::move ( weight.value () ),
344
+ std::move ( bias) ,
345
345
stride,
346
346
padding,
347
347
output_padding,
@@ -352,8 +352,8 @@ c10::intrusive_ptr<ConvPackedParamsBase<kSpatialDim>> deserialize_conv(
352
352
}
353
353
#endif
354
354
return PackedConvWeight<kSpatialDim >::prepack (
355
- weight.value (),
356
- bias,
355
+ std::move ( weight.value () ),
356
+ std::move ( bias) ,
357
357
stride,
358
358
padding,
359
359
output_padding,
@@ -367,8 +367,8 @@ c10::intrusive_ptr<ConvPackedParamsBase<kSpatialDim>> deserialize_conv(
367
367
#ifdef USE_FBGEMM
368
368
if (ctx.qEngine () == at::QEngine::FBGEMM) {
369
369
return PackedConvWeight<kSpatialDim >::prepack (
370
- weight.value (),
371
- bias,
370
+ std::move ( weight.value () ),
371
+ std::move ( bias) ,
372
372
stride,
373
373
padding,
374
374
output_padding,
@@ -385,8 +385,8 @@ c10::intrusive_ptr<ConvPackedParamsBase<kSpatialDim>> deserialize_conv(
385
385
" prepack/__setstate__: QNNPACK only supports Conv2d "
386
386
" now." );
387
387
return PackedConvWeightsQnnp<kSpatialDim >::prepack (
388
- weight.value (),
389
- bias,
388
+ std::move ( weight.value () ),
389
+ std::move ( bias) ,
390
390
stride,
391
391
padding,
392
392
output_padding,
@@ -399,8 +399,8 @@ c10::intrusive_ptr<ConvPackedParamsBase<kSpatialDim>> deserialize_conv(
399
399
#if AT_MKLDNN_ENABLED()
400
400
if (ctx.qEngine () == at::QEngine::ONEDNN) {
401
401
return PackedConvWeightsOnednn<kSpatialDim >::prepack (
402
- weight.value (),
403
- bias,
402
+ std::move ( weight.value () ),
403
+ std::move ( bias) ,
404
404
stride,
405
405
padding,
406
406
output_padding,
0 commit comments