प्रौद्योगिकी साझेदारी

[AIGC] 2. Mac स्थानीयतया keras गणनां आरभ्य GPU इत्यस्य उपयोगं करोति

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Mac स्थानीयतया keras computing आरभ्य GPU इत्यस्य उपयोगं करोति

1. समस्या पृष्ठभूमि

पूर्वलेखात् वयं आविष्कृतवन्तः यत् बृहत् मॉडल्-सञ्चालने CPU-इत्यस्य संचालनाय उपयोगं कुर्वन् CPU-उपयोगः अतीव अधिकः भवति । अतः वयम् अत्र चिन्तयिष्यामः यत् यदि यन्त्रे GPU ग्राफिक्स् कार्ड् अस्ति तर्हि वयं कथं सदिश-क्रियासु ग्राफिक्स्-कार्डस्य लाभं गृहीत्वा यन्त्र-शिक्षण-सम्बद्धानि कार्याणि शीघ्रं सम्यक् च कर्तुं शक्नुमः

2. तकनीकी पृष्ठभूमि

वयं जानीमः यत् वर्तमानस्य मुख्यधारायां ग्राफिक्स् कार्ड्स् ये यन्त्रशिक्षणस्य समर्थनं कुर्वन्ति ते Nvida श्रृङ्खला ग्राफिक्स् कार्ड्स् सन्ति, ये सामान्यतया N कार्ड्स् इति नाम्ना प्रसिद्धाः सन्ति तथापि Mac मशीनेषु AMD श्रृङ्खला ग्राफिक्स् कार्ड्स् सामान्यतया एकीकृताः भवन्ति द्वयोः भिन्नयोः हार्डवेयर-निर्देशसमूहयोः मध्ये अन्तरं भवति यत् उपरितनस्तरस्य भिन्न-भिन्न-कार्यन्वयन-प्रौद्योगिकीनां आवश्यकता भवति ।
परन्तु एएमडी ग्राफिक्स् कार्ड्स् इत्यत्र PlaidML प्रौद्योगिकी अस्ति, अस्य प्लग-इन् इत्यस्य माध्यमेन भिन्न-भिन्न-ग्राफिक्स् कार्ड्स् इत्यस्य भेदाः समाहिताः कर्तुं शक्यन्ते ।

PlaidML परियोजना पता: https://github.com/plaidml/plaidml
सम्प्रति, PlaidML पूर्वमेव Keras, ONNX, nGraph इत्यादीनां साधनानां समर्थनं करोति, भवान् प्रत्यक्षतया Keras इत्यस्य उपयोगं कृत्वा मॉडल् निर्मातुम् अर्हति, तथा च भवतां MacBook इत्येतत् GPU इत्येतत् सहजतया आह्वयितुं शक्नोति ।
PlaidML इति अस्य साधनस्य माध्यमेन NVIDIA, AMD अथवा Intel graphics cards इत्यस्य परवाहं विना गहनशिक्षणप्रशिक्षणं सुलभतया कर्तुं शक्यते ।

refer to : १.Mac PlaidML इत्यनेन सह सुदृढीकरणशिक्षणप्रशिक्षणं त्वरयति

3. प्रयोगात्मकसत्यापनम्

अस्मिन् क्रियायां पारम्परिककेरास् एल्गोरिदमस्य कृते क्रमशः CPU तथा GPU इत्येतयोः उपरि गणनानां बहुपरिक्रमाः क्रियन्ते, आँकडानि च समयग्राहिणः भवन्ति तुलनात्मकं सांख्यिकीं कुरुत।

देशी विन्यास

अस्मिन् समये प्रयुक्तस्य mac यन्त्रस्य सॉफ्टवेयर-हार्डवेयर-मापदण्डाः निम्नलिखितरूपेण सन्ति ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

PlaidML संस्थापयन्तु

यतः आश्रितसङ्कुलस्थापनप्रक्रियायां आदेशपरस्परक्रियायाः आवश्यकता भवति, अतः plaidML संकुलस्य संस्थापनं आदेशपङ्क्तौ क्रियते, कोडनिष्पादनं च jupyter इत्यत्र क्रियते

