     ///   - padding: The padding algorithm for convolution.
     ///   - activation: The element-wise activation function.
     ///   - seed: The random seed for initialization. The default value is random.
-    @available(*, deprecated, message: "This API will be removed after Swift for TensorFlow 0.4.")
+    @available(*, deprecated, message: """
+        This API will be removed after Swift for TensorFlow 0.4, please consider using
+        `init(filterShape:strides:padding:activation:filterIntializer:biasInitializer:)` instead.
+        """)
     init(
         filterShape: (Int, Int, Int, Int),
         strides: (Int, Int) = (1, 1),

    ///
    /// - Note: Use `init(filterShape:strides:padding:activation:seed:)` for faster random
    ///   initialization.
    @available(*, deprecated, message: "This API will be removed after Swift for TensorFlow 0.4.")
    init<G: RandomNumberGenerator>(
        filterShape: (Int, Int, Int, Int, Int),
        strides: (Int, Int, Int) = (1, 1, 1),

        let uniform = Tensor(randomUniform: shape, generator: &generator)
        self = Tensor.glorot(fromStandardUniform: uniform, shape: shape)
    }

    /// Performs Glorot normal initialization for the specified shape, creating a tensor by
    /// randomly sampling scalar values from a uniform distribution between `-limit` and `limit`,
    /// where limit is `sqrt(2 / (fanIn + fanOut))` and `fanIn`/`fanOut` represent the number of
