alias_with_sizes_and_strides Class — pytorch Architecture
Architecture documentation for the alias_with_sizes_and_strides class in TensorShape.cpp from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/TensorShape.cpp lines 1990–2021
template <typename Vec>
static Tensor alias_with_sizes_and_strides(
const Tensor& self,
const Vec& sizes,
const Vec& strides) {
// caller should make sure that sizes and strides are valid for self
//(storage is sufficient, strides are non-negative, strides and sizes array
// size is the same)
Tensor self_;
if (self.is_quantized()) {
self_ = at::detail::make_tensor<QTensorImpl>(
c10::TensorImpl::VIEW,
Storage(self.storage()),
self.key_set(),
self.dtype(),
get_qtensorimpl(self)->quantizer());
auto* self_tmp_ = self_.unsafeGetTensorImpl();
self_tmp_->set_storage_offset(self.storage_offset());
self_tmp_->set_sizes_and_strides(sizes, strides);
} else {
self_ = at::detail::make_tensor<TensorImpl>(
c10::TensorImpl::VIEW,
Storage(self.storage()),
self.key_set(),
self.dtype());
auto* self_tmp_ = self_.unsafeGetTensorImpl();
self_tmp_->set_storage_offset(self.storage_offset());
self_tmp_->set_sizes_and_strides(sizes, strides);
}
namedinference::propagate_names(self_, self);
return self_;
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free