#pragma once
#include "caffe2/core/context.h"
#include "caffe2/core/operator.h"
#include "caffe2/utils/conversions.h"
#include "caffe2/utils/math.h"
namespace caffe2 {
std::vector<TensorShape> FCShapeInference(
const OperatorDef& def,
const std::vector<TensorShape>& in,
bool pretransposed_weight);
OpSchema::Cost CostInferenceForFC(
const OperatorDef& def,
const std::vector<TensorShape>& in,
bool pretransposed_weight = false);
std::vector<TensorShape> FCGradientShapeInference(
const OperatorDef& def,
const std::vector<TensorShape>& in,
bool pretransposed_weight);
OpSchema::Cost CostInferenceForFCGradient(
const OperatorDef& def,
const std::vector<TensorShape>& in,
bool pretransposed_weight);
} // namespace caffe2