45 virtual size_t Read(
void *ptr,
size_t size) = 0;
51 virtual void Write(
const void *ptr,
size_t size) = 0;
64 template<
int dim,
typename DType,
typename TStream>
74 template<
int dim,
typename DType,
typename TStream>
87 template<
int dim,
typename DType,
typename TStream>
102 template<
int dim,
typename DType,
typename TStream>
107 template<
int dim,
typename DType,
typename TStream>
112 fo.Write(src[i].dptr_,
sizeof(DType) * src.
size(1));
115 template<
int dim,
typename DType,
typename TStream>
121 Copy(tmp, src, &stream);
125 template<
int dim,
typename DType,
typename TStream>
129 CHECK_NE(fi.Read(&shape,
sizeof(shape)), 0) <<
"mshadow::LoadBinary";
131 CHECK_EQ(shape, dst_->
shape_) <<
"LoadBinary, shape do not match pre-allocated shape";
136 if (dst.
size(0) == 0)
return;
138 CHECK_NE(fi.Read(dst[i].
dptr_,
sizeof(DType) * dst.
size(1)), 0) <<
"mshadow::LoadBinary";
141 template<
int dim,
typename DType,
typename TStream>
147 CHECK_EQ(tmp.shape, dst->
shape_) <<
"LoadBinary, shape do not match pre-allocated shape";
152 Copy(*dst, tmp, &stream);
156 #endif // MSHADOW_IO_H_ void FreeSpace(Tensor< cpu, dim, DType > *obj)
CPU/GPU: free the space of tensor, will set obj.dptr to NULL.
Definition: tensor_cpu-inl.h:141
DType * dptr_
pointer to the data
Definition: tensor.h:435
virtual size_t Read(void *ptr, size_t size)=0
read data from stream
void LoadBinary(TStream &fi, Tensor< cpu, dim, DType > *dst, bool pre_alloc)
CPU/GPU: load a tensor by binary format, for GPU version, a temp Tensor<cpu,dim> storage will be allo...
Definition: io.h:126
void Copy(Tensor< cpu, dim, DType > dst, const Tensor< cpu, dim, DType > &src, Stream< cpu > *stream=NULL)
copy data from one tensor to another, with same shape
Definition: tensor_cpu-inl.h:146
Definition: stream_gpu-inl.h:38
Shape< dimension > shape_
shape of the tensor
Definition: tensor.h:437
header file of tensor data structure and functions This lib requires explicit memory allocation and d...
MSHADOW_XINLINE Tensor< Device, 2, DType > FlatTo2D(void) const
flatten the tensor to 2 dimension, collapse the higher dimensions together
Definition: tensor.h:520
int32_t index_t
type that will be used for index
Definition: base.h:336
void AllocSpace(Tensor< cpu, dim, DType > *obj, bool pad=MSHADOW_ALLOC_PAD)
CPU/CPU: allocate space for CTensor, according to the shape in the obj this function is responsible t...
Definition: tensor_cpu-inl.h:117
overloaded + operator between half_t and bf16_t
Definition: base.h:327
interface of stream I/O, used to serialize data, mshadow does not restricted to only this interface i...
Definition: io.h:37
MSHADOW_XINLINE index_t size(int idx) const
return size of i-th dimension, start counting from highest dimension
Definition: tensor.h:506
void SaveBinary(TStream &fo, const Tensor< cpu, dim, DType > &src)
CPU/GPU: save a tensor by binary format, for GPU version, a temp Tensor<cpu,dim> storage will be allo...
Definition: io.h:108
virtual ~IStream(void)
virtual destructor
Definition: io.h:53
general tensor
Definition: tensor.h:421
virtual void Write(const void *ptr, size_t size)=0
write data to stream