- Почему Python изначально работает на M1 Max значительно (~ 100%) медленнее, чем на моем старом Macbook Pro 2016 с Intel i5? < /Li>
На M1 Max, почему не существует разница между ними (на минифорде), и начнусь, и которая не будет, и которая не будет, и которая будет более сильной (по -прежнему), и которая не будет рано ~ 20%? /> < /ul>
Доказательства, подтверждающие мои вопросы, следующие: < /p>
Вот настройки, которые я пробовал: < /p>
1. Python, установленного < /strong> < /p>
miniforge-arm64, так что Python изначально работает на M1 Max Chip. (Проверьте монитор активности, kind процесса Python - Apple ). - anaconda. Затем Python работает через Rosseta. (Проверьте из монитора активности, kind процесса Python Is Intel ).
2. Numpy установлен в < /strong> < /p>
[*]
Код: Выделить всё
conda install numpy
< /ul>
Код: Выделить всё
conda install -c apple tensorflow-deps
python -m pip install tensorflow-macos
python -m pip install tensorflow-metal
< /code>
3. Запустите < /strong> < /p>
терминал.
[*] pycharm (версия Apple Silicon).import time
import numpy as np
np.random.seed(42)
a = np.random.uniform(size=(300, 300))
runtimes = 10
timecosts = []
for _ in range(runtimes):
s_time = time.time()
for i in range(100):
a += 1
np.linalg.svd(a)
timecosts.append(time.time() - s_time)
print(f'mean of {runtimes} runs: {np.mean(timecosts):.5f}s')
< /code>
и вот результаты: < /p>
+-----------------------------------+-----------------------+--------------------+
| Python installed by (run on)→ | Miniforge (native M1) | Anaconda (Rosseta) |
+----------------------+------------+------------+----------+----------+---------+
| Numpy installed by ↓ | Run from → | Terminal | PyCharm | Terminal | PyCharm |
+----------------------+------------+------------+----------+----------+---------+
| Apple Tensorflow | 4.19151 | 4.86248 | / | / |
+-----------------------------------+------------+----------+----------+---------+
| conda install numpy | 4.29386 | 4.98370 | 4.10029 | 4.99271 |
+-----------------------------------+------------+----------+----------+---------+
< /code>
Это довольно медленно. Для сравнения, < /p>
Запустите тот же код на моем старом Macbook Pro 2016 с помощью I5 Chip - это стоит 2.39917s
[*] Другой пост (но не на английском языке), которые работают с M1 Chip (не Pro или Max), miniforge+conda_installed_numpy
Код: Выделить всё
2.53214s
Код: Выделить всё
1.00613s
Вы также можете попробовать сами.$ sysctl -a | grep -e brand_string -e cpu.core_count
machdep.cpu.brand_string: Intel(R) Core(TM) i5-6360U CPU @ 2.00GHz
machdep.cpu.core_count: 2
< /code>
Мой новый m1 max: < /li>
< /ul>
% sysctl -a | grep -e brand_string -e cpu.core_count
machdep.cpu.brand_string: Apple M1 Max
machdep.cpu.core_count: 10
< /code>
Я следую инструкциям строго из учебных пособий - но зачем все это происходит? Это из -за моих недостатков установки или из -за M1 Max Chip? Поскольку моя работа в значительной степени зависит от местных пробежек, местная скорость очень важна для меня. Любые предложения к возможным решению или любые точки данных на вашем собственном устройстве будут очень оценены

Подробнее здесь: https://stackoverflow.com/questions/702 ... d-intel-i5