anchor.diff:          let t1rows, t1cols = t1.Shape.[0], t1.Shape.[1]
           let t2rows, t2cols = t2.Shape.[0], t2.Shape.[1]
           if t1cols <> t2rows then invalidOp <| sprintf "Cannot multiply Tensors with shapes %A, %A" t1.Shape t2.Shape
  -        let t1value = t1.Value
  -        let t2value = (t2 :?> RawTensorFloat32CPU).Value        
  +        let t1value = t1.Values
  +        let t2value = (t2 :?> RawTensorFloat32CPU).Values        
           let result = Array2D.init t1rows t2cols (fun i j -> Array.sumBy (fun k -> t1value.[i*t1cols + k] * t2value.[k*t2cols + j]) [|0..(t2rows-1)|] )
           upcast RawTensorFloat32CPU.Create(result)
       
  
positive.code: 
      override t1.AddTTSlice(location:int[], t2) =
          if not (shapeContains t1.Shape t2.Shape) then failwithf "Expecting t1.Shape to contain t2.Shape, received %A, %A" t1.Shape t2.Shape
          let t1value = t1.Value
          let t2 = t2 :?> RawTensorFloat32CPU
          let result = Array.copy t1value
          let shape2 = shapeUnsqueezeAs t2.Shape t1.Shape
  
negative.code: 
      override t1.Equals(t2:RawTensor) = 
          match t2 with
          | :? RawTensorFloat32CPU as t2 -> t1.Shape = t2.Shape && t1.Values = t2.Values
          | _ -> failwith <| sprintf "Cannot compare RawTensors of different types. t1:%A, t2:%A" t1 t2
  
      override t1.ApproximatelyEquals(t2:RawTensor, tolerance) =
          let tolerance = float32 <| tolerance
          match t2 with
          | :? RawTensorFloat32CPU as t2 -> t1.Shape = t2.Shape && arraysApproximatelyEqual tolerance t1.Values t2.Values
          | _ -> failwith <| sprintf "Cannot compare RawTensors of different types. t1:%A, t2:%A" t1 t2
  
      override __.StackTs(tensors) =
          let tensors = tensors |> Seq.toList
          let values, shapes = tensors |> List.map (fun t -> (t :?> RawTensorFloat32CPU).Values, t.Shape) |> List.unzip
          if not (allEqual shapes) then invalidArg "tensors" "Expecting Tensors with same shape"
          let n = tensors |> List.length
          let m = shapeLength shapes.[0]
  