यतो हि jupyter इत्यस्य तान्त्रिकबिन्दवः भविष्यन्ति येषु आभासीवातावरणस्य उपयोगे कर्नलस्य निर्माणस्य आवश्यकता भवति, अतः तावत्पर्यन्तं सत्यापनार्थं मूलपायथन् वातावरणस्य प्रत्यक्षतया उपयोगः अनुशंसितः अस्ति ये छात्राः आभासीवातावरणे jupyter इत्यस्य विन्यासलक्षणं अवगच्छन्ति ते आभासीवातावरणे तस्य संचालनस्य प्रयासं कर्तुं शक्नुवन्ति ।

प्लेडम्ल-केरां स्थापयतु

pip3  install plaidml-keras
  • 1

लेखकेन plaidml-keras इत्यस्य नवीनतमं संस्करणं संस्थापयितुं pip3 install plaidml-keras इति आदेशस्य उपयोगानन्तरं, यत् 0.7.0 अस्ति, तदनन्तरं आरम्भक्रियां कुर्वन् अहं एकं दोषं प्राप्नोमि तदनन्तरं, तत् 0.6.4 यावत् न्यूनीकृतम् आसीत्, निष्पादनं च आसीत् सामान्य। परन्तु तदा अहं पुनः 0.7.0 इति संस्थापितवान् पुनः सामान्यम् आसीत् ।
plaidml in github

पूर्वनिर्धारितं ग्राफिक्स् कार्ड् विन्यस्यताम्

आदेशपङ्क्तौ निष्पादयन्तु

plaidml-setup
  • 1

अन्तरक्रियाशीलसामग्री यथा भवति

(venv) tsingj@tsingjdeMacBook-Pro-2 ~  # plaidml-setup

PlaidML Setup (0.6.4)

Thanks for using PlaidML!

Some Notes:
  * Bugs and other issues: https://github.com/plaidml/plaidml
  * Questions: https://stackoverflow.com/questions/tagged/plaidml
  * Say hello: https://groups.google.com/forum/#!forum/plaidml-dev
  * PlaidML is licensed under the Apache License 2.0


Default Config Devices:
   metal_intel(r)_uhd_graphics_630.0 : Intel(R) UHD Graphics 630 (Metal)
   metal_amd_radeon_pro_5300m.0 : AMD Radeon Pro 5300M (Metal)

Experimental Config Devices:
   llvm_cpu.0 : CPU (LLVM)
   metal_intel(r)_uhd_graphics_630.0 : Intel(R) UHD Graphics 630 (Metal)
   opencl_amd_radeon_pro_5300m_compute_engine.0 : AMD AMD Radeon Pro 5300M Compute Engine (OpenCL)
   opencl_cpu.0 : Intel CPU (OpenCL)
   opencl_intel_uhd_graphics_630.0 : Intel Inc. Intel(R) UHD Graphics 630 (OpenCL)
   metal_amd_radeon_pro_5300m.0 : AMD Radeon Pro 5300M (Metal)

Using experimental devices can cause poor performance, crashes, and other nastiness.

Enable experimental device support? (y,n)[n]:
  • 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
  • 27
  • 28

वर्तमानसमर्थितानि ग्राफिक्स् कार्ड्स् सूचीकृत्य पूर्वनिर्धारितरूपेण 2 समर्थितग्राफिक्स् कार्ड्स् अथवा प्रयोगात्मकचरणस्य सर्वेषां 6 समर्थितानां हार्डवेयर् मध्ये चयनं कुर्वन्तु ।
पूर्वनिर्धारितरूपेण समर्थितौ ग्राफिक्स् कार्ड् द्वौ द्रष्टुं शक्नुवन्ति, यत् प्रारम्भिकस्क्रीन्शॉट् मध्ये वास्तविकं ग्राफिक्स् कार्ड् द्वौ स्तः । परीक्षणस्थिरतायाः कृते प्रथमं N इति चित्वा Enter नुदन्तु ।

Multiple devices detected (You can override by setting PLAIDML_DEVICE_IDS).
Please choose a default device:

   1 : metal_intel(r)_uhd_graphics_630.0
   2 : metal_amd_radeon_pro_5300m.0

Default device? (1,2)[1]:1

Selected device:
    metal_intel(r)_uhd_graphics_630.0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

