MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / build

Method build

src/framework/modules/streaming_conv_modules.cpp:125–163  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

123 throw std::runtime_error("ModuleBuildContext.ggml is null");
124 }
125 core::validate_rank_between(input, 3, 3, "input");
126 core::validate_shape(
127 input,
128 core::TensorShape::from_dims({input.shape.dims[0], config_.channels, input.shape.dims[2]}),
129 "input");
130 core::validate_shape(
131 weights.weight,
132 core::TensorShape::from_dims({config_.channels, 1, config_.kernel_size}),
133 "weight");
134 const auto input_contiguous = ensure_f32(ctx, tensor_layout::ensure_contiguous_layout_if_needed(ctx, input));
135 const auto weight_contiguous = regular_conv_weight(ctx, weights.weight, "DepthwiseConv1dModule");
136 auto input_4d = core::reshape_tensor(
137 ctx,
138 input_contiguous,
139 core::TensorShape::from_dims({input.shape.dims[0], config_.channels, 1, input.shape.dims[2]}));
140 auto weight_4d = core::reshape_tensor(
141 ctx,
142 weight_contiguous,
143 core::TensorShape::from_dims({config_.channels, 1, 1, config_.kernel_size}));
144 // This 2D depthwise lowering greatly improves performance but may affect parity.
145 auto output_4d = DepthwiseConv2dModule({
146 config_.channels,
147 1,
148 config_.kernel_size,
149 1,
150 config_.stride,
151 0,
152 config_.padding,
153 1,
154 config_.dilation,
155 config_.use_bias,
156 }).build(ctx, input_4d, {weight_4d, weights.bias});
157 return core::reshape_tensor(
158 ctx,
159 output_4d,
160 core::TensorShape::from_dims({
161 input.shape.dims[0],
162 config_.channels,
163 depthwise_conv1d_output_frames(config_, input.shape.dims[2]),
164 }));
165}
166

Callers 3

zeros_like_prefixFunction · 0.45
repeat_first_frameFunction · 0.45

Calls 15

validate_rank_betweenFunction · 0.85
validate_shapeFunction · 0.85
reshape_tensorFunction · 0.85
add_bias_bctFunction · 0.85
Conv1dModuleClass · 0.85
repeat_first_frameFunction · 0.85
ConcatModuleClass · 0.85
SliceModuleClass · 0.85

Tested by

no test coverage detected