| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent b1e17f1 commit 1b7e25c
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -155,39 +155,34 @@ public NDArray numpy() | |||
| 155 | 155 | ||
| 156 | 156 | protected unsafe NDArray GetNDArray(TF_DataType dtype) | |
| 157 | 157 | { | |
| 158 | - UnmanagedStorage storage; | ||
| 158 | + if (dtype == TF_DataType.TF_STRING) | ||
| 159 | + return np.array(StringData()); | ||
| 160 | + | ||
| 161 | + var count = Convert.ToInt64(size); | ||
| 162 | + IUnmanagedMemoryBlock mem; | ||
| 159 | 163 | switch (dtype) | |
| 160 | 164 | { | |
| 161 | 165 | case TF_DataType.TF_BOOL: | |
| 162 | - storage = new UnmanagedStorage(NPTypeCode.Boolean); | ||
| 163 | - break; | ||
| 164 | - case TF_DataType.TF_STRING: | ||
| 165 | - var nd = np.array(StringData()); | ||
| 166 | - return nd; | ||
| 167 | - case TF_DataType.TF_UINT8: | ||
| 168 | - storage = new UnmanagedStorage(NPTypeCode.Byte); | ||
| 166 | + mem = new UnmanagedMemoryBlock<bool>((bool*)buffer, count); | ||
| 169 | 167 | break; | |
| 170 | 168 | case TF_DataType.TF_INT32: | |
| 171 | - storage = new UnmanagedStorage(NPTypeCode.Int32); | ||
| 169 | + mem = new UnmanagedMemoryBlock<int>((int*)buffer, count); | ||
| 172 | 170 | break; | |
| 173 | 171 | case TF_DataType.TF_INT64: | |
| 174 | - storage = new UnmanagedStorage(NPTypeCode.Int64); | ||
| 172 | + mem = new UnmanagedMemoryBlock<long>((long*)buffer, count); | ||
| 175 | 173 | break; | |
| 176 | 174 | case TF_DataType.TF_FLOAT: | |
| 177 | - storage = new UnmanagedStorage(NPTypeCode.Float); | ||
| 175 | + mem = new UnmanagedMemoryBlock<float>((float*)buffer, count); | ||
| 178 | 176 | break; | |
| 179 | 177 | case TF_DataType.TF_DOUBLE: | |
| 180 | - storage = new UnmanagedStorage(NPTypeCode.Double); | ||
| 178 | + mem = new UnmanagedMemoryBlock<double>((double*)buffer, count); | ||
| 181 | 179 | break; | |
| 182 | 180 | default: | |
| 183 | - return BufferToArray(); | ||
| 181 | + mem = new UnmanagedMemoryBlock<byte>((byte*)buffer, count); | ||
| 182 | + break; | ||
| 184 | 183 | } | |
| 185 | 184 | ||
| 186 | - storage.Allocate(new Shape(shape)); | ||
| 187 | - | ||
| 188 | - System.Buffer.MemoryCopy(buffer.ToPointer(), storage.Address, bytesize, bytesize); | ||
| 189 | - | ||
| 190 | - return new NDArray(storage); | ||
| 185 | + return new NDArray(ArraySlice.FromMemoryBlock(mem, copy: true), new Shape(shape)); | ||
| 191 | 186 | } | |
| 192 | 187 | ||
| 193 | 188 | /// <summary> | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -18,6 +18,8 @@ public static string get_file(string fname, string origin, | |||
| 18 | 18 | string archive_format = "auto", | |
| 19 | 19 | string cache_dir = null) | |
| 20 | 20 | { | |
| 21 | + if (string.IsNullOrEmpty(cache_dir)) | ||
| 22 | + cache_dir = Path.GetTempPath(); | ||
| 21 | 23 | var datadir_base = cache_dir; | |
| 22 | 24 | Directory.CreateDirectory(datadir_base); | |
| 23 | 25 | ||
@@ -26,10 +28,14 @@ public static string get_file(string fname, string origin, | |||
| 26 | 28 | ||
| 27 | 29 | Web.Download(origin, datadir, fname); | |
| 28 | 30 | ||
| 31 | + var archive = Path.Combine(datadir, fname); | ||
| 32 | + | ||
| 29 | 33 | if (untar) | |
| 30 | - Compress.ExtractTGZ(Path.Combine(datadir_base, fname), datadir_base); | ||
| 31 | - else if (extract) | ||
| 32 | - Compress.ExtractGZip(Path.Combine(datadir_base, fname), datadir_base); | ||
| 34 | + Compress.ExtractTGZ(archive, datadir); | ||
| 35 | + else if (extract && fname.EndsWith(".gz")) | ||
| 36 | + Compress.ExtractGZip(archive, datadir); | ||
| 37 | + else if (extract && fname.EndsWith(".zip")) | ||
| 38 | + Compress.UnZip(archive, datadir); | ||
| 33 | 39 | ||
| 34 | 40 | return datadir; | |
| 35 | 41 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments