message: cudnnConvolutionBiasActivationForward only supports CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM when the activation is
  CUDNN_ACTIVATION_IDENTITY, but it'll use a diffent algorithm if asked to - but then it also does an unwanted Relu.
diff: @@ -565,6 +565,20 @@ void LaunchFusedConv2DBiasActivationOp<GPUDevice, T, BiasType, ScaleType>::
  fused_conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(
  stream->parent()),
  &algorithms));
  + if (activation_mode == ActivationMode::NONE) {
  + // Only CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM is supported for
  + // identity activation, other algs seem to quietly do Relu.
  + // See
  + // https://docs.nvidia.com/deeplearning/sdk/cudnn-developer-guide/index.html#cudnnConvolutionBiasActivationForward
  + algorithms.erase(
  + std::remove_if(
  + algorithms.begin(), algorithms.end(),
  + [](dnn::AlgorithmDesc alg) {
  + return alg.algo_id() !=
  + CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM;
  + }),
  + algorithms.end());
  + }
  dnn::ProfileResult best_result;
  dnn::ProfileResult best_result_no_scratch;
  for (auto profile_algorithm : algorithms) {
  