diff options
Diffstat (limited to 'candle-datasets/src/vision/mnist.rs')
-rw-r--r-- | candle-datasets/src/vision/mnist.rs | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/candle-datasets/src/vision/mnist.rs b/candle-datasets/src/vision/mnist.rs index 30b0d01f..2dac883c 100644 --- a/candle-datasets/src/vision/mnist.rs +++ b/candle-datasets/src/vision/mnist.rs @@ -8,13 +8,9 @@ use parquet::file::reader::{FileReader, SerializedFileReader}; use std::fs::File; use std::io::{self, BufReader, Read}; -fn read_u32<T: Read>(reader: &mut T) -> Result<u32> { - let mut b = vec![0u8; 4]; - reader.read_exact(&mut b)?; - let (result, _) = b.iter().rev().fold((0u64, 1u64), |(s, basis), &x| { - (s + basis * u64::from(x), basis * 256) - }); - Ok(result as u32) +fn read_u32<T: Read>(reader: &mut T) -> std::io::Result<u32> { + use byteorder::ReadBytesExt; + reader.read_u32::<byteorder::BigEndian>() } fn check_magic_number<T: Read>(reader: &mut T, expected: u32) -> Result<()> { |