mirror of
https://github.com/ml-explore/mlx.git
synced 2025-09-17 17:28:10 +08:00
Fix unsqueeze with None (#899)
* Fix unsqueeze with None * Clean unnecessary files
This commit is contained in:

committed by
GitHub

parent
570f2bf29e
commit
5611e1a95e
@@ -367,6 +367,7 @@ array mlx_get_item_nd(array src, const nb::tuple& entries) {
|
||||
}
|
||||
|
||||
bool squeeze_needed = false;
|
||||
bool unsqueeze_needed = false;
|
||||
|
||||
// Slice handling
|
||||
{
|
||||
@@ -395,17 +396,19 @@ array mlx_get_item_nd(array src, const nb::tuple& entries) {
|
||||
}
|
||||
|
||||
axis++;
|
||||
} else {
|
||||
unsqueeze_needed = true;
|
||||
}
|
||||
}
|
||||
src = slice(src, starts, ends, strides);
|
||||
}
|
||||
|
||||
// Unsqueeze handling
|
||||
if (remaining_indices.size() > src.ndim() || squeeze_needed) {
|
||||
if (unsqueeze_needed || squeeze_needed) {
|
||||
std::vector<int> out_shape;
|
||||
int axis = 0;
|
||||
for (auto& idx : remaining_indices) {
|
||||
if (idx.is_none()) {
|
||||
if (unsqueeze_needed && idx.is_none()) {
|
||||
out_shape.push_back(1);
|
||||
} else if (squeeze_needed && nb::isinstance<nb::int_>(idx)) {
|
||||
axis++;
|
||||
|
Reference in New Issue
Block a user