コード例 #1
0
        public void WriteAndReadShortTensorViaDiskFile()
        {
            const int size = 10;

            var file = new DiskFile("test1C.dat", "rwb");

            Assert.NotNull(file);
            Assert.True(file.CanWrite);

            var tensor0 = new ShortTensor(size);

            for (var i = 0; i < size; ++i)
            {
                tensor0[i] = (short)i;
            }

            file.WriteTensor(tensor0);
            Assert.Equal(size * sizeof(short), file.Position);
            file.Seek(0);

            var tensor1 = new ShortTensor(size);
            var rd      = file.ReadTensor(tensor1);

            Assert.Equal(rd, size);
            Assert.Equal(size * sizeof(short), file.Position);

            for (var i = 0; i < rd; ++i)
            {
                Assert.Equal(tensor1[i], tensor1[i]);
            }

            file.Close();
            Assert.False(file.IsOpen);
        }
コード例 #2
0
ファイル: TestTorchTensor.cs プロジェクト: hxjj/TorchSharp
        public void RandomTest()
        {
            var res = FloatTensor.Random(new long[] { 2 });

            Assert.Equal(new long[] { 2 }, res.Shape);

            var res1 = ShortTensor.RandomIntegers(10, new long[] { 200 });

            Assert.Equal(new long[] { 200 }, res1.Shape);

            var res2 = IntTensor.RandomIntegers(10, new long[] { 200 });

            Assert.Equal(new long[] { 200 }, res2.Shape);

            var res3 = LongTensor.RandomIntegers(10, new long[] { 200 });

            Assert.Equal(new long[] { 200 }, res3.Shape);

            var res4 = ByteTensor.RandomIntegers(10, new long[] { 200 });

            Assert.Equal(new long[] { 200 }, res4.Shape);

            var res5 = SByteTensor.RandomIntegers(10, new long[] { 200 });

            Assert.Equal(new long[] { 200 }, res5.Shape);

            var res6 = HalfTensor.RandomIntegers(10, new long[] { 200 });

            Assert.Equal(new long[] { 200 }, res6.Shape);

            //var res7 = ComplexHalfTensor.RandomIntegers(10, new long[] { 200 });
            //Assert.Equal(new long[] { 200 }, res7.Shape);

            //var res8 = ComplexFloatTensor.RandomIntegers(10, new long[] { 200 });
            //Assert.Equal(new long[] { 200 }, res8.Shape);

            //var res9 = ComplexDoubleTensor.RandomIntegers(10, new long[] { 200 });
            //Assert.Equal(new long[] { 200 }, res9.Shape);
        }
コード例 #3
0
 /// <summary>
 ///   Write shorts to the file from the given short tensor.
 /// </summary>
 /// <param name="tensor">A tensor containing data to be written to the file.</param>
 /// <returns>The number of shorts written.</returns>
 public long WriteTensor(ShortTensor tensor)
 {
     return(THFile_writeShortRaw(this.handle, tensor.Data, tensor.NumElements));
 }
コード例 #4
0
 /// <summary>
 ///   Read shorts from the file into the given short tensor.
 /// </summary>
 /// <param name="tensor">A tensor to place the data in after reading it from the file.</param>
 /// <returns>The number of shorts read.</returns>
 public long ReadTensor(ShortTensor tensor)
 {
     return(THFile_readShortRaw(this.handle, tensor.Data, tensor.NumElements));
 }