पूर्वनिर्धारितचयनितसेटिंग्स् कृते, अत्र वयं प्रथमं metal_intel®_uhd_graphics_630.0 पूर्वनिर्धारितयन्त्ररूपेण सेट् कुर्मः अवश्यं, अस्य उपकरणस्य प्रदर्शनं वस्तुतः तुल्यकालिकरूपेण दुर्बलम् अस्ति पश्चात् वयं metal_amd_radeon_pro_5300m.0 इत्यस्य पूर्वनिर्धारितयन्त्ररूपेण सेट् करिष्यामः तुलना।
१ लिखित्वा Enter नुदन्तु ।

Almost done. Multiplying some matrices...
Tile code:
  function (B[X,Z], C[Z,Y]) -> (A) { A[x,y : X,Y] = +(B[x,z] * C[z,y]); }
Whew. That worked.

Save settings to /Users/tsingj/.plaidml? (y,n)[y]:y
Success!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

विन्यासं पूर्णं कर्तुं पूर्वनिर्धारितविन्याससञ्चिकायां विन्याससूचनाः लिखितुं Enter नुदन्तु ।

CPU कम्प्यूटिङ्ग् इत्यस्य उपयोगं कुर्वन् कोड् चालयन्तु

अस्मिन् खण्डे jupyter इत्यस्य उपयोगः सरलं एल्गोरिदम् कोड् चालयितुं भवति तस्य समयः च गण्यते ।

Step 1 प्रथमं keras संकुलं आयातयन्तु तथा च data cifar10 आयातयन्तु अस्मिन् बाह्यसंजालतः डाउनलोड् करणं भवितुं शक्नोति यदि भवतः किमपि प्रश्नं भवति।केरसस्य उपयोगविषये मूलभूतप्रश्नाः
#!/usr/bin/env python
import numpy as np
import os
import time
import keras
import keras.applications as kapp
from keras.datasets import cifar10
(x_train, y_train_cats), (x_test, y_test_cats) = cifar10.load_data()
batch_size = 8
x_train = x_train[:batch_size]
x_train = np.repeat(np.repeat(x_train, 7, axis=1), 7, axis=2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

ध्यानं कुर्वन्तु यत् अत्र पूर्वनिर्धारितं keral computing backend tenserflow इत्यस्य उपयोगं कर्तव्यम्, आउटपुट् पश्यन्तु

2024-07-11 14:36:02.753107: अहं tensorflow/core/platform/cpu_feature_guard.cc:210] इदं TensorFlow द्विचक्रिका प्रदर्शन-महत्त्वपूर्ण-सञ्चालनेषु उपलब्धानां CPU-निर्देशानां उपयोगाय अनुकूलितम् अस्ति ।
निम्नलिखितनिर्देशान् सक्षमीकरणाय: AVX2 FMA, अन्येषु कार्येषु, उपयुक्तैः संकलकध्वजैः सह TensorFlow पुनः निर्मायताम् ।

चरण 2 गणनाप्रतिरूपं आयातयन्तु यदि मॉडलदत्तांशः स्थानीयरूपेण नास्ति तर्हि स्वयमेव डाउनलोड् भविष्यति यदि भवतः किमपि प्रश्नं अस्ति।केरसस्य उपयोगविषये मूलभूतप्रश्नाः
model = kapp.VGG19()
  • 1
step3 मॉडल संकलनम्
model.compile(optimizer='sgd', loss='categorical_crossentropy',metrics=['accuracy'])
  • 1
step4 भविष्यवाणीं कुरुत
print("Running initial batch (compiling tile program)")
y = model.predict(x=x_train, batch_size=batch_size)
  • 1
  • 2

प्रारम्भिकं बैचं चालयति (टाइल प्रोग्राम् संकलनम्)
१/१ ━━━━━━━━━━━━━━━━━━━━ १s १s/चरणम्

step5 10 भविष्यवाणयः कुर्वन्तु
# Now start the clock and run 10 batchesprint("Timing inference...")
start = time.time()
for i in range(10):
    y = model.predict(x=x_train, batch_size=batch_size)
    print("Ran in {} seconds".format(time.time() - start))
  • 1
  • 2
  • 3
  • 4
  • 5

1/1 ━━━━━━━━━━━━━━━━━━━━ 1s 891ms/step
0.9295139312744141 सेकेण्ड् मध्ये धावितम्
1/1 ━━━━━━━━━━━━━━━━━━━━ 1s 923ms/step
१.८८९४७६०६०८६७३०९६ सेकेण्ड् मध्ये धावितम्
१/१ ━━━━━━━━━━━━━━━━━━━━ 1s 893ms/step
२.८१८४९२८८९४०४२९७ सेकेण्ड् मध्ये धावितवान्
1/1 ━━━━━━━━━━━━━━━━━━━━ 1s 932ms/step
३.७८३१६६८८५३७५९७६६ सेकेण्ड् मध्ये धावितवान्
1/1 ━━━━━━━━━━━━━━━━━━━━ 1s 892ms/step
४.७१३५८५८५३५७६६६ सेकेण्ड् मध्ये धावितवान्
1/1 ━━━━━━━━━━━━━━━━━━━━ 1s 860ms/step
५.६०९८३५८६३११३४०३ सेकेण्ड् मध्ये धावितवान्
१/१ ━━━━━━━━━━━━━━━━━━━━ 1s 878ms/step
६.५१८२४५९३५४४००६३५ सेकेण्ड् मध्ये धावितवान्
1/1 ━━━━━━━━━━━━━━━━━━━━ 1s 871ms/step
७.४२३१२८१२८०५१७५८ सेकेण्ड् मध्ये धावितवान्
1/1 ━━━━━━━━━━━━━━━━━━━━ 1s 896ms/step
८.३५२५४३८३०८७१५८२ सेकेण्ड् मध्ये धावितवान्
1/1 ━━━━━━━━━━━━━━━━━━━━ 1s 902ms/step
९.२८८७९५९४८०२८५६४ सेकेण्ड् मध्ये धावितवान्

GPU कम्प्यूटिङ्ग् इत्यस्य उपयोगेन कोड् चालयन्तु

ग्राफिक्स कार्डस्य उपयोगः metal_intel®_uhd_graphics_630.0

step0 plaidml मार्गेण keras आयातयन्तु, ततः keras सम्बद्धानि कार्याणि कुर्वन्तु
# Importing PlaidML. Make sure you follow this order
import plaidml.keras
plaidml.keras.install_backend()
import os
os.environ["KERAS_BACKEND"] = "plaidml.keras.backend"
  • 1
  • 2
  • 3
  • 4
  • 5

टीका:
1. यदा plaidml=0.7.0 संस्करणस्य उपयोगः भवति तदा plaidml.keras.install_backend() क्रियायां त्रुटिः भविष्यति ।
2. अस्मिन् चरणे plaidml इत्यस्य माध्यमेन केरास् आयाताः भविष्यन्ति, तथा च पृष्ठभूमिगणनाइञ्जिनं tenserflow इत्यस्य स्थाने plaidml इति सेट् भविष्यति ।

step1 प्रथमं keras संकुलं आयातयन्तु तथा च data cifar10 आयातयन्तु
#!/usr/bin/env python
import numpy as np
import os
import time
import keras
import keras.applications as kapp
from keras.datasets import cifar10
(x_train, y_train_cats), (x_test, y_test_cats) = cifar10.load_data()
batch_size = 8
x_train = x_train[:batch_size]
x_train = np.repeat(np.repeat(x_train, 7, axis=1), 7, axis=2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
step2 गणनाप्रतिरूपं आयातयन्तु यदि मॉडलदत्तांशः स्थानीयरूपेण नास्ति तर्हि स्वयमेव डाउनलोड् भविष्यति ।
model = kapp.VGG19()
  • 1

प्रथमे रन इत्यत्र ग्राफिक्स् कार्ड् सूचनां निर्गच्छतु

INFO:plaidml:उपकरणं उद्घाटयति “metal_intel®_uhd_graphics_630.0”

step3 मॉडल संकलनम्
model.compile(optimizer='sgd', loss='categorical_crossentropy',metrics=['accuracy'])
  • 1
step4 भविष्यवाणीं कुरुत
print("Running initial batch (compiling tile program)")
y = model.predict(x=x_train, batch_size=batch_size)
  • 1
  • 2

प्रारम्भिकं बैचं चालयति (टाइल प्रोग्राम् संकलनम्)

यतः उत्पादनं द्रुततरं भवति, तस्मात् केवलं सामग्रीपङ्क्तिः मुद्रिता भवति ।

step5 10 भविष्यवाणयः कुर्वन्तु
# Now start the clock and run 10 batchesprint("Timing inference...")
start = time.time()
for i in range(10):
    y = model.predict(x=x_train, batch_size=batch_size)
    print("Ran in {} seconds".format(time.time() - start))
  • 1
  • 2
  • 3
  • 4
  • 5

४.२४१९१८०८७००५६१५ सेकेण्ड् मध्ये धावितवान्
८.४५२१४१०४६५२४०४८ सेकेण्ड् मध्ये धावितवान्
१२.६६५४११९४९१५७७१५ सेकेण्ड् मध्ये धावितवान्
१६.८४९९६८९१०२१७२८५ सेकेण्ड् मध्ये धावितवान्
२१.०२५७२०८३४७३२०५६ सेकेण्ड् मध्ये धावितम्
२५.२१२७६४०२४७३४४९७ सेकेण्ड् मध्ये धावितवान्
२९.४०५४७८९५४३१५१८६ सेकेण्ड् मध्ये धावितवान्
३३.५९४९७७१४०४२६६३६ सेकेण्ड् मध्ये धावितवान्
३७.७८८६४३८३६९७५१ सेकेण्ड् मध्ये धावितवान्
४१.९८१३६३०५८०९०२१ सेकेण्ड् मध्ये धावितवान्

ग्राफिक्स कार्ड metal_amd_radeon_pro_5300m.0 का उपयोग कर

plaidml-setup सेटिंग् मध्ये ग्राफिक्स् कार्ड् चयनस्य चरणे, ग्राफिक्स् कार्ड् metal_intel®_uhd_graphics_630.0 इत्यस्य चयनं न भवति, परन्तु metal_amd_radeon_pro_5300m.0 चयनितम् अस्ति

(venv) tsingj@tsingjdeMacBook-Pro-2 ~  # plaidml-setup

PlaidML Setup (0.6.4)

Thanks for using PlaidML!

Some Notes:
  * Bugs and other issues: https://github.com/plaidml/plaidml
  * Questions: https://stackoverflow.com/questions/tagged/plaidml
  * Say hello: https://groups.google.com/forum/#!forum/plaidml-dev
  * PlaidML is licensed under the Apache License 2.0


Default Config Devices:
   metal_intel(r)_uhd_graphics_630.0 : Intel(R) UHD Graphics 630 (Metal)
   metal_amd_radeon_pro_5300m.0 : AMD Radeon Pro 5300M (Metal)

Experimental Config Devices:
   llvm_cpu.0 : CPU (LLVM)
   metal_intel(r)_uhd_graphics_630.0 : Intel(R) UHD Graphics 630 (Metal)
   opencl_amd_radeon_pro_5300m_compute_engine.0 : AMD AMD Radeon Pro 5300M Compute Engine (OpenCL)
   opencl_cpu.0 : Intel CPU (OpenCL)
   opencl_intel_uhd_graphics_630.0 : Intel Inc. Intel(R) UHD Graphics 630 (OpenCL)
   metal_amd_radeon_pro_5300m.0 : AMD Radeon Pro 5300M (Metal)

Using experimental devices can cause poor performance, crashes, and other nastiness.

Enable experimental device support? (y,n)[n]:n

Multiple devices detected (You can override by setting PLAIDML_DEVICE_IDS).
Please choose a default device:

   1 : metal_intel(r)_uhd_graphics_630.0
   2 : metal_amd_radeon_pro_5300m.0

Default device? (1,2)[1]:2

Selected device:
    metal_amd_radeon_pro_5300m.0

Almost done. Multiplying some matrices...
Tile code:
  function (B[X,Z], C[Z,Y]) -> (A) { A[x,y : X,Y] = +(B[x,z] * C[z,y]); }
Whew. That worked.

Save settings to /Users/tsingj/.plaidml? (y,n)[y]:y
Success!
  • 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
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
step0 plaidml मार्गेण keras आयातयन्तु, ततः keras सम्बद्धानि कार्याणि कुर्वन्तु
# Importing PlaidML. Make sure you follow this order
import plaidml.keras
plaidml.keras.install_backend()
import os
os.environ["KERAS_BACKEND"] = "plaidml.keras.backend"
  • 1
  • 2
  • 3
  • 4
  • 5

टीका:
1. यदा plaidml=0.7.0 संस्करणस्य उपयोगः भवति तदा plaidml.keras.install_backend() क्रियायां त्रुटिः भविष्यति ।
2. अस्मिन् चरणे plaidml इत्यस्य माध्यमेन केरास् आयाताः भविष्यन्ति, तथा च पृष्ठभूमिगणनाइञ्जिनं tenserflow इत्यस्य स्थाने plaidml इति सेट् भविष्यति ।

step1 प्रथमं keras संकुलं आयातयन्तु तथा च data cifar10 आयातयन्तु
#!/usr/bin/env python
import numpy as np
import os
import time
import keras
import keras.applications as kapp
from keras.datasets import cifar10
(x_train, y_train_cats), (x_test, y_test_cats) = cifar10.load_data()
batch_size = 8
x_train = x_train[:batch_size]
x_train = np.repeat(np.repeat(x_train, 7, axis=1), 7, axis=2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
step2 गणनाप्रतिरूपं आयातयन्तु यदि मॉडलदत्तांशः स्थानीयरूपेण नास्ति तर्हि स्वयमेव डाउनलोड् भविष्यति ।
model = kapp.VGG19()
  • 1

INFO:plaidml:उपकरणं “metal_amd_radeon_pro_5300m.0” उद्घाटयति।
ध्यानं कुर्वन्तु यत् अत्र प्रथमवारं ग्राफिक्स् कार्ड् सूचना प्रविष्टा अस्ति ।

step3 मॉडल संकलनम्
model.compile(optimizer='sgd', loss='categorical_crossentropy',metrics=['accuracy'])
  • 1
step4 भविष्यवाणीं कुरुत
print("Running initial batch (compiling tile program)")
y = model.predict(x=x_train, batch_size=batch_size)
  • 1
  • 2

प्रारम्भिकं बैचं चालयति (टाइल प्रोग्राम् संकलनम्)

यतः उत्पादनं द्रुततरं भवति, तस्मात् केवलं सामग्रीपङ्क्तिः मुद्रिता भवति ।

step5 10 भविष्यवाणयः कुर्वन्तु
# Now start the clock and run 10 batchesprint("Timing inference...")
start = time.time()
for i in range(10):
    y = model.predict(x=x_train, batch_size=batch_size)
    print("Ran in {} seconds".format(time.time() - start))
  • 1
  • 2
  • 3
  • 4
  • 5

आउटपुट् पश्यन्तु

0.43606019020080566 सेकेण्ड् मध्ये चालितम्
0.8583459854125977 सेकेण्ड् मध्ये चालितम्
१.२७८७९११८९१९३७२५६ सेकेण्ड् मध्ये धावितवान्
१.७०१४३७२३४८७८५४ सेकेण्ड् मध्ये धावितवान्
२.१२३५०३२०८१६०४००४ सेकेण्ड् मध्ये धावितवान्
२.५४६४५८००५९०५१५१४ सेकेण्ड् मध्ये धावितवान्
२.९६७७९७९९४६१३६४७५ सेकेण्ड् मध्ये धावितवान्
३.३९००६४००१०८३३७४ सेकेण्ड् मध्ये धावितवान्
३.८११७७९९७५८९१११३३ सेकेण्ड् मध्ये धावितवान्
४.२३६९११०५८४२५९०३ सेकेण्ड् मध्ये धावितवान्

4. मूल्याङ्कनचर्चा

ग्राफिक्स् कार्ड् metal_intel®_uhd_graphics_630.0 इत्यस्य स्मृतिमूल्यं 1536 MB अस्ति यद्यपि ग्राफिक्स् कार्ड् इत्यस्य रूपेण, गणनासु तस्य कार्यक्षमता अस्य यन्त्रस्य 6-कोर CPU इव उत्तमं नास्ति
ग्राफिक्स् कार्ड् metal_amd_radeon_pro_5300m.0 इत्यस्य स्मृतिमूल्यं देशी CPU इत्यनेन सह तुलने अस्य कार्यक्षमता प्रायः १ गुणाधिकम् अस्ति ।

अस्मात् वयं यन्त्रशिक्षणकार्यक्रमेषु GPUs इत्यस्य उपयोगस्य शक्तिशालिनः लाभाः द्रष्टुं शक्नुमः ।