std::shared_ptr convertTDS()

in recipes/streaming_convnets/tools/StreamingTDSModelConverter.cpp [103:136]


std::shared_ptr<streaming::TDSBlock> convertTDS(
    int channels,
    int kernelSz,
    int featSz,
    int rightPad,
    std::vector<fl::Variable> params,
    int innerLinearDim) {
  auto conv1 = convertConv1d(
      channels * featSz,
      channels * featSz,
      kernelSz,
      1,
      {-1, rightPad},
      featSz,
      params[0],
      params[1]);
  if (innerLinearDim == 0) {
    innerLinearDim = featSz * channels;
  }
  auto lnorm1 = convertLayerNorm(featSz * channels, params[2], params[3]);
  auto lnorm2 = convertLayerNorm(featSz * channels, params[8], params[9]);
  auto lin1 =
      convertLinear(featSz * channels, innerLinearDim, params[4], params[5]);
  auto lin2 =
      convertLinear(innerLinearDim, featSz * channels, params[6], params[7]);
  return std::make_shared<streaming::TDSBlock>(
      conv1,
      lnorm1,
      lin1,
      lin2,
      lnorm2,
      streaming::DataType::FLOAT,
      streaming::DataType::FLOAT);
}