 
 
 
-
-func fusedBatchNorm(scope:Scope,x: tf.Output, scale: tf.Output, offset: tf.Output, mean: tf.Output, variance: tf.OutputT :type, epsilon :float, data_format :string, is_training :bool)  ->(y: tf.Output, batchMean: tf.Output, batchVariance: tf.Output, reserveSpace1: tf.Output, reserveSpace2: tf.Output){
-    if scope.error() != nil {
-        return
-    }
-    let opspec = tf.OpSpec(
-        Type: "FusedBatchNorm",
-        Input: [ x, scale, offset, mean, variance]
+func fusedBatchNorm(scope:Scope,x: tf.Output, scale: tf.Output, offset: tf.Output, mean: tf.Output, variance: tf.Output, t :type  , epsilon :float  , dataFormat :string  , isTraining :bool  )  ->(y: tf.Output, batchMean: tf.Output, batchVariance: tf.Output, reserveSpace1: tf.Output, reserveSpace2: tf.Output){
+    if scope.error() != nil {
+        return
+    }
+
+    var attrs:Dictionary<String,Tensorflow_AttrValue> = [:]
+    attr.append("T":t)
+    attr.append("epsilon":epsilon)
+    attr.append("data_format":dataFormat)
+    attr.append("is_training":isTraining)
+
+    let opspec = tf.OpSpec(
+        OpType: "FusedBatchNorm",
+        Input: [ x, scale, offset, mean, variance],
         Attrs: attrs
     )
     let op = scope.AddOperation(opspec)





func logicalAnd(scope:Scope,x: tf.Output, y: tf.Output)  ->(z: tf.Output){
    if scope.error() != nil {
        return
    }
    let opspec = tf.OpSpec(
        Type: "LogicalAnd",
        Input: [ x, y]
        Attrs: attrs
    )
    let op = scope.AddOperation(opspec)




func choleskyGrad(scope:Scope,l: tf.Output, grad: tf.Output, t :type  )  ->(output: tf.Output){
    if scope.error() != nil {
        return
    }

    var attrs:Dictionary<String,Tensorflow_AttrValue> = [:]
    attr.append("T":t)

    let opspec = tf.OpSpec(
        OpType: "CholeskyGrad",
        Input: [ l, grad],
        Attrs: attrs
    )
    let op = scope.AddOperation(opspec)
