Я заметил разницу в поведении между numpy.permute_dims Python и Base.permutedims Джулии.
На входной матрице 3x3x3, содержащей элементы 0:26 , включительно на обоих языках, они согласны с аргументом осей (1,2,0), но не согласны с (0,2,1).
Насколько я могу судить из документации эти функции должны быть эквивалентны. Есть примечание о том, что permutedims нерекурсивны, но я не понимаю, почему это должно иметь последствия для поведения.
Julia также является порядком по столбцам, но опять же, я не понимаю, почему это должно повлиять на конечное поведение.
Код Python:
arr = np.array([[[0, 1, 2],
[3, 4, 5],
[6, 7, 8]],
[[9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
arr_perm = np.permute_dims(arr, axes=[0,2,1])
Вывод:
array([[[ 0, 3, 6],
[ 1, 4, 7],
[ 2, 5, 8]],
[[ 9, 12, 15],
[10, 13, 16],
[11, 14, 17]],
[[18, 21, 24],
[19, 22, 25],
[20, 23, 26]]])
Код Джулии:
arr = [
0 1 2
3 4 5
6 7 8;;;
9 10 11
12 13 14
15 16 17;;;
18 19 20
21 22 23
24 25 26
]
arr_perm = permutedims(arr, [1,3,2])
Вывод:
3×3×3 Array{Int64, 3}:
[:, :, 1] =
0 9 18
3 12 21
6 15 24
[:, :, 2] =
1 10 19
4 13 22
7 16 25
[:, :, 3] =
2 11 20
5 14 23
8 17 26
Подробнее здесь: https://stackoverflow.com/questions/790 ... sagreement
Перестановка многомерной матрицы. Разногласия между Джулией и Python ⇐ Python
Программы на Python
1727462352
Anonymous
Я заметил разницу в поведении между numpy.permute_dims Python и Base.permutedims Джулии.
На входной матрице 3x3x3, содержащей элементы 0:26 , включительно на обоих языках, они согласны с аргументом осей (1,2,0), но не согласны с (0,2,1).
Насколько я могу судить из документации эти функции должны быть эквивалентны. Есть примечание о том, что permutedims нерекурсивны, но я не понимаю, почему это должно иметь последствия для поведения.
Julia также является порядком по столбцам, но опять же, я не понимаю, почему это должно повлиять на конечное поведение.
Код Python:
arr = np.array([[[0, 1, 2],
[3, 4, 5],
[6, 7, 8]],
[[9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
arr_perm = np.permute_dims(arr, axes=[0,2,1])
Вывод:
array([[[ 0, 3, 6],
[ 1, 4, 7],
[ 2, 5, 8]],
[[ 9, 12, 15],
[10, 13, 16],
[11, 14, 17]],
[[18, 21, 24],
[19, 22, 25],
[20, 23, 26]]])
Код Джулии:
arr = [
0 1 2
3 4 5
6 7 8;;;
9 10 11
12 13 14
15 16 17;;;
18 19 20
21 22 23
24 25 26
]
arr_perm = permutedims(arr, [1,3,2])
Вывод:
3×3×3 Array{Int64, 3}:
[:, :, 1] =
0 9 18
3 12 21
6 15 24
[:, :, 2] =
1 10 19
4 13 22
7 16 25
[:, :, 3] =
2 11 20
5 14 23
8 17 26
Подробнее здесь: [url]https://stackoverflow.com/questions/79032143/multidimensional-matrix-permutation-julia-vs-python-disagreement[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия