import{s as Ls,o as Ys,n as N}from"../chunks/scheduler.5eb9d175.js";import{S as Hs,i as Ps,g as y,s as u,r as o,A as As,h as d,f as r,c as h,j as Gs,u as j,x as w,k as Ss,y as qs,a as t,v as i,d as g,t as f,w as $}from"../chunks/index.fcdcb606.js";import{T as Is}from"../chunks/Tip.9272e506.js";import{C as B}from"../chunks/CodeBlock.a7036e06.js";import{D as Ds}from"../chunks/DocNotebookDropdown.2547080e.js";import{F as Ms,M as A}from"../chunks/Markdown.927e6a50.js";import{H as _s,E as Os}from"../chunks/EditOnGithub.98bf070f.js";function Ks(b){let n,e="أدوات قياس الأداء من Hugging Face أصبحت قديمة،ويُنصح باستخدام مكتبات خارجية لقياس سرعة وتعقيد الذاكرة لنماذج Transformer.";return{c(){n=y("p"),n.textContent=e},l(a){n=d(a,"P",{"data-svelte-h":!0}),w(n)!=="svelte-sa70wz"&&(n.textContent=e)},m(a,p){t(a,n,p)},p:N,d(a){a&&r(n)}}}function sa(b){let n,e="هنا، ييُعرَّف <em>الاستدلال</em> بأنه تمريرة أمامية واحدة، ويتم تعريف <em>التدريب</em> بأنه تمريرة أمامية واحدة وتمريرة خلفية واحدة.";return{c(){n=y("p"),n.innerHTML=e},l(a){n=d(a,"P",{"data-svelte-h":!0}),w(n)!=="svelte-up5889"&&(n.innerHTML=e)},m(a,p){t(a,n,p)},p:N,d(a){a&&r(n)}}}function aa(b){let n,e;return n=new B({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFB5VG9yY2hCZW5jaG1hcmslMkMlMjBQeVRvcmNoQmVuY2htYXJrQXJndW1lbnRzJTBBJTBBYXJncyUyMCUzRCUyMFB5VG9yY2hCZW5jaG1hcmtBcmd1bWVudHMobW9kZWxzJTNEJTVCJTIyZ29vZ2xlLWJlcnQlMkZiZXJ0LWJhc2UtdW5jYXNlZCUyMiU1RCUyQyUyMGJhdGNoX3NpemVzJTNEJTVCOCU1RCUyQyUyMHNlcXVlbmNlX2xlbmd0aHMlM0QlNUI4JTJDJTIwMzIlMkMlMjAxMjglMkMlMjA1MTIlNUQpJTBBYmVuY2htYXJrJTIwJTNEJTIwUHlUb3JjaEJlbmNobWFyayhhcmdzKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> PyTorchBenchmark, PyTorchBenchmarkArguments

<span class="hljs-meta">&gt;&gt;&gt; </span>args = PyTorchBenchmarkArguments(models=[<span class="hljs-string">&quot;google-bert/bert-base-uncased&quot;</span>], batch_sizes=[<span class="hljs-number">8</span>], sequence_lengths=[<span class="hljs-number">8</span>, <span class="hljs-number">32</span>, <span class="hljs-number">128</span>, <span class="hljs-number">512</span>])
<span class="hljs-meta">&gt;&gt;&gt; </span>benchmark = PyTorchBenchmark(args)`,wrap:!1}}),{c(){o(n.$$.fragment)},l(a){j(n.$$.fragment,a)},m(a,p){i(n,a,p),e=!0},p:N,i(a){e||(g(n.$$.fragment,a),e=!0)},o(a){f(n.$$.fragment,a),e=!1},d(a){$(n,a)}}}function na(b){let n,e;return n=new A({props:{$$slots:{default:[aa]},$$scope:{ctx:b}}}),{c(){o(n.$$.fragment)},l(a){j(n.$$.fragment,a)},m(a,p){i(n,a,p),e=!0},p(a,p){const c={};p&2&&(c.$$scope={dirty:p,ctx:a}),n.$set(c)},i(a){e||(g(n.$$.fragment,a),e=!0)},o(a){f(n.$$.fragment,a),e=!1},d(a){$(n,a)}}}function ea(b){let n,e;return n=new B({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRlbnNvckZsb3dCZW5jaG1hcmslMkMlMjBUZW5zb3JGbG93QmVuY2htYXJrQXJndW1lbnRzJTBBJTBBYXJncyUyMCUzRCUyMFRlbnNvckZsb3dCZW5jaG1hcmtBcmd1bWVudHMoJTBBJTIwJTIwJTIwJTIwbW9kZWxzJTNEJTVCJTIyZ29vZ2xlLWJlcnQlMkZiZXJ0LWJhc2UtdW5jYXNlZCUyMiU1RCUyQyUyMGJhdGNoX3NpemVzJTNEJTVCOCU1RCUyQyUyMHNlcXVlbmNlX2xlbmd0aHMlM0QlNUI4JTJDJTIwMzIlMkMlMjAxMjglMkMlMjA1MTIlNUQlMEEpJTBBYmVuY2htYXJrJTIwJTNEJTIwVGVuc29yRmxvd0JlbmNobWFyayhhcmdzKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TensorFlowBenchmark, TensorFlowBenchmarkArguments

<span class="hljs-meta">&gt;&gt;&gt; </span>args = TensorFlowBenchmarkArguments(
<span class="hljs-meta">... </span>    models=[<span class="hljs-string">&quot;google-bert/bert-base-uncased&quot;</span>], batch_sizes=[<span class="hljs-number">8</span>], sequence_lengths=[<span class="hljs-number">8</span>, <span class="hljs-number">32</span>, <span class="hljs-number">128</span>, <span class="hljs-number">512</span>]
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>benchmark = TensorFlowBenchmark(args)`,wrap:!1}}),{c(){o(n.$$.fragment)},l(a){j(n.$$.fragment,a)},m(a,p){i(n,a,p),e=!0},p:N,i(a){e||(g(n.$$.fragment,a),e=!0)},o(a){f(n.$$.fragment,a),e=!1},d(a){$(n,a)}}}function la(b){let n,e;return n=new A({props:{$$slots:{default:[ea]},$$scope:{ctx:b}}}),{c(){o(n.$$.fragment)},l(a){j(n.$$.fragment,a)},m(a,p){i(n,a,p),e=!0},p(a,p){const c={};p&2&&(c.$$scope={dirty:p,ctx:a}),n.$set(c)},i(a){e||(g(n.$$.fragment,a),e=!0)},o(a){f(n.$$.fragment,a),e=!1},d(a){$(n,a)}}}function ra(b){let n,e,a,p="يُمكن ببساطة تشغيل كائن التقييم الذي تم تهيئته عن طريق استدعاء <code>benchmark.run()</code>.",c,_,T;return n=new B({props:{code:"cHl0aG9uJTIwZXhhbXBsZXMlMkZweXRvcmNoJTJGYmVuY2htYXJraW5nJTJGcnVuX2JlbmNobWFyay5weSUyMC0taGVscA==",highlighted:'python examples/pytorch/benchmarking/run_benchmark.py --<span class="hljs-built_in">help</span>',wrap:!1}}),_=new B({props:{code:"cmVzdWx0cyUyMCUzRCUyMGJlbmNobWFyay5ydW4oKSUwQXByaW50KHJlc3VsdHMpJTBBJTBBJTBB",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>results = benchmark.run()
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(results)
====================       INFERENCE - SPEED - RESULT       ====================
--------------------------------------------------------------------------------
Model Name             Batch Size     Seq Length     Time <span class="hljs-keyword">in</span> s                  
--------------------------------------------------------------------------------
google-bert/bert-base-uncased          <span class="hljs-number">8</span>               <span class="hljs-number">8</span>             <span class="hljs-number">0.006</span>     
google-bert/bert-base-uncased          <span class="hljs-number">8</span>               <span class="hljs-number">32</span>            <span class="hljs-number">0.006</span>     
google-bert/bert-base-uncased          <span class="hljs-number">8</span>              <span class="hljs-number">128</span>            <span class="hljs-number">0.018</span>     
google-bert/bert-base-uncased          <span class="hljs-number">8</span>              <span class="hljs-number">512</span>            <span class="hljs-number">0.088</span>     
--------------------------------------------------------------------------------

====================      INFERENCE - MEMORY - RESULT       ====================
--------------------------------------------------------------------------------
Model Name             Batch Size     Seq Length    Memory <span class="hljs-keyword">in</span> MB 
--------------------------------------------------------------------------------
google-bert/bert-base-uncased          <span class="hljs-number">8</span>               <span class="hljs-number">8</span>             <span class="hljs-number">1227</span>
google-bert/bert-base-uncased          <span class="hljs-number">8</span>               <span class="hljs-number">32</span>            <span class="hljs-number">1281</span>
google-bert/bert-base-uncased          <span class="hljs-number">8</span>              <span class="hljs-number">128</span>            <span class="hljs-number">1307</span>
google-bert/bert-base-uncased          <span class="hljs-number">8</span>              <span class="hljs-number">512</span>            <span class="hljs-number">1539</span>
--------------------------------------------------------------------------------

====================        ENVIRONMENT INFORMATION         ====================

- transformers_version: <span class="hljs-number">2.11</span><span class="hljs-number">.0</span>
- framework: PyTorch
- use_torchscript: <span class="hljs-literal">False</span>
- framework_version: <span class="hljs-number">1.4</span><span class="hljs-number">.0</span>
- python_version: <span class="hljs-number">3.6</span><span class="hljs-number">.10</span>
- system: Linux
- cpu: x86_64
- architecture: 64bit
- date: <span class="hljs-number">2020</span>-06-<span class="hljs-number">29</span>
- time: 08:<span class="hljs-number">58</span>:<span class="hljs-number">43.371351</span>
- fp16: <span class="hljs-literal">False</span>
- use_multiprocessing: <span class="hljs-literal">True</span>
- only_pretrain_model: <span class="hljs-literal">False</span>
- cpu_ram_mb: <span class="hljs-number">32088</span>
- use_gpu: <span class="hljs-literal">True</span>
- num_gpus: <span class="hljs-number">1</span>
- gpu: TITAN RTX
- gpu_ram_mb: <span class="hljs-number">24217</span>
- gpu_power_watts: <span class="hljs-number">280.0</span>
- gpu_performance_state: <span class="hljs-number">2</span>
- use_tpu: <span class="hljs-literal">False</span>`,wrap:!1}}),{c(){o(n.$$.fragment),e=u(),a=y("p"),a.innerHTML=p,c=u(),o(_.$$.fragment)},l(m){j(n.$$.fragment,m),e=h(m),a=d(m,"P",{"data-svelte-h":!0}),w(a)!=="svelte-1ajlu1q"&&(a.innerHTML=p),c=h(m),j(_.$$.fragment,m)},m(m,M){i(n,m,M),t(m,e,M),t(m,a,M),t(m,c,M),i(_,m,M),T=!0},p:N,i(m){T||(g(n.$$.fragment,m),g(_.$$.fragment,m),T=!0)},o(m){f(n.$$.fragment,m),f(_.$$.fragment,m),T=!1},d(m){m&&(r(e),r(a),r(c)),$(n,m),$(_,m)}}}function pa(b){let n,e;return n=new A({props:{$$slots:{default:[ra]},$$scope:{ctx:b}}}),{c(){o(n.$$.fragment)},l(a){j(n.$$.fragment,a)},m(a,p){i(n,a,p),e=!0},p(a,p){const c={};p&2&&(c.$$scope={dirty:p,ctx:a}),n.$set(c)},i(a){e||(g(n.$$.fragment,a),e=!0)},o(a){f(n.$$.fragment,a),e=!1},d(a){$(n,a)}}}function ta(b){let n,e,a,p="يُمكن بعد ذلك تشغيل كائن قياس الأداء الذي تم تهيئته عن طريق استدعاء <code>benchmark.run()</code>.",c,_,T;return n=new B({props:{code:"cHl0aG9uJTIwZXhhbXBsZXMlMkZ0ZW5zb3JmbG93JTJGYmVuY2htYXJraW5nJTJGcnVuX2JlbmNobWFya190Zi5weSUyMC0taGVscA==",highlighted:'python examples/tensorflow/benchmarking/run_benchmark_tf.py --<span class="hljs-built_in">help</span>',wrap:!1}}),_=new B({props:{code:"cmVzdWx0cyUyMCUzRCUyMGJlbmNobWFyay5ydW4oKSUwQXByaW50KHJlc3VsdHMpJTBBcmVzdWx0cyUyMCUzRCUyMGJlbmNobWFyay5ydW4oKSUwQXByaW50KHJlc3VsdHMpJTBBJTBBJTBB",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>results = benchmark.run()
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(results)
<span class="hljs-meta">&gt;&gt;&gt; </span>results = benchmark.run()
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(results)
====================       INFERENCE - SPEED - RESULT       ====================
--------------------------------------------------------------------------------
Model Name             Batch Size     Seq Length     Time <span class="hljs-keyword">in</span> s                  
--------------------------------------------------------------------------------
google-bert/bert-base-uncased          <span class="hljs-number">8</span>               <span class="hljs-number">8</span>             <span class="hljs-number">0.005</span>
google-bert/bert-base-uncased          <span class="hljs-number">8</span>               <span class="hljs-number">32</span>            <span class="hljs-number">0.008</span>
google-bert/bert-base-uncased          <span class="hljs-number">8</span>              <span class="hljs-number">128</span>            <span class="hljs-number">0.022</span>
google-bert/bert-base-uncased          <span class="hljs-number">8</span>              <span class="hljs-number">512</span>            <span class="hljs-number">0.105</span>
--------------------------------------------------------------------------------

====================      INFERENCE - MEMORY - RESULT       ====================
--------------------------------------------------------------------------------
Model Name             Batch Size     Seq Length    Memory <span class="hljs-keyword">in</span> MB 
--------------------------------------------------------------------------------
google-bert/bert-base-uncased          <span class="hljs-number">8</span>               <span class="hljs-number">8</span>             <span class="hljs-number">1330</span>
google-bert/bert-base-uncased          <span class="hljs-number">8</span>               <span class="hljs-number">32</span>            <span class="hljs-number">1330</span>
google-bert/bert-base-uncased          <span class="hljs-number">8</span>              <span class="hljs-number">128</span>            <span class="hljs-number">1330</span>
google-bert/bert-base-uncased          <span class="hljs-number">8</span>              <span class="hljs-number">512</span>            <span class="hljs-number">1770</span>
--------------------------------------------------------------------------------

====================        ENVIRONMENT INFORMATION         ====================

- transformers_version: <span class="hljs-number">202.11</span><span class="hljs-number">.0</span>
- framework: Tensorflow
- use_xla: <span class="hljs-literal">False</span>
- framework_version: <span class="hljs-number">2.2</span><span class="hljs-number">.0</span>
- python_version: <span class="hljs-number">3.6</span><span class="hljs-number">.10</span>
- system: Linux
- cpu: x86_64
- architecture: 64bit
- date: <span class="hljs-number">2020</span>-06-<span class="hljs-number">29</span>
- time: 09:<span class="hljs-number">26</span>:<span class="hljs-number">35.617317</span>
- fp16: <span class="hljs-literal">False</span>
- use_multiprocessing: <span class="hljs-literal">True</span>
- only_pretrain_model: <span class="hljs-literal">False</span>
- cpu_ram_mb: <span class="hljs-number">32088</span>
- use_gpu: <span class="hljs-literal">True</span>
- num_gpus: <span class="hljs-number">1</span>
- gpu: TITAN RTX
- gpu_ram_mb: <span class="hljs-number">24217</span>
- gpu_power_watts: <span class="hljs-number">280.0</span>
- gpu_performance_state: <span class="hljs-number">2</span>
- use_tpu: <span class="hljs-literal">False</span>`,wrap:!1}}),{c(){o(n.$$.fragment),e=u(),a=y("p"),a.innerHTML=p,c=u(),o(_.$$.fragment)},l(m){j(n.$$.fragment,m),e=h(m),a=d(m,"P",{"data-svelte-h":!0}),w(a)!=="svelte-4htuj4"&&(a.innerHTML=p),c=h(m),j(_.$$.fragment,m)},m(m,M){i(n,m,M),t(m,e,M),t(m,a,M),t(m,c,M),i(_,m,M),T=!0},p:N,i(m){T||(g(n.$$.fragment,m),g(_.$$.fragment,m),T=!0)},o(m){f(n.$$.fragment,m),f(_.$$.fragment,m),T=!1},d(m){m&&(r(e),r(a),r(c)),$(n,m),$(_,m)}}}function ma(b){let n,e;return n=new A({props:{$$slots:{default:[ta]},$$scope:{ctx:b}}}),{c(){o(n.$$.fragment)},l(a){j(n.$$.fragment,a)},m(a,p){i(n,a,p),e=!0},p(a,p){const c={};p&2&&(c.$$scope={dirty:p,ctx:a}),n.$set(c)},i(a){e||(g(n.$$.fragment,a),e=!0)},o(a){f(n.$$.fragment,a),e=!1},d(a){$(n,a)}}}function ca(b){let n,e;return n=new B({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFB5VG9yY2hCZW5jaG1hcmslRDglOEMlMjBQeVRvcmNoQmVuY2htYXJrQXJndW1lbnRzJUQ4JThDJTIwQmVydENvbmZpZyUwQSUwQWFyZ3MlMjAlM0QlMjBQeVRvcmNoQmVuY2htYXJrQXJndW1lbnRzKCUwQSUyMCUyMCUyMCUyMG1vZGVscyUzRCU1QiUyMmJlcnQtYmFzZSUyMiVEOCU4QyUyMCUyMmJlcnQtMzg0LWhpZCUyMiVEOCU4QyUyMCUyMmJlcnQtNi1sYXklMjIlNUQlRDglOEMlMjBiYXRjaF9zaXplcyUzRCU1QjglNUQlRDglOEMlMjBzZXF1ZW5jZV9sZW5ndGhzJTNEJTVCOCVEOCU4QyUyMDMyJUQ4JThDJTIwMTI4JUQ4JThDJTIwNTEyJTVEJTBBKSUwQWNvbmZpZ19iYXNlJTIwJTNEJTIwQmVydENvbmZpZygpJTBBY29uZmlnXzM4NF9oaWQlMjAlM0QlMjBCZXJ0Q29uZmlnKGhpZGRlbl9zaXplJTNEMzg0KSUwQWNvbmZpZ182X2xheSUyMCUzRCUyMEJlcnRDb25maWcobnVtX2hpZGRlbl9sYXllcnMlM0Q2KSUwQSUwQWJlbmNobWFyayUyMCUzRCUyMFB5VG9yY2hCZW5jaG1hcmsoYXJncyVEOCU4QyUyMGNvbmZpZ3MlM0QlNUJjb25maWdfYmFzZSVEOCU4QyUyMGNvbmZpZ18zODRfaGlkJUQ4JThDJTIwY29uZmlnXzZfbGF5JTVEKSUwQWJlbmNobWFyay5ydW4oKSUwQSUwQSUwQSUwQSUwQQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> PyTorchBenchmark، PyTorchBenchmarkArguments، BertConfig

<span class="hljs-meta">&gt;&gt;&gt; </span>args = PyTorchBenchmarkArguments(
<span class="hljs-meta">... </span>    models=[<span class="hljs-string">&quot;bert-base&quot;</span>، <span class="hljs-string">&quot;bert-384-hid&quot;</span>، <span class="hljs-string">&quot;bert-6-lay&quot;</span>]، batch_sizes=[<span class="hljs-number">8</span>]، sequence_lengths=[<span class="hljs-number">8</span>، <span class="hljs-number">32</span>، <span class="hljs-number">128</span>، <span class="hljs-number">512</span>]
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>config_base = BertConfig()
<span class="hljs-meta">&gt;&gt;&gt; </span>config_384_hid = BertConfig(hidden_size=<span class="hljs-number">384</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>config_6_lay = BertConfig(num_hidden_layers=<span class="hljs-number">6</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>benchmark = PyTorchBenchmark(args، configs=[config_base، config_384_hid، config_6_lay])
<span class="hljs-meta">&gt;&gt;&gt; </span>benchmark.run()
====================       INFERENCE - SPEED - RESULT       ====================
--------------------------------------------------------------------------------
Model Name             Batch Size     Seq Length       Time <span class="hljs-keyword">in</span> s                  
--------------------------------------------------------------------------------
bert-base                  <span class="hljs-number">8</span>              <span class="hljs-number">128</span>            <span class="hljs-number">0.006</span>
bert-base                  <span class="hljs-number">8</span>              <span class="hljs-number">512</span>            <span class="hljs-number">0.006</span>
bert-base                  <span class="hljs-number">8</span>              <span class="hljs-number">128</span>            <span class="hljs-number">0.018</span>     
bert-base                  <span class="hljs-number">8</span>              <span class="hljs-number">512</span>            <span class="hljs-number">0.088</span>     
bert-<span class="hljs-number">384</span>-hid              <span class="hljs-number">8</span>               <span class="hljs-number">8</span>             <span class="hljs-number">0.006</span>     
bert-<span class="hljs-number">384</span>-hid              <span class="hljs-number">8</span>               <span class="hljs-number">32</span>            <span class="hljs-number">0.006</span>     
bert-<span class="hljs-number">384</span>-hid              <span class="hljs-number">8</span>              <span class="hljs-number">128</span>            <span class="hljs-number">0.011</span>     
bert-<span class="hljs-number">384</span>-hid              <span class="hljs-number">8</span>              <span class="hljs-number">512</span>            <span class="hljs-number">0.054</span>     
bert-<span class="hljs-number">6</span>-lay                 <span class="hljs-number">8</span>               <span class="hljs-number">8</span>             <span class="hljs-number">0.003</span>     
bert-<span class="hljs-number">6</span>-lay                 <span class="hljs-number">8</span>               <span class="hljs-number">32</span>            <span class="hljs-number">0.004</span>     
bert-<span class="hljs-number">6</span>-lay                 <span class="hljs-number">8</span>              <span class="hljs-number">128</span>            <span class="hljs-number">0.009</span>     
bert-<span class="hljs-number">6</span>-lay                 <span class="hljs-number">8</span>              <span class="hljs-number">512</span>            <span class="hljs-number">0.044</span>
--------------------------------------------------------------------------------

====================      INFERENCE - MEMORY - RESULT       ====================
--------------------------------------------------------------------------------
Model Name             Batch Size     Seq Length      Memory <span class="hljs-keyword">in</span> MB
<span class="hljs-comment">## نتائج اختبار الأداء</span>

في هذا القسم، يتم قياس _وقت الاستدلال_ و _الذاكرة المطلوبة_ للاستدلال، لمختلف تكوينات \`BertModel\`. يتم عرض النتائج في جدول، مع تنسيق مختلف قليلاً لكل من PyTorch و TensorFlow.

--------------------------------------------------------------------------------
| اسم النموذج | حجم الدفعة | طول التسلسل | الذاكرة بالميغابايت |
--------------------------------------------------------------------------------
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">8</span> | <span class="hljs-number">1277</span> |
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">32</span> | <span class="hljs-number">1281</span> |
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">128</span> | <span class="hljs-number">1307</span> |
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">512</span> | <span class="hljs-number">1539</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">8</span> | <span class="hljs-number">1005</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">32</span> | <span class="hljs-number">1027</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">128</span> | <span class="hljs-number">1035</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">512</span> | <span class="hljs-number">1255</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">8</span> | <span class="hljs-number">1097</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">32</span> | <span class="hljs-number">1101</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">128</span> | <span class="hljs-number">1127</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">512</span> | <span class="hljs-number">1359</span> |
--------------------------------------------------------------------------------

==================== معلومات البيئة ====================

- transformers_version: <span class="hljs-number">2.11</span><span class="hljs-number">.0</span>
- framework: PyTorch
- use_torchscript: <span class="hljs-literal">False</span>
- framework_version: <span class="hljs-number">1.4</span><span class="hljs-number">.0</span>
- python_version: <span class="hljs-number">3.6</span><span class="hljs-number">.10</span>
- system: Linux
- cpu: x86_64
- architecture: 64bit
- date: <span class="hljs-number">2020</span>-06-<span class="hljs-number">29</span>
- time: 09:<span class="hljs-number">35</span>:<span class="hljs-number">25.143267</span>
- fp16: <span class="hljs-literal">False</span>
- use_multiprocessing: <span class="hljs-literal">True</span>
- only_pretrain_model: <span class="hljs-literal">False</span>
- cpu_ram_mb: <span class="hljs-number">32088</span>
- use_gpu: <span class="hljs-literal">True</span>
- num_gpus: <span class="hljs-number">1</span>
- gpu: TITAN RTX
- gpu_ram_mb: <span class="hljs-number">24217</span>
- gpu_power_watts: <span class="hljs-number">280.0</span>
- gpu_performance_state: <span class="hljs-number">2</span>
- use_tpu: <span class="hljs-literal">False</span>`,wrap:!1}}),{c(){o(n.$$.fragment)},l(a){j(n.$$.fragment,a)},m(a,p){i(n,a,p),e=!0},p:N,i(a){e||(g(n.$$.fragment,a),e=!0)},o(a){f(n.$$.fragment,a),e=!1},d(a){$(n,a)}}}function ua(b){let n,e;return n=new A({props:{$$slots:{default:[ca]},$$scope:{ctx:b}}}),{c(){o(n.$$.fragment)},l(a){j(n.$$.fragment,a)},m(a,p){i(n,a,p),e=!0},p(a,p){const c={};p&2&&(c.$$scope={dirty:p,ctx:a}),n.$set(c)},i(a){e||(g(n.$$.fragment,a),e=!0)},o(a){f(n.$$.fragment,a),e=!1},d(a){$(n,a)}}}function ha(b){let n,e;return n=new B({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRlbnNvckZsb3dCZW5jaG1hcmslMkMlMjBUZW5zb3JGbG93QmVuY2htYXJrQXJndW1lbnRzJTJDJTIwQmVydENvbmZpZyUwQSUwQWFyZ3MlMjAlM0QlMjBUZW5zb3JGbG93QmVuY2htYXJrQXJndW1lbnRzKCUwQSUyMCUyMCUyMCUyMG1vZGVscyUzRCU1QiUyMmJlcnQtYmFzZSUyMiUyQyUyMCUyMmJlcnQtMzg0LWhpZCUyMiUyQyUyMCUyMmJlcnQtNi1sYXklMjIlNUQlMkMlMjBiYXRjaF9zaXplcyUzRCU1QjglNUQlMkMlMjBzZXF1ZW5jZV9sZW5ndGhzJTNEJTVCOCUyQyUyMDMyJTJDJTIwMTI4JTJDJTIwNTEyJTVEJTBBKSUwQWNvbmZpZ19iYXNlJTIwJTNEJTIwQmVydENvbmZpZygpJTBBY29uZmlnXzM4NF9oaWQlMjAlM0QlMjBCZXJ0Q29uZmlnKGhpZGRlbl9zaXplJTNEMzg0KSUwQWNvbmZpZ182X2xheSUyMCUzRCUyMEJlcnRDb25maWcobnVtX2hpZGRlbl9sYXllcnMlM0Q2KSUwQSUwQWJlbmNobWFyayUyMCUzRCUyMFRlbnNvckZsb3dCZW5jaG1hcmsoYXJncyUyQyUyMGNvbmZpZ3MlM0QlNUJjb25maWdfYmFzZSUyQyUyMGNvbmZpZ18zODRfaGlkJTJDJTIwY29uZmlnXzZfbGF5JTVEKSUwQWJlbmNobWFyay5ydW4oKSUwQSUwQSUwQQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TensorFlowBenchmark, TensorFlowBenchmarkArguments, BertConfig

<span class="hljs-meta">&gt;&gt;&gt; </span>args = TensorFlowBenchmarkArguments(
<span class="hljs-meta">... </span>    models=[<span class="hljs-string">&quot;bert-base&quot;</span>, <span class="hljs-string">&quot;bert-384-hid&quot;</span>, <span class="hljs-string">&quot;bert-6-lay&quot;</span>], batch_sizes=[<span class="hljs-number">8</span>], sequence_lengths=[<span class="hljs-number">8</span>, <span class="hljs-number">32</span>, <span class="hljs-number">128</span>, <span class="hljs-number">512</span>]
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>config_base = BertConfig()
<span class="hljs-meta">&gt;&gt;&gt; </span>config_384_hid = BertConfig(hidden_size=<span class="hljs-number">384</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>config_6_lay = BertConfig(num_hidden_layers=<span class="hljs-number">6</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>benchmark = TensorFlowBenchmark(args, configs=[config_base, config_384_hid, config_6_lay])
<span class="hljs-meta">&gt;&gt;&gt; </span>benchmark.run()
==================== نتائج السرعة في الاستدلال ====================
--------------------------------------------------------------------------------
| اسم النموذج | حجم الدفعة | طول التسلسل | الوقت بالثانية |
--------------------------------------------------------------------------------
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">8</span> | <span class="hljs-number">0.005</span> |
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">32</span> | <span class="hljs-number">0.008</span> |
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">128</span> | <span class="hljs-number">0.022</span> |
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">512</span> | <span class="hljs-number">0.106</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">8</span> | <span class="hljs-number">0.005</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">32</span> | <span class="hljs-number">0.007</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">128</span> | <span class="hljs-number">0.018</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">512</span> | <span class="hljs-number">0.064</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">8</span> | <span class="hljs-number">0.002</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">32</span> | <span class="hljs-number">0.003</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">128</span> | <span class="hljs-number">0.0011</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">512</span> | <span class="hljs-number">0.074</span> |
--------------------------------------------------------------------------------

==================== نتائج الذاكرة في الاستدلال ====================
--------------------------------------------------------------------------------
| اسم النموذج | حجم الدفعة | طول التسلسل | الذاكرة بالميغابايت |
--------------------------------------------------------------------------------
| اسم النموذج | حجم الدفعة | طول التسلسل | الذاكرة بالميغابايت |
--------------------------------------------------------------------------------
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">8</span> | <span class="hljs-number">1330</span> |
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">32</span> | <span class="hljs-number">1330</span> |
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">128</span> | <span class="hljs-number">1330</span> |
| bert-base | <span class="hljs-number">8</span> | <span class="hljs-number">512</span> | <span class="hljs-number">1770</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">8</span> | <span class="hljs-number">1330</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">32</span> | <span class="hljs-number">1330</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">128</span> | <span class="hljs-number">1330</span> |
| bert-<span class="hljs-number">384</span>-hid | <span class="hljs-number">8</span> | <span class="hljs-number">512</span> | <span class="hljs-number">1540</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">8</span> | <span class="hljs-number">1330</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">32</span> | <span class="hljs-number">1330</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">128</span> | <span class="hljs-number">1330</span> |
| bert-<span class="hljs-number">6</span>-lay | <span class="hljs-number">8</span> | <span class="hljs-number">512</span> | <span class="hljs-number">1540</span> |
--------------------------------------------------------------------------------

==================== معلومات البيئة ====================

- transformers_version: <span class="hljs-number">2.11</span><span class="hljs-number">.0</span>
- framework: Tensorflow
- use_xla: <span class="hljs-literal">False</span>
- framework_version: <span class="hljs-number">2.2</span><span class="hljs-number">.0</span>
- python_version: <span class="hljs-number">3.6</span><span class="hljs-number">.10</span>
- system: Linux
- cpu: x86_64
- architecture: 64bit
- date: <span class="hljs-number">2020</span>-06-<span class="hljs-number">29</span>
- time: 09:<span class="hljs-number">38</span>:<span class="hljs-number">15.487125</span>
- fp16: <span class="hljs-literal">False</span>
- use_multiprocessing: <span class="hljs-literal">True</span>
- only_pretrain_model: <span class="hljs-literal">False</span>
- cpu_ram_mb: <span class="hljs-number">32088</span>
- use_gpu: <span class="hljs-literal">True</span>
- num_gpus: <span class="hljs-number">1</span>
- gpu: TITAN RTX
- gpu_ram_mb: <span class="hljs-number">24217</span>
- gpu_power_watts: <span class="hljs-number">280.0</span>
- gpu_performance_state: <span class="hljs-number">2</span>
- use_tpu: <span class="hljs-literal">False</span>`,wrap:!1}}),{c(){o(n.$$.fragment)},l(a){j(n.$$.fragment,a)},m(a,p){i(n,a,p),e=!0},p:N,i(a){e||(g(n.$$.fragment,a),e=!0)},o(a){f(n.$$.fragment,a),e=!1},d(a){$(n,a)}}}function ba(b){let n,e;return n=new A({props:{$$slots:{default:[ha]},$$scope:{ctx:b}}}),{c(){o(n.$$.fragment)},l(a){j(n.$$.fragment,a)},m(a,p){i(n,a,p),e=!0},p(a,p){const c={};p&2&&(c.$$scope={dirty:p,ctx:a}),n.$set(c)},i(a){e||(g(n.$$.fragment,a),e=!0)},o(a){f(n.$$.fragment,a),e=!1},d(a){$(n,a)}}}function oa(b){let n,e,a,p,c,_,T,m,M,D,Q,Ts="لنلق نظرة على كيفية تقييم أداء نماذج 🤗 Transformers، وأفضل الممارسات، ومعايير الأداء المتاحة بالفعل.",O,Z,ws='يُمكن العثور على دفتر ملاحظات يشرح بالتفصيل كيفية قياس أداء نماذج 🤗 Transformers <a href="https://github.com/huggingface/notebooks/tree/main/examples/benchmark.ipynb" rel="nofollow">هنا</a>.',K,v,ss,E,Us="تسمح الفئتان <code>PyTorchBenchmark</code> و <code>TensorFlowBenchmark</code> بتقييم أداء نماذج 🤗 Transformers بمرونة. تتيح لنا فئات التقييم قياس الأداء قياس <em>الاستخدام الأقصى للذاكرة</em> و <em>الوقت اللازم</em> لكل من <em>الاستدلال</em> و <em>التدريب</em>.",as,U,ns,W,Js="تتوقع فئات تقييم الأداء <code>PyTorchBenchmark</code> و <code>TensorFlowBenchmark</code> كائنًا من النوع <code>PyTorchBenchmarkArguments</code> و <code>TensorFlowBenchmarkArguments</code>، على التوالي، للتنفيذ. <code>PyTorchBenchmarkArguments</code> و <code>TensorFlowBenchmarkArguments</code> هي فئات بيانات وتحتوي على جميع التكوينات ذات الصلة لفئة تقييم الأداء المقابلة. في المثال التالي، يتم توضيح كيفية تقييم أداء نموذج BERT من النوع <em>bert-base-cased</em>.",es,J,ls,F,ks='هنا، يتم تمرير ثلاثة معامﻻت إلى فئات بيانات حجة قياس الأداء، وهي <code>models</code> و <code>batch_sizes</code> و <code>sequence_lengths</code>. المعامل <code>models</code> مطلوبة وتتوقع <code>قائمة</code> من بمعرّفات النموذج من <a href="https://huggingface.co/models" rel="nofollow">مركز النماذج</a> تحدد معامﻻت القائمة <code>batch_sizes</code> و <code>sequence_lengths</code> حجم <code>input_ids</code> الذي يتم قياس أداء النموذج عليه. هناك العديد من المعلمات الأخرى التي يمكن تكوينها عبر فئات بيانات معال قياس الأداء. لمزيد من التفاصيل حول هذه المعلمات، يمكنك إما الرجوع مباشرة إلى الملفات <code>src/transformers/benchmark/benchmark_args_utils.py</code>، <code>src/transformers/benchmark/benchmark_args.py</code> (لـ PyTorch) و <code>src/transformers/benchmark/benchmark_args_tf.py</code> (لـ Tensorflow). أو، بدلاً من ذلك، قم بتشغيل أوامر shell التالية من المجلد الرئيسي لطباعة قائمة وصفية بجميع المعلمات القابلة للتكوين لـ PyTorch و Tensorflow على التوالي.',rs,k,ps,z,Cs="بشكل افتراضي، يتم تقييم <em>الوقت</em> و <em>الذاكرة المطلوبة</em> لـ <em>الاستدلال</em>. في مثال المخرجات أعلاه، يُظهر القسمان الأولان النتيجة المقابلة لـ <em>وقت الاستدلال</em> و <em>ذاكرة الاستدلال</em>. بالإضافة إلى ذلك، يتم طباعة جميع المعلومات ذات الصلة حول بيئة الحوسبة، على سبيل المثال نوع وحدة معالجة الرسومات (GPU)، والنظام، وإصدارات المكتبة، وما إلى ذلك، في القسم الثالث تحت <em>معلومات البيئة</em>. يمكن حفظ هذه المعلومات بشكل اختياري في ملف <em>.csv</em> عند إضافة المعامل <code>save_to_csv=True</code> إلى <code>PyTorchBenchmarkArguments</code> و <code>TensorFlowBenchmarkArguments</code> على التوالي. في هذه الحالة، يتم حفظ كل قسم في ملف <em>.csv</em> منفصل. يمكن اختيارًا تحديد مسار كل ملف <em>.csv</em> عبر فئات بيانات معامل قياس الأداء.",ts,R,Bs="بدلاً من تقييم النماذج المدربة مسبقًا عبر معرّف النموذج، على سبيل المثال <code>google-bert/bert-base-uncased</code>، يُمكن للمستخدم بدلاً من ذلك قياس أداء تكوين عشوائي لأي فئة نموذج متاحة. في هذه الحالة، يجب إدراج “قائمة” من التكوينات مع معامل قياس الأداء كما هو موضح أدناه.",ms,C,cs,X,Ns="مرة أخرى، يتم قياس <em>وقت الاستدلال</em> و <em>الذاكرة المطلوبة</em> للاستدلال، ولكن هذه المرة لتكوينات مخصصة لـ <code>BertModel</code>. يمكن أن تكون هذه الميزة مفيدة بشكل خاص عند اتخاذ قرار بشأن التكوين الذي يجب تدريب النموذج عليه.",us,V,hs,x,Qs="يسرد هذا القسم بعض أفضل الممارسات التي يجب مراعاتها عند إجراء اختبار الأداء لنموذج ما.",bs,G,Zs="<li>حالياً، يتم دعم اختبار الأداء على جهاز واحد فقط. عند إجراء الاختبار على وحدة معالجة الرسوميات (GPU)، يوصى بأن يقوم المستخدم بتحديد الجهاز الذي يجب تشغيل التعليمات البرمجية عليه من خلال تعيين متغير البيئة <code>CUDA_VISIBLE_DEVICES</code> في الشل، على سبيل المثال <code>export CUDA_VISIBLE_DEVICES=0</code> قبل تشغيل التعليمات البرمجية.</li> <li>يجب تعيين الخيار <code>no_multi_processing</code> إلى <code>True</code> فقط لأغراض الاختبار والتصحيح. ولضمان قياس الذاكرة بدقة، يوصى بتشغيل كل اختبار ذاكرة في عملية منفصلة والتأكد من تعيين <code>no_multi_processing</code> إلى <code>True</code>.</li> <li>يجب دائمًا ذكر معلومات البيئة عند مشاركة نتائج تقييم النموذج. يُمكن أن تختلف النتائج اختلافًا كبيرًا بين أجهزة GPU المختلفة وإصدارات المكتبات، وما إلى ذلك، لذلك فإن نتائج الاختبار بمفردها ليست مفيدة جدًا للمجتمع.</li>",os,S,js,I,vs="في السابق، تم إجراء اختبار الأداء لجميع النماذج الأساسية المتاحة (10 في ذلك الوقت) لقياس <em>وقت الاستدلال</em>، عبر العديد من الإعدادات المختلفة: باستخدام PyTorch، مع TorchScript وبدونها، باستخدام TensorFlow، مع XLA وبدونه. تم إجراء جميع هذه الاختبارات على وحدات المعالجة المركزية (CPU) (باستثناء XLA TensorFlow) ووحدات معالجة الرسوميات (GPU).",is,L,Es='يتم شرح هذا النهج بالتفصيل في <a href="https://medium.com/huggingface/benchmarking-transformers-pytorch-and-tensorflow-e2917fb891c2" rel="nofollow">منشور المدونة هذا</a> وتتوفر النتائج <a href="https://docs.google.com/spreadsheets/d/1sryqufw2D0XlUH4sq3e9Wnxu5EAQkaohzrJbd5HdQ_w/edit?usp=sharing" rel="nofollow">هنا</a>.',gs,Y,Ws="مع أدوات اختبار الأداء الجديدة، أصبح من الأسهل من أي وقت مضى مشاركة نتائج اختبار الأداء الخاص بك مع المجتمع:",fs,H,Fs='<li><a href="https://github.com/huggingface/transformers/tree/main/examples/pytorch/benchmarking/README.md" rel="nofollow">نتائج اختبار الأداء في PyTorch</a>.</li> <li><a href="https://github.com/huggingface/transformers/tree/main/examples/tensorflow/benchmarking/README.md" rel="nofollow">نتائج اختبار الأداء في TensorFlow</a>.</li>',$s,P,ys,q,ds;return c=new _s({props:{title:"معايير الأداء",local:"معايير-الأداء",headingTag:"h1"}}),T=new Is({props:{warning:!0,$$slots:{default:[Ks]},$$scope:{ctx:b}}}),M=new Ds({props:{classNames:"absolute z-10 right-0 top-0",options:[{label:"Mixed",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ar/benchmarks.ipynb"},{label:"PyTorch",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ar/pytorch/benchmarks.ipynb"},{label:"TensorFlow",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ar/tensorflow/benchmarks.ipynb"},{label:"Mixed",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ar/benchmarks.ipynb"},{label:"PyTorch",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ar/pytorch/benchmarks.ipynb"},{label:"TensorFlow",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ar/tensorflow/benchmarks.ipynb"}]}}),v=new _s({props:{title:"كيفية قياس أداء نماذج 🤗 Transformers",local:"كيفية-قياس-أداء-نماذج--transformers",headingTag:"h2"}}),U=new Is({props:{$$slots:{default:[sa]},$$scope:{ctx:b}}}),J=new Ms({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[la],pytorch:[na]},$$scope:{ctx:b}}}),k=new Ms({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[ma],pytorch:[pa]},$$scope:{ctx:b}}}),C=new Ms({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[ba],pytorch:[ua]},$$scope:{ctx:b}}}),V=new _s({props:{title:"أفضل الممارسات في اختبار الأداء",local:"أفضل-الممارسات-في-اختبار-الأداء",headingTag:"h2"}}),S=new _s({props:{title:"مشاركة نتائج اختبار الأداء الخاص بك",local:"مشاركة-نتائج-اختبار-الأداء-الخاص-بك",headingTag:"h2"}}),P=new Os({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/ar/benchmarks.md"}}),{c(){n=y("meta"),e=u(),a=y("p"),p=u(),o(c.$$.fragment),_=u(),o(T.$$.fragment),m=u(),o(M.$$.fragment),D=u(),Q=y("p"),Q.textContent=Ts,O=u(),Z=y("p"),Z.innerHTML=ws,K=u(),o(v.$$.fragment),ss=u(),E=y("p"),E.innerHTML=Us,as=u(),o(U.$$.fragment),ns=u(),W=y("p"),W.innerHTML=Js,es=u(),o(J.$$.fragment),ls=u(),F=y("p"),F.innerHTML=ks,rs=u(),o(k.$$.fragment),ps=u(),z=y("p"),z.innerHTML=Cs,ts=u(),R=y("p"),R.innerHTML=Bs,ms=u(),o(C.$$.fragment),cs=u(),X=y("p"),X.innerHTML=Ns,us=u(),o(V.$$.fragment),hs=u(),x=y("p"),x.textContent=Qs,bs=u(),G=y("ul"),G.innerHTML=Zs,os=u(),o(S.$$.fragment),js=u(),I=y("p"),I.innerHTML=vs,is=u(),L=y("p"),L.innerHTML=Es,gs=u(),Y=y("p"),Y.textContent=Ws,fs=u(),H=y("ul"),H.innerHTML=Fs,$s=u(),o(P.$$.fragment),ys=u(),q=y("p"),this.h()},l(s){const l=As("svelte-u9bgzb",document.head);n=d(l,"META",{name:!0,content:!0}),l.forEach(r),e=h(s),a=d(s,"P",{}),Gs(a).forEach(r),p=h(s),j(c.$$.fragment,s),_=h(s),j(T.$$.fragment,s),m=h(s),j(M.$$.fragment,s),D=h(s),Q=d(s,"P",{"data-svelte-h":!0}),w(Q)!=="svelte-6xcuon"&&(Q.textContent=Ts),O=h(s),Z=d(s,"P",{"data-svelte-h":!0}),w(Z)!=="svelte-n8jgs2"&&(Z.innerHTML=ws),K=h(s),j(v.$$.fragment,s),ss=h(s),E=d(s,"P",{"data-svelte-h":!0}),w(E)!=="svelte-1bx7ar6"&&(E.innerHTML=Us),as=h(s),j(U.$$.fragment,s),ns=h(s),W=d(s,"P",{"data-svelte-h":!0}),w(W)!=="svelte-10c8gct"&&(W.innerHTML=Js),es=h(s),j(J.$$.fragment,s),ls=h(s),F=d(s,"P",{"data-svelte-h":!0}),w(F)!=="svelte-1vvmk00"&&(F.innerHTML=ks),rs=h(s),j(k.$$.fragment,s),ps=h(s),z=d(s,"P",{"data-svelte-h":!0}),w(z)!=="svelte-1q06oin"&&(z.innerHTML=Cs),ts=h(s),R=d(s,"P",{"data-svelte-h":!0}),w(R)!=="svelte-j785ca"&&(R.innerHTML=Bs),ms=h(s),j(C.$$.fragment,s),cs=h(s),X=d(s,"P",{"data-svelte-h":!0}),w(X)!=="svelte-122bxr8"&&(X.innerHTML=Ns),us=h(s),j(V.$$.fragment,s),hs=h(s),x=d(s,"P",{"data-svelte-h":!0}),w(x)!=="svelte-b225op"&&(x.textContent=Qs),bs=h(s),G=d(s,"UL",{"data-svelte-h":!0}),w(G)!=="svelte-1uhq69v"&&(G.innerHTML=Zs),os=h(s),j(S.$$.fragment,s),js=h(s),I=d(s,"P",{"data-svelte-h":!0}),w(I)!=="svelte-r8at8i"&&(I.innerHTML=vs),is=h(s),L=d(s,"P",{"data-svelte-h":!0}),w(L)!=="svelte-u6lb2k"&&(L.innerHTML=Es),gs=h(s),Y=d(s,"P",{"data-svelte-h":!0}),w(Y)!=="svelte-18njil1"&&(Y.textContent=Ws),fs=h(s),H=d(s,"UL",{"data-svelte-h":!0}),w(H)!=="svelte-19e0l7c"&&(H.innerHTML=Fs),$s=h(s),j(P.$$.fragment,s),ys=h(s),q=d(s,"P",{}),Gs(q).forEach(r),this.h()},h(){Ss(n,"name","hf:doc:metadata"),Ss(n,"content",ja)},m(s,l){qs(document.head,n),t(s,e,l),t(s,a,l),t(s,p,l),i(c,s,l),t(s,_,l),i(T,s,l),t(s,m,l),i(M,s,l),t(s,D,l),t(s,Q,l),t(s,O,l),t(s,Z,l),t(s,K,l),i(v,s,l),t(s,ss,l),t(s,E,l),t(s,as,l),i(U,s,l),t(s,ns,l),t(s,W,l),t(s,es,l),i(J,s,l),t(s,ls,l),t(s,F,l),t(s,rs,l),i(k,s,l),t(s,ps,l),t(s,z,l),t(s,ts,l),t(s,R,l),t(s,ms,l),i(C,s,l),t(s,cs,l),t(s,X,l),t(s,us,l),i(V,s,l),t(s,hs,l),t(s,x,l),t(s,bs,l),t(s,G,l),t(s,os,l),i(S,s,l),t(s,js,l),t(s,I,l),t(s,is,l),t(s,L,l),t(s,gs,l),t(s,Y,l),t(s,fs,l),t(s,H,l),t(s,$s,l),i(P,s,l),t(s,ys,l),t(s,q,l),ds=!0},p(s,[l]){const zs={};l&2&&(zs.$$scope={dirty:l,ctx:s}),T.$set(zs);const Rs={};l&2&&(Rs.$$scope={dirty:l,ctx:s}),U.$set(Rs);const Xs={};l&2&&(Xs.$$scope={dirty:l,ctx:s}),J.$set(Xs);const Vs={};l&2&&(Vs.$$scope={dirty:l,ctx:s}),k.$set(Vs);const xs={};l&2&&(xs.$$scope={dirty:l,ctx:s}),C.$set(xs)},i(s){ds||(g(c.$$.fragment,s),g(T.$$.fragment,s),g(M.$$.fragment,s),g(v.$$.fragment,s),g(U.$$.fragment,s),g(J.$$.fragment,s),g(k.$$.fragment,s),g(C.$$.fragment,s),g(V.$$.fragment,s),g(S.$$.fragment,s),g(P.$$.fragment,s),ds=!0)},o(s){f(c.$$.fragment,s),f(T.$$.fragment,s),f(M.$$.fragment,s),f(v.$$.fragment,s),f(U.$$.fragment,s),f(J.$$.fragment,s),f(k.$$.fragment,s),f(C.$$.fragment,s),f(V.$$.fragment,s),f(S.$$.fragment,s),f(P.$$.fragment,s),ds=!1},d(s){s&&(r(e),r(a),r(p),r(_),r(m),r(D),r(Q),r(O),r(Z),r(K),r(ss),r(E),r(as),r(ns),r(W),r(es),r(ls),r(F),r(rs),r(ps),r(z),r(ts),r(R),r(ms),r(cs),r(X),r(us),r(hs),r(x),r(bs),r(G),r(os),r(js),r(I),r(is),r(L),r(gs),r(Y),r(fs),r(H),r($s),r(ys),r(q)),r(n),$(c,s),$(T,s),$(M,s),$(v,s),$(U,s),$(J,s),$(k,s),$(C,s),$(V,s),$(S,s),$(P,s)}}}const ja='{"title":"معايير الأداء","local":"معايير-الأداء","sections":[{"title":"كيفية قياس أداء نماذج 🤗 Transformers","local":"كيفية-قياس-أداء-نماذج--transformers","sections":[],"depth":2},{"title":"أفضل الممارسات في اختبار الأداء","local":"أفضل-الممارسات-في-اختبار-الأداء","sections":[],"depth":2},{"title":"مشاركة نتائج اختبار الأداء الخاص بك","local":"مشاركة-نتائج-اختبار-الأداء-الخاص-بك","sections":[],"depth":2}],"depth":1}';function ia(b){return Ys(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ta extends Hs{constructor(n){super(),Ps(this,n,ia,oa,Ls,{})}}export{Ta as component};
