Pytorch: الإصدار 1.3 لم يعد يدعم Tesla K40m؟

تم إنشاؤها على ٢٧ نوفمبر ٢٠١٩  ·  61تعليقات  ·  مصدر: pytorch/pytorch

🐛 علة

أنا أستخدم Tesla K40m ، مثبتًا pytorch 1.3 مع conda ، باستخدام CUDA 10.1

لإعادة إنتاج

خطوات إعادة إنتاج السلوك:

  1. احصل على صندوق به سيارة تسلا K40 م
  2. conda install pytorch cudatoolkit -c pytorch
  3. عرض كودا متاح
python -c 'import torch; print(torch.cuda.is_available());'
>>> True
  1. إنشاء نموذج واستدعاء .forward()
Traceback (most recent call last):
  File "./baselines/get_results.py", line 395, in <module>
    main(args)
  File "./baselines/get_results.py", line 325, in main
    log_info = eval_main(eval_args)
  File "/mnt/cdtds_cluster_home/s0816700/git/midi_degradation_toolkit/baselines/eval_task.py", line 165, in main
    log_info = trainer.test(0, evaluate=True)
  File "/mnt/cdtds_cluster_home/s0816700/git/midi_degradation_toolkit/mdtk/pytorch_trainers.py", line 110, in test
    evaluate=evaluate)
  File "/mnt/cdtds_cluster_home/s0816700/git/midi_degradation_toolkit/mdtk/pytorch_trainers.py", line 220, in iteration
    model_output = self.model.forward(input_data, input_lengths)
  File "/mnt/cdtds_cluster_home/s0816700/git/midi_degradation_toolkit/mdtk/pytorch_models.py", line 49, in forward
    self.hidden = self.init_hidden(batch_size, device=device)
  File "/mnt/cdtds_cluster_home/s0816700/git/midi_degradation_toolkit/mdtk/pytorch_models.py", line 40, in init_hidden
    return (torch.randn(1, batch_size, self.hidden_dim, device=device),
RuntimeError: CUDA error: no kernel image is available for execution on the device

حاول أولاً الرجوع إلى إصدار cudatoolkit = 10.0 ، والذي أظهر نفس المشكلة.

سيعمل الرمز بشكل جيد إذا كررت الخطوات المذكورة أعلاه ولكن بدلاً من ذلك conda install pytorch=1.2 cudatoolkit=10.0 -c pytorch .

سلوك متوقع

إذا لم تعد تدعم وحدة معالجة رسومات معينة ، فالرجاء تفجيرها عند التحميل برسالة خطأ مفيدة.

بيئة

قام Unfort بتشغيل البرنامج النصي الخاص بك بعد أن `` أصلحت '' ، لذا فإن إصدار pytorch سيكون 1.2 هنا - المشكلة التي تمت مواجهتها مع الإصدار 1.3.

Collecting environment information...
PyTorch version: 1.2.0
Is debug build: No
CUDA used to build PyTorch: 10.0.130

OS: Scientific Linux release 7.6 (Nitrogen)
GCC version: (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
CMake version: version 2.8.12.2

Python version: 3.7
Is CUDA available: Yes
CUDA runtime version: Could not collect
GPU models and configuration: GPU 0: Tesla K40m
Nvidia driver version: 430.50
cuDNN version: /usr/lib64/libcudnn.so.6.5.18

Versions of relevant libraries:
[pip3] numpy==1.16.3
[pip3] numpydoc==0.8.0
[conda] blas                      1.0                         mkl  
[conda] mkl                       2019.4                      243  
[conda] mkl-service               2.3.0            py37he904b0f_0  
[conda] mkl_fft                   1.0.15           py37ha843d7b_0  
[conda] mkl_random                1.1.0            py37hd6b4f25_0  
[conda] pytorch                   1.2.0           py3.7_cuda10.0.130_cudnn7.6.2_0    pytorch
[conda] torchvision               0.4.0                py37_cu100    pytorch

سم مكعبezyanggchanan @ zou3519 @ jerryzh168ngimel

binaries cuda docs triaged

التعليق الأكثر فائدة

أود فقط أن أقترح إضافة إمكانات الحوسبة المتوافقة للثنائيات المترجمة مسبقًا في مكان ما إلى الوثائق ، خاصة عند تقديم إرشادات التثبيت للثنائيات. لا يبدو أن هذه المعلومات متاحة بسهولة في أي مكان.

ال 61 كومينتر

فقط للتأكد ، هل كنت تستخدم 1.3.0 أم 1.3.1 ؟

1.3.1

conda list 'pytorch|cuda'
>>> # packages in environment at /home/s0816700/miniconda3/envs/mdtk:
>>> #
>>> # Name                    Version                   Build  Channel
>>> cudatoolkit               10.1.243             h6bb024c_0  
>>> pytorch                   1.3.1           py3.7_cuda10.1.243_cudnn7.6.3_0    pytorch

كان الحسد عند نقطة الفشل.

cc انجيميل

K40m لديه قدرة حسابية 3.5 ، والتي أعتقد أننا أسقطنا دعمها.

موافق. من فضلك ، هل يمكنك تنفيذ تحذير "oldgpu" مفيد؟ مثل هنا: https://github.com/pytorch/pytorch/issues/6529

الخطأ في الوقت الحالي غير واضح جدًا للمستخدم العادي مثلي.

--- تعديل ---
سيكون من الرائع أيضًا ربط المستخدمين:

  1. إلى صفحة توضح بالتفصيل سعة الحوسبة التي تدعمها (إن وجدت) و
  2. كيف تعرف ما هي السعة الحاسوبية لوحدة معالجة الرسومات الخاصة بك (أعتقد هنا: https://developer.nvidia.com/cuda-gpus#compute لمعظم؟)

تكافح (محرر / جي) للعثور على هذين الأمرين!

جانبا ، SsnL - ربما يحتاج هذا السطر إلى التحديث إذا كنت على صواب:
https://github.com/pytorch/pytorch/blob/bf61405ed61816b23c57718722145f26f217666a/torch/__init__.py#L10. من أين حصلت على معلوماتك حول الحد الأدنى من دعم قدرة الحوسبة؟

JamesOwers إذا لم أكن مخطئًا ، فإن هذا الالتزام جعل الحد الأدنى من قدرة الحوسبة يصل إلى 3.7.

لا يوجد سبب تقني لتغييره إلى 3.7 ، أليس كذلك؟
لا يزال الرمز يدعم 3.5 (وحتى 3.0 مرة أخرى).

هذا فقط لكوندا؟ يبدو أنه انتقل من 3.5 و 5.0+ إلى 3.7 و 5.0+ لذلك كان دائمًا مفقودًا إما 3.5 أو 3.7. أفترض أن الأمر يستغرق وقتًا طويلاً / يصبح كبيرًا جدًا لدعم أكثر من معمارتين مبنيتين.

soumith قد

ptrblck هذا هو السبب ولكن من الغريب أنه انتقل من دعم K40 (+ عدة بطاقات للمستهلكين) وليس K80 إلى دعم K80 وليس K40 (+ العديد من بطاقات المستهلك).

على NVIDIA GPU مع إمكانية الحوسبة> = 3.0.

أتمنى أيضًا أن تكون هناك طريقة للرسالة لتعكس الحد الأدنى من قوس cuda من قائمة قوس cuda عندما تم تجميعها. هذا سيجعل الأمر أسهل عندما يتم تغييره إلى 3.7 ، على سبيل المثال. أو عندما يدعم المستخدم 3.0 من خلال تجميعها بأنفسهم.

تتم مناقشة هذا أيضًا على https://github.com/pytorch/pytorch/issues/24205#issuecomment -560185215

أود فقط أن أقترح إضافة إمكانات الحوسبة المتوافقة للثنائيات المترجمة مسبقًا في مكان ما إلى الوثائق ، خاصة عند تقديم إرشادات التثبيت للثنائيات. لا يبدو أن هذه المعلومات متاحة بسهولة في أي مكان.

k40m مع cuda10.0 تحصل على نفس الخطأ !!!
بناء من المصدر الحصول على المزيد من الخطأ !!!

مرحبًا يا رفاق ، لقد صنعت عجلة python 3.6 pytorch 1.3.1 linux_x86_64 بدون قيود على القدرة الحسابية ، وهي تعمل على 3.5 GPU. سأكون أكثر من سعيد لبناء عجلات لإصدارات مختلفة من python و pytorch إذا كان بإمكان أحدهم إخباري بقناة توزيع مناسبة (أي ليس محرك google ).

jayenashar هل أنت قادر على تقديم تعليمات لبناء الإصدار 1.3.1 من Pytorch لوحدة معالجة رسومات معينة (NVIDIA Tesla K20 GPU) و Python 3.6.8؟ لقد حاولت إنشاء إصدار متوافق ولكن ما زلت أواجه مشكلات في توافق الأجهزة:
[W NNPACK. cpp: 77 ] تعذر تهيئة NNPACK! السبب: أجهزة غير مدعومة.

@ anowlan123 لا أرى سببًا لإنشاء وحدة معالجة TORCH_CUDA_ARCH_LIST لقدرتك الحسابية المحددة ( 3.5 ) ، ثم استخدم الإنشاء- تعليمات من المصدر ل pytorch .

يجب أن تعمل عجلة pytorch 1.3.1 التي صنعتها من أجلك (Python 3.6.9 ، NVIDIA Tesla K20 GPU). لقد قمت بإعداد حساب pypi لمحاولة توزيعه ، ولكن يبدو أن هناك حدًا يبلغ 60 ميجا بايت ، وعجلة التحميل الخاصة بي هي 139 ميجا بايت. لذلك قمت بتحميله هنا: https://github.com/UNSWComputing/pytorch/releases/download/v1.3.1/torch-1.3.1-cp36-cp36m-linux_x86_64.whl

عزيزي @ anowlan123 ،

سأكون مهتمًا جدًا بعجلة من pytorch1.4 تعمل مع Keppler K40 و cuda9.2. هل ستتمكن من المساعدة؟ أفكر في تثبيت ذلك عبر miniconda.

PeteKey ، لم تحدد إصدار python ، لكنني صنعت عجلة باستخدام python 3.6 و pytorch 1.4.1 و magma-cuda92. يرجى تجربتها هنا: https://github.com/UNSWComputing/pytorch/releases/download/v1.4.1/torch-1.4.1-cp36-cp36m-linux_x86_64.whl إذا كان لديك أي مشاكل ، يرجى الترقية إلى cuda10.2 .

@ anowlan123 ، python 3.6 جيد ولكن أعتقد أن شيئًا ما لا يعمل بعد. أي فكرة كيف أصلح هذا المشكل؟ أنا أقوم بتشغيل هذا على أوبونتو 14.04 إذا كان ذلك مهمًا.

ملف "/home/pk/miniconda3/envs/pytorch1.4py36_unsw_anowlan123/lib/python3.6/site-packages/torch/__init__.py" ، السطر 81 ، في
من torch._C import *
خطأ استيراد: libmkl_intel_lp64.so: لا يمكن فتح ملف كائن مشترك: لا يوجد مثل هذا الملف أو الدليل

jayenashar شكرًا ، لا تزال تواجه نفس مشكلات التوافق بالرغم من ذلك. PeteKey بمجرد إنشاء بيئة

! / بن / باش

تأكد من تنشيط بيئة كوندا

القرص المضغوط / المنزل / المستخدم
كوندا تفعيل البيئة

كوندا تثبيت numpy النينجا بيامل mkl mkl-include setuptools cmake cffi
كوندا تثبيت -c pytorch magma-cuda101

القرص المضغوط ~ / anaconda3 / envs / env / compiler_compat
mv ld ld القديمة

إعداد Pyorch Repo

القرص المضغوط / المنزل / المستخدم / التنزيلات
استنساخ بوابة - متسلسل https://github.com/pytorch/pytorch
القرص المضغوط / المنزل / المستخدم / التنزيلات / pytorch
مزامنة الوحدة الفرعية بوابة
تحديث الوحدة الفرعية git --init - متسلسل

تحديد متغيرات البيئة لبناء معين

تصدير CMAKE_PREFIX_PATH = $ {CONDA_ PREFIX: - "$ (dirname $ (الذي كوندا)) /../"}
تصدير PYTORCH_BUILD_VERSION = 1.3.1
تصدير PYTORCH_BUILD_NUMBER = 1
تصدير TORCH_CUDA_ARCH_LIST = 3.5

بناء وتثبيت

تثبيت python

نظف المبنى

setup.py نظيف - الكل

القرص المضغوط ~ / anaconda3 / envs / env / compiler_compat
mv لد القديمة

Python 3.6 جيد ولكن أعتقد أن شيئًا ما لا يعمل بعد. أي فكرة كيف أصلح هذا المشكل؟ أنا أقوم بتشغيل هذا على أوبونتو 14.04 إذا كان ذلك مهمًا.

ملف "/home/pk/miniconda3/envs/pytorch1.4py36_unsw_anowlan123/lib/python3.6/site-packages/torch/ init .py" ، السطر 81 ، في
من torch._C import *
خطأ استيراد: libmkl_intel_lp64.so: لا يمكن فتح ملف كائن مشترك: لا يوجد مثل هذا الملف أو الدليل

PeteKey أعتقد أن هذا لأنك تستخدم العجلة في conda. حاول تثبيت mkl في البيئة المحيطة بك.

أيضا ، قم بترقية أوبونتو الخاص بك

@ anowlan123 لا أرى المكان الذي

#!/bin/bash
CONDA_ENV=py369
PYTHON_VERSION=3.6.9
CUDA_VERSION=102
PYTORCH_BUILD_VERSION=1.3.1

set -e
set -u

conda create --yes --name $CONDA_ENV python=$PYTHON_VERSION
conda activate $CONDA_ENV
conda install --yes numpy ninja pyyaml mkl mkl-include setuptools cmake cffi
conda install --yes --channel pytorch magma-cuda$CUDA_VERSION

cd ~/pytorch
git checkout v$PYTORCH_BUILD_VERSION
git submodule sync
git submodule update --init --recursive
export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
export PYTORCH_BUILD_VERSION
PYTORCH_BUILD_NUMBER=0 python setup.py bdist_wheel

PeteKey لقد قمت للتو بتحميل ملفات conda (py3.5 و py3.6) إلى https://github.com/UNSWComputing/pytorch/releases/tag/v1.4.1 . أعتقد أنه يمكنك تنزيل الملفات وتثبيتها باستخدام conda install $filename لكني لست متأكدًا من كيفية إخبار Conda بتثبيت التبعيات. ربما مع --only-deps ؟ فيما يلي تبعيات لعبة py3.6 tarball إذا كنت بحاجة إليها:

    "blas * mkl", 
    "cudatoolkit >=9.2,<9.3", 
    "mkl >=2018", 
    "ninja", 
    "numpy >=1.11", 
    "python >=3.6,<3.7.0a0"

لقد قمت للتو بتجميعها مرة واحدة وعملت مع K40 (وهذا هو إثبات المفهوم) ، ولكن بعد ذلك فعلت شيئًا وتم إفساده ، لذلك بدأت من الصفر.

ما هي أفضل الخطوات لتثبيت torchvision لـ cuda 10.0 و cudatoolkit 10.0 ، ثم تجميع pytorch 1.4؟ أفترض أن السؤال هو في أي ترتيب يجب أن أفعل الأشياء حتى لا ينتهي بي الأمر بالفوضى حيث يحب تثبيت miniconda "حل" الكثير من الأشياء وشعوري هو أن هذا يتسبب في حدوث فوضى لاحقًا لأنه يريد تنزيل pytorch 1.4 من القناة إلخ.

ربما يكون أفضل شيء هو تثبيت pytorch المنبع 1.4.1 لـ cuda 10.0 ثم تثبيت الحزمة التي يمكنني صنعها لك. هذه هي الطريقة التي أصنع بها Conda باستخدام

export PYTORCH_REPO=pytorch
export PYTORCH_BRANCH=v1.4.1
export PYTORCH_BUILD_VERSION=1.4.1
export PYTORCH_BUILD_NUMBER=0
export TORCH_CONDA_BUILD_FOLDER=pytorch-nightly
export TORCH_PACKAGE_NAME=torch
export PIP_UPLOAD_FOLDER=""
export NIGHTLIES_ROOT_FOLDER="$HOME/local/builder/binaries_v1.4.1"
cd pytorch-builder/cron
./build_multiple.sh conda 3.6 cu92

jayenashar ، أنا قريب جدًا ولكن الشيء الوحيد الذي لا يزال غريبًا هو أنه حتى عندما أقوم بتصدير CUDA_VERSION = 100 ، لا يزال torch.version.cuda يعرض cuda 10.2 ... وهو أمر جديد جدًا بالنسبة لبعض الرموز التي أحاول القيام بها يركض.

إذا أخبرتني كيف أجبر التجميع على الاستخدام ثم استخدم pytorch مع cuda 10 ، فسيحل هذا الأوجاع. أدناه أدرج حزمتي (يمكنني رؤية cuda100 و cudatulkit 10.0 هناك) لذلك أنا في حيرة من أمري.

اسم الإصدار بناء القناة

_libgcc_mutex 0.1 رئيسي
blas 1.0 مكل
bzip2 1.0.8 h7b6447c_0
شهادات كاليفورنيا 2020.1.1 0
شهادة 2020.4.5.1 py38_0
cffi 1.14.0 py38he30daa8_1
cloudpickle 1.4.1 py_0 conda-forge
سميك 3.14.0 h52cb24c_0
cuda100 1.0 0 pytorch
كوداتولكيت 10.0.130 0
cycler 0.10.0 py_2 كوندا فورج
سيتولز 0.10.1 py38h516909a_0 كوندا فورج
داسك كور 2.16.0 py_0 conda-forge
ديكور 4.4.2 py_0 conda-forge
المغتربين 2.2.6 he6710b0_0
فري تايب 2.9.1 h8a8886c_1
icu 58.2 hf484d3e_1000 كوندا فورج
Imagecodecs-lite 2019.12.3 py38h1e0a361_0 conda-forge
imageio 2.8.0 py_0 conda-forge
انتل اوبن ام بي 2020.1 217
Joblib 0.15.1 py_0 conda-forge
jpeg 9b h024ee3a_2
kiwisolver 1.2.0 py38hbf85e49_0 كوندا فورج
krb5 1.17.1 h173b8e3_0
ld_impl_linux-64 2.33.1 h53a641e_7
libblas 3.8.0 15_mkl conda-forge
libcblas 3.8.0 15_mkl conda-forge
libcurl 7.69.1 h20c2e04_0
libedit 3.1.20181209 hc058e9b_0
libffi 3.3 he6710b0_1
libgcc-ng 9.1.0 hdf63c60_0
libgfortran-ng 7.3.0 hdf63c60_0
liblapack 3.8.0 15_mkl conda-forge
libpng 1.6.37 hbc83047_0
libssh2 1.9.0 h1ba5d50_1
libstdcxx-ng 9.1.0 hdf63c60_0
libtiff 4.1.0 h2733197_0
magma-cuda100 2.5.2 1 pytorch
matplotlib-base 3.1.3 py38hef1b27d_0
ام كى ال 2020.1 217
mkl-include 2020.1 217
خدمة mkl 2.3.0 py38he904b0f_0
mkl_fft 1.0.15 py38ha843d7b_0
mkl_random 1.1.0 py38h962f231_0
ncurses 6.2 he6710b0_1
networkx 2.4 py_1 conda-forge
النينجا 1.9.0 py38hfd86e86_0
numpy 1.18.1 py38h4f9e942_0
numpy-base 1.18.1 py38hde5b4d6_1
أوليفيل 0.46 py_0
يفتح sl 1.1.1g h7b6447c_0
وسادة 7.1.2 pe38hb39fc2d_0
نقطة 20.0.2 py38_3
pycparser 2.20 py_0
pyparsing 2.4.7 pyh9f0ad1d_0 conda-forge
بيثون 3.8.2 hcff3b4d_14
python-dateutil 2.8.1 py_0 conda-forge
python_abi 3.8 1_cp38 conda-forge
بيتورش 1.4.0 py3.8_cuda10.0.130_cudnn7.6.3_0 pytorch
بيوافيليتس 1.1.1 py38h8790de6_1 كوندا فورج
بيامل 5.3.1 py38h7b6447c_0
readline 8.0 h7b6447c_0
رهش 1.3.8 h1ba5d50_0
scikit-image 0.17.2 py38hcb8c335_0 conda-forge
scikit-Learn 0.23.0 py38h3a94b23_0 conda-forge
scipy 1.4.1 py38h18bccfc_3 كوندا فورج
أدوات الإعداد 46.4.0 py38_0
ستة 1.14.0 py38_0
سكلايت 3.31.1 h62c20be_1
threadpoolctl 2.0.0 pyh5ca1d4c_0 كوندا فورج
tifffile 2020.5.11 py_0 conda-forge
تاك 8.6.8 hbc83047_0
toolz 0.10.0 py_0 conda-forge
شعلة 1.4.1 pypi_0 pypi
torchvision 0.5.0 py38_cu100 pytorch
تورنادو 6.0.4 PY38H1E0A361_1 كوندا فورج
عجلة 0.34.2 py38_0
xz 5.2.5 h7b6447c_0
يامل 0.1.7 had09818_2
zlib 1.2.11 h7b6447c_3
zstd 1.3.7 h0b5b093_0

jayenashar ، أنا قريب جدًا ولكن الشيء الوحيد الذي لا يزال غريبًا هو أنه حتى عندما أقوم بتصدير CUDA_VERSION = 100 ، لا يزال torch.version.cuda يعرض cuda 10.2 ... وهو أمر جديد جدًا بالنسبة لبعض الرموز التي أحاول القيام بها يركض.

PeteKey لست متأكدًا بنسبة 100٪ من أن CUDA_VERSION في البرنامج النصي الخاص بي يعمل بالفعل. قد يقوم فقط بتعيين أرقام إصدار الحزمة وليس تحديد إصدار CUDA الذي يبني عليه. إذا قمت بتشغيل nvcc --version على الجهاز الذي تستخدمه للإنشاء من المصدر ، فمن المحتمل أن يكون ذلك 10.0.

jayenashar ، @ anowlan123 ، شكرًا على المساعدة. في النهاية ، قمت بتجميع pytorch 1.5 لـ cuda10.2 وقمت بتثبيت حزم أخرى عبر تثبيت نقطة ، وأخيراً بدأت الرموز التي أردت تشغيلها. لذا ، فإن جهاز K40 القديم الخاص بي يحصل على حياة أكثر قليلاً.

jayenashar ، @ anowlan123 ، آخر سؤال آخر ... لقد تم تجميع bl ... y pytorch بطريقة ما بدون الصهارة ... هل تعرف ما إذا كنت بحاجة إلى إعداد أي إشارات لذلك. لقد قمت بتثبيت الصهارة حتى الآن ...

@ jayenashar ، @ anowlan123 ،

يا رفاق ، شكرًا لك على تقديم الحلول لتشغيل الشعلة مع K40! 👍🏻

يبدو أنني صنعت شعلة من المصدر بشكل جيد ، لكنها فشلت في استيراد الامتداد from torch.utils.cpp_extension import xxx

حسدتي:
K40 ، تصدير * قوس = 3.5
Torch v1.5.0 ، انتهى البناء بشكل جيد ويمكنني import torch

لاحظ أن المصباح المدمج بالمصدر == 1.5.0 لم يحل محل pytorch المثبت بالكوندا == 1.3.1 ، والذي قمت بإزالته مع تبعياته.

هل أحتاج إلى التحديد في بناء مصدر الشعلة لاستخدام CUDA و cpp_extension؟

شكرا لك

تضمين التغريدة

هناك بعض الاختلافات بين conda و pip مثل اختلاف الأسماء (pytorch vs torch) وبالتالي لم يتم استبدال الإصدار القديم.

from torch.utils import cpp_extension يعمل معي مع حزمة 1.3.1 نقطة ، لذلك لست متأكدًا من المشكلة في مشكلتك.

من torch.utils import cpp_extension يعمل معي مع حزمة 1.3.1 نقطة ، لذا فأنا لست متأكدًا من مشكلتك.

يعمل معي أيضًا ، لكنني بحاجة إلى مصباح> = 1.4 ، وأحتاج إلى البناء من المصدر (K40) .. هذه هي الاختلافات.

هل يعمل أي من الملفات التي قمت بتحميلها إلى https://github.com/UNSWComputing/pytorch/releases/tag/v1.4.1 من أجلك؟

هل يعمل أي من الملفات التي قمت بتحميلها إلى https://github.com/UNSWComputing/pytorch/releases/tag/v1.4.1 من أجلك؟

شكرا! سأختبر ولكن التخمين من الأسماء التي لا أعتقد ذلك ، لسوء الحظ.
القيود الخاصة بي هي:

py>= 3.6
cuda >=10.1
torch>=1.4.1

أفترض منذ أن جربت pytorch 1.5.0 أولاً ، هذا هو المفضل لديك ، لذا جرب هذا: https://github.com/UNSWComputing/pytorch/releases/tag/v1.5.0 افترض أيضًا أن الحد الأدنى من py & cuda هو ما قمت بتثبيته بالفعل ، لذا تم بناؤه بناءً على تلك الافتراضات.

jayenashar شكرا جزيلا لك على دعم هذا!
لقد جربت الريبو الخاص بك ، لكن import torch أخفق بالنسبة لي بعد التثبيت باستخدام

from torch._C import *
ImportError: /home/xxx/miniconda3/envs/detectron2-env/lib/python3.6/site-packages/torch/lib/libtorch_python.so: undefined symbol: PySlice_Unpack

تحرير: يبدو هذا مثل مشكلة python ، لقد كنت مخطئًا في python الافتراضي: python 3.7 افتراضي في conda env. لقد تمكنت من الحصول على install python==3.6 من conda-forge ، لكن لست متأكدًا مما إذا كان هذا الخطأ متعلقًا باستخدام هذا الثعبان؟

هل تستخدم Python 3.6.0؟ أعتقد أن هناك مشكلة في ذلك وأنت بحاجة إلى أي 3.6 أخرى (أي 3.6.1 - 3.6.10)

إذا قمت بتشغيل python3.7 ، فلا يجب محاولة استخدام هذا الإصدار من torch ، لذلك أعتقد أن لديك python 3.6.0

هل تستخدم Python 3.6.0؟ أعتقد أن هناك مشكلة في ذلك

أنت على حق. (لقد تم تثبيت python 3.7 افتراضيًا في conda env ، بما أنني أخبرتكم عن طريق الخطأ أن لدي 3.6 ، قمت بتثبيت python 3.6.0 متوفر في conda-forge.) سأرى ما إذا كان هناك إصدار أحدث من 3.6.x متاح في conda.

عزيزي jayenashar هل يمكنك من فضلك بناء PyTorch 1.5.0 ل Python 3.7؟ كنت أحاول البناء من المصدر ، لكنني واجهت بعض الأخطاء غير المتوقعة. حقا نقدر جهودك!
إعداداتي هي:

Python 3.7
CUDA 10.1

تحديث: قمت بإعداد بيئة Python 3.6 والحزمة المقدمة من jayenashar (https://github.com/UNSWComputing/pytorch/releases/tag/v1.5.0) تعمل بشكل جيد.
يبدو أن آخر torchvision (0.6.0) من Conda يعمل أيضًا.

لا مشكلة. لأي شخص يتقدم بطلبات في المستقبل ، أود الحصول على المعلومات التالية في طلبك:

  • إصدار pytorch - مستوى التصحيح (يجب أن يعمل 1.3.0 مع معظم gpus. انخفض 1.3.1 الدعم لكثير من gpus لدينا.)
  • كوندا أو بيب
  • إصدار cuda - المستوى الثانوي (9.2 ، 10.1 ، 10.2 - لاحظ أن 10.2 يدعم gpus القديم. راجع https://developer.nvidia.com/cuda-gpus للعثور على إمكانية حساب GPU الخاص بك و https://en.wikipedia.org/ wiki / CUDA # GPUs_supported للعثور على إصدارات cuda المدعومة)
  • إصدار python - المستوى الثانوي (لاحظ أن Python 3.6.0 لا يعمل ، ولكن يجب أن يعمل الإصدار 3.6.x الآخر)

لا أحتاج إلى وحدة معالجة الرسومات أو القدرة على الحوسبة. إذا كان الإصدار الذي اخترته من pytorch يدعمه ، فسيتم تضمينه.

لست بحاجة إلى نظام التشغيل. أنا فقط أقوم ببناء حزم لينكس.

wydwww تحقق من https://github.com/UNSWComputing/pytorch/releases/tag/v1.5.0 للحصول على أحدث تحميل. :)

شكرا لك jayenashar ، أنا حقا أقدر عملك! بفضل الحزم التي تم إنشاؤها مسبقًا ، يمكنني تشغيل pytorch (torchvision) على مجموعتنا: +1:

تعتقد أن هناك مشكلة في ذلك وتحتاج إلى أي 3.6 أخرى (أي 3.6.1 - 3.6.10)

كل شيء يعمل بشكل جيد مع py 3.7.

لذا جرب هذا: https://github.com/UNSWComputing/pytorch/releases/tag/v1.5.0

كمرجع للأشخاص الذين يقومون بالتثبيت من هذه الثنائيات ، يجب عليك استخدام conda (وليس python ، pip) لتثبيت هذه الحزم.
conda install pytorch-....tar.gz

jayenashar أي حظ بناء pytorch 1.6؟ أواجه أخطاء في الترجمة في الوقت الحالي ، وأحاول تصحيحها. لقد تمكنت من بناء 1.5.1 لذلك لست متأكدًا مما يحدث.

للأسف ، تعطلت الآلة [عن بُعد] للبناء ، ولا يتم تشغيل ETA عندما يمكنني الوصول إليها لإعادتها مرة أخرى ، آسف. لم أحاول 1.6.

لذا فإن "الخطأ" كان سخيفًا جدًا. لقد نسيت تنظيف مجلد الإنشاء قبل محاولة إنشاء 1.6.0. بعد أن قمت بتنظيفه ، كان البناء ناجحًا.

إليك ملف whl في حالة احتياج أي شخص إليه. تم بناؤه بدون اختبارات أو مشغلي caffe2: https://github.com/KevinMusgrave/pytorch/releases/tag/v1.6.0-compute-capability-3.5

jayenashar فقط علق هنا

jayenashar يمكن أن يكون من الممكن بالنسبة لك تجميع إصدار لـ tesla k40c مع إصدار NVCC 9.2 ، V9.2.148؟

pytorch version -  closer to 1.6.0
conda or pip - any
cuda version - 10
python version - 3.8.5 or other

عندما أستخدم nvcc --version ، فإنه ينتج 9.2 ، لكن عندما أقوم باستخدام nvidia-smi فإنه ينتج: Driver Version: 410.104 CUDA Version: 10.0
لذلك لست متأكدًا من إصدار cuda. أي أفكار لماذا لا تتطابق هذه الإصدارات؟

تحرير: تمكنت من تشغيل PyTorch 1.4.1 مع Torchvision 0.5.0 على Tesla K40c بالإجراء التالي:

  1. تم تنزيله pytorch-1.4.1-py3.7_cuda9.2.148_cudnn7.6.3_0.tar.bz2 من حل jayenashar على https://github.com/UNSWComputing/pytorch/releases/tag/v1.4.1
  2. تثبيت TorchVision بـ conda install torchvision=0.5.0=py37_cu92
  3. تم تجاوز حزمة PyTorch conda install pytorch-1.4.1-py3.7_cuda9.2.148_cudnn7.6.3_0.tar.bz2

@ فيشوكو https://github.com/UNSWComputing/pytorch/releases/tag/v1.6.0

ربما تكون قد قمت بتثبيت cuda-nvcc-9-2 وبرنامج تشغيل مترجم مسبقًا. ربما أسهل لترقية nvcc.

jayenashar هل يمكنك تجميع إصدار لـ Tesla K40c بما يلي:

  • PyTorch: أحدث ما يمكن
  • بايثون: 3.7.7
  • كودا: 10.2
  • كوندا

شكرا جزيلا!

آسف sophiaas ، يبدو أنني لا أستطيع القيام بـ CUDA 10.2 بسهولة. لدى KevinMusgrave 10.1 في https://github.com/KevinMusgrave/pytorch/releases/tag/v1.6.0-compute-capability-3.5 في عجلة وأنا أحاول إنشاء نسخة Conda الآن.

sophiaas قمت بتحميل حزمة https://github.com/UNSWComputing/pytorch/releases/tag/v1.6.0

سأستمر في محاولة إنشاء الإصدار 10.2 ولكنه يستمر في إعطائي بنية وحدة المعالجة المركزية فقط.

jayenashar شكرا لك! نقدر ذلك حقا.

إذا كان ذلك مفيدًا ، فقد قمت بطرح بعض ثنائيات الأنابيب المتوافقة مع K40 على https://nelsonliu.me/files/pytorch/whl/torch_stable.html . الإصدارات 1.3.1 إلى 1.6.0 ، على أمل إبقائها محدثة للإصدارات الجديدة.

يمكنك تثبيتها باستخدام (قم بتغيير الإصدارات المطلوبة حسب الضرورة):

pip install torch==1.3.1+cu92 -f https://nelsonliu.me/files/pytorch/whl/torch_stable.html

لقد اختبرت كل هذه الثنائيات (باستثناء ثنائيات CUDA 10.2 ، على أمل الوصول إليها قريبًا) من خلال تشغيل مثال نمذجة اللغة على مستوى الكلمات على K40 والتحقق يدويًا من أن الحيرة كانت هي نفسها داخل الإصدارات ومعقولة بشكل عام.

@ nelson-liu هذا رائع. ثم أنا فقط بحاجة للقلق بشأن حزم كوندا.

هذه هي الطريقة التي أجري بها اختبار cuda: python -c 'import torch; torch.randn([3,5]).cuda()'

تضمين التغريدة
إنه لأمر رائع أن ترى إصداراتك!
أخطط للاشتراك في إصداراتك المستقبلية أيضًا إذا كنت لا تزال تخطط لمواصلة التحديث مع إصدارات pytorch اللاحقة. هل تخطط دائمًا للإفراج عن هذا الريبو المتشعب؟ أين يجب أن أطلب بناءًا محددًا ، هنا أو في مكان آخر؟

Guptajakala نعم المتشعب ، ما لم يكن أحد يعرف مكانًا أفضل. لقد جربت pypi ولكن يبدو أن لديهم حدًا لحجم الملف وهذا هو السبب في أن الإنشاءات الرسمية لا تدعم وحدات معالجة الرسومات القديمة. يمكنني تجربة قناة أناكوندا.

في الوقت الحالي أتلقى الطلبات هنا حيث يبدو أنه المكان القابل للاكتشاف.

تضمين التغريدة
مرحبًا ، هل هذا يعمل مع Python 3.6.9؟
image
لقد قمت بتنزيل هذا واحد وتشغيل الأمر
conda install ./pytorch-1.6.0-py3.7_cuda10.1.243_cudnn7.6.3_0.tar.bz2

بعد التثبيت ، أقوم باستيراده لكنه يقول
No module named 'torch'

تظهر قائمة كوندا هذا البند
pytorch 1.6.0 py3.7_cuda10.1.243_cudnn7.6.3_0 <unknown>

Guptajakala no لا يمكنك استخدام py3.7 pytorch مع python 3.6.

هل تريدني أن أبني لك واحدًا لبايثون 3.6؟

تضمين التغريدة
سيكون ذلك عظيما شكرا لك!

تضمين التغريدة

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات