Exemple #1
0
 /// <summary>
 /// Zips two tensors and writes the values side by side
 /// </summary>
 /// <param name="t1">First tensor</param>
 /// <param name="t2">Second tensor</param>
 /// <returns>Xml string</returns>
 public static string WriteComparison(IIndexable4DTensor t1, IIndexable4DTensor t2)
 {
     using var stringWriter = new StringWriter();
     using var writer       = new XmlTextWriter(stringWriter);
     _Write(t1, t2, writer);
     writer.Flush();
     return(stringWriter.ToString());
 }
 public static void AssertEqual(IIndexable4DTensor t1, IIndexable4DTensor t2, int maxDifference = 6)
 {
     Assert.AreEqual(t1.Count, t2.Count);
     for (var i = 0; i < t1.Count; i++)
     {
         AssertEqual(t1.Tensors[i], t2.Tensors[i]);
     }
 }
Exemple #3
0
 static void _Write(IIndexable4DTensor t1, IIndexable4DTensor t2, XmlTextWriter writer)
 {
     writer.WriteStartElement("tensor-4d");
     writer.WriteAttributeString("c1", t1.Count.ToString());
     writer.WriteAttributeString("c2", t2.Count.ToString());
     foreach (var tensor in t1.Tensors.Zip(t2.Tensors, (m1, m2) => (m1, m2)))
     {
         _Write(tensor.Item1, tensor.Item2, writer);
     }
     writer.WriteEndElement();
 }