import{s as $e,o as Ue}from"../chunks/scheduler.cc52f4b9.js";import{S as we,i as _e,e as k,s as o,c as y,h as ve,a as j,d as a,b as c,f as Te,g,j as _,k as ae,l as Ce,m as r,n as J,o as d,u as ke,t as f,p as T,q as Ze,r as We,v as je}from"../chunks/index.9480bb2b.js";import{T as Ve}from"../chunks/Tip.f7b80743.js";import{C as Ne,H as ze,E as Ee}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.04d617be.js";import{C as L}from"../chunks/CodeBlock.f4148b32.js";import{C as xe}from"../chunks/CourseFloatingBanner.cdc38ef1.js";import{F as Fe}from"../chunks/FrameworkSwitchCourse.42d12053.js";function Qe(M){let t,i;return t=new xe({props:{chapter:4,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"English",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/en/chapter4/section2_tf.ipynb"},{label:"Français",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/fr/chapter4/section2_tf.ipynb"},{label:"English",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/en/chapter4/section2_tf.ipynb"},{label:"Français",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/fr/chapter4/section2_tf.ipynb"}]}}),{c(){y(t.$$.fragment)},l(l){g(t.$$.fragment,l)},m(l,h){J(t,l,h),i=!0},i(l){i||(f(t.$$.fragment,l),i=!0)},o(l){d(t.$$.fragment,l),i=!1},d(l){T(t,l)}}}function Be(M){let t,i;return t=new xe({props:{chapter:4,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"English",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/en/chapter4/section2_pt.ipynb"},{label:"Français",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/fr/chapter4/section2_pt.ipynb"},{label:"English",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/en/chapter4/section2_pt.ipynb"},{label:"Français",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/fr/chapter4/section2_pt.ipynb"}]}}),{c(){y(t.$$.fragment)},l(l){g(t.$$.fragment,l)},m(l,h){J(t,l,h),i=!0},i(l){i||(f(t.$$.fragment,l),i=!0)},o(l){d(t.$$.fragment,l),i=!1},d(l){T(t,l)}}}function Ie(M){let t,i,l,h='Cependant, nous recommandons d’utiliser les classes <a href="https://huggingface.co/transformers/model_doc/auto.html?highlight=auto#auto-classes" rel="nofollow"><code>TFAuto*</code></a> à la place, car elles sont par conception indépendantes de l’architecture. Alors que l’exemple de code précédent limite les utilisateurs aux <em>checkpoints</em> chargeables dans l’architecture CamemBERT, l’utilisation des classes <code>TFAuto*</code> facilite le changement de <em>checkpoint</em> :',u,m,b;return t=new L({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMENhbWVtYmVydFRva2VuaXplciUyQyUyMFRGQ2FtZW1iZXJ0Rm9yTWFza2VkTE0lMEElMEF0b2tlbml6ZXIlMjAlM0QlMjBDYW1lbWJlcnRUb2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMmNhbWVtYmVydC1iYXNlJTIyKSUwQW1vZGVsJTIwJTNEJTIwVEZDYW1lbWJlcnRGb3JNYXNrZWRMTS5mcm9tX3ByZXRyYWluZWQoJTIyY2FtZW1iZXJ0LWJhc2UlMjIp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> CamembertTokenizer, TFCamembertForMaskedLM

tokenizer = CamembertTokenizer.from_pretrained(<span class="hljs-string">&quot;camembert-base&quot;</span>)
model = TFCamembertForMaskedLM.from_pretrained(<span class="hljs-string">&quot;camembert-base&quot;</span>)`,wrap:!1}}),m=new L({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMkMlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNJTBBJTBBdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplci5mcm9tX3ByZXRyYWluZWQoJTIyY2FtZW1iZXJ0LWJhc2UlMjIpJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZCglMjJjYW1lbWJlcnQtYmFzZSUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, TFAutoModelForMaskedLM

tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;camembert-base&quot;</span>)
model = TFAutoModelForMaskedLM.from_pretrained(<span class="hljs-string">&quot;camembert-base&quot;</span>)`,wrap:!1}}),{c(){y(t.$$.fragment),i=o(),l=k("p"),l.innerHTML=h,u=o(),y(m.$$.fragment)},l(s){g(t.$$.fragment,s),i=c(s),l=j(s,"P",{"data-svelte-h":!0}),_(l)!=="svelte-83gnjn"&&(l.innerHTML=h),u=c(s),g(m.$$.fragment,s)},m(s,p){J(t,s,p),r(s,i,p),r(s,l,p),r(s,u,p),J(m,s,p),b=!0},i(s){b||(f(t.$$.fragment,s),f(m.$$.fragment,s),b=!0)},o(s){d(t.$$.fragment,s),d(m.$$.fragment,s),b=!1},d(s){s&&(a(i),a(l),a(u)),T(t,s),T(m,s)}}}function Ye(M){let t,i,l,h='Cependant, nous recommandons d’utiliser les classes <a href="https://huggingface.co/transformers/model_doc/auto.html?highlight=auto#auto-classes" rel="nofollow"><code>Auto*</code></a> à la place, car elles sont par conception indépendantes de l’architecture. Alors que l’exemple de code précédent limite les utilisateurs aux <em>checkpoints</em> chargeables dans l’architecture CamemBERT, l’utilisation des classes <code>Auto*</code> facilite le changement de <em>checkpoint</em> :',u,m,b;return t=new L({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMENhbWVtYmVydFRva2VuaXplciUyQyUyMENhbWVtYmVydEZvck1hc2tlZExNJTBBJTBBdG9rZW5pemVyJTIwJTNEJTIwQ2FtZW1iZXJ0VG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJjYW1lbWJlcnQtYmFzZSUyMiklMEFtb2RlbCUyMCUzRCUyMENhbWVtYmVydEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZCglMjJjYW1lbWJlcnQtYmFzZSUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> CamembertTokenizer, CamembertForMaskedLM

tokenizer = CamembertTokenizer.from_pretrained(<span class="hljs-string">&quot;camembert-base&quot;</span>)
model = CamembertForMaskedLM.from_pretrained(<span class="hljs-string">&quot;camembert-base&quot;</span>)`,wrap:!1}}),m=new L({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMkMlMjBBdXRvTW9kZWxGb3JNYXNrZWRMTSUwQSUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMmNhbWVtYmVydC1iYXNlJTIyKSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yTWFza2VkTE0uZnJvbV9wcmV0cmFpbmVkKCUyMmNhbWVtYmVydC1iYXNlJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AutoModelForMaskedLM

tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;camembert-base&quot;</span>)
model = AutoModelForMaskedLM.from_pretrained(<span class="hljs-string">&quot;camembert-base&quot;</span>)`,wrap:!1}}),{c(){y(t.$$.fragment),i=o(),l=k("p"),l.innerHTML=h,u=o(),y(m.$$.fragment)},l(s){g(t.$$.fragment,s),i=c(s),l=j(s,"P",{"data-svelte-h":!0}),_(l)!=="svelte-8qvpr"&&(l.innerHTML=h),u=c(s),g(m.$$.fragment,s)},m(s,p){J(t,s,p),r(s,i,p),r(s,l,p),r(s,u,p),J(m,s,p),b=!0},i(s){b||(f(t.$$.fragment,s),f(m.$$.fragment,s),b=!0)},o(s){d(t.$$.fragment,s),d(m.$$.fragment,s),b=!1},d(s){s&&(a(i),a(l),a(u)),T(t,s),T(m,s)}}}function qe(M){let t;return{c(){t=Ze("Lorsque vous utilisez un modèle pré-entraîné, assurez-vous de vérifier comment il a été entraîné, sur quels jeux de données, ses limites et ses biais. Toutes ces informations doivent être indiquées dans sa carte.")},l(i){t=We(i,"Lorsque vous utilisez un modèle pré-entraîné, assurez-vous de vérifier comment il a été entraîné, sur quels jeux de données, ses limites et ses biais. Toutes ces informations doivent être indiquées dans sa carte.")},m(i,l){r(i,t,l)},d(i){i&&a(t)}}}function Ge(M){let t,i,l,h,u,m,b,s,p,X,x,$,q,W,oe="Le <em>Hub</em> rend simple la sélection d’un modèle et permet alors que celui-ci puisse être utilisé dans toute bibliothèque en aval en seulement quelques lignes de code. Voyons comment utiliser concrètement l’un de ces modèles et comment contribuer au développement de la communauté.",S,V,ce="Supposons que nous recherchions un modèle basé sur le français, capable de remplir des masques.",R,v,me='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/camembert.gif" alt="Selecting the Camembert model." width="80%"/>',H,N,pe="Nous choisissons le <em>checkpoint</em> <code>camembert-base</code> pour essayer. L’identifiant <code>camembert-base</code> est tout ce dont nous avons besoin pour commencer à utiliser le modèle ! Comme vous l’avez vu dans les chapitres précédents, nous pouvons l’instancier en utilisant la fonction <code>pipeline()</code> :",D,z,P,E,K,F,ue="Comme vous pouvez le constater, le chargement d’un modèle dans un pipeline est extrêmement simple. La seule chose à laquelle vous devez faire attention est que le <em>checkpoint</em> choisi soit adapté à la tâche pour laquelle il va être utilisé. Par exemple, ici nous chargeons le <em>checkpoint</em> <code>camembert-base</code> dans le pipeline <code>fill-mask</code>, ce qui est tout à fait correct. Mais si nous chargerions ce <em>checkpoint</em> dans le pipeline <code>text-classification</code>, les résultats n’auraient aucun sens car la tête de <code>camembert-base</code> n’est pas adaptée à cette tâche ! Nous recommandons d’utiliser le sélecteur de tâche dans l’interface du <em>Hub</em> afin de sélectionner les <em>checkpoints</em> appropriés :",O,C,be='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/tasks.png" alt="The task selector on the web interface." width="80%"/>',ee,Q,de="Vous pouvez également instancier le <em>checkpoint</em> en utilisant directement l’architecture du modèle :",se,U,w,G,Z,te,B,le,A,ne;u=new Fe({props:{fw:M[0]}}),b=new Ne({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),p=new ze({props:{title:"Utilisation de modèles pré-entraînés",local:"utilisation-de-modèles-pré-entraînés",headingTag:"h1"}});const fe=[Be,Qe],I=[];function he(e,n){return e[0]==="pt"?0:1}x=he(M),$=I[x]=fe[x](M),z=new L({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBY2FtZW1iZXJ0X2ZpbGxfbWFzayUyMCUzRCUyMHBpcGVsaW5lKCUyMmZpbGwtbWFzayUyMiUyQyUyMG1vZGVsJTNEJTIyY2FtZW1iZXJ0LWJhc2UlMjIpJTBBcmVzdWx0cyUyMCUzRCUyMGNhbWVtYmVydF9maWxsX21hc2soJTIyTGUlMjBjYW1lbWJlcnQlMjBlc3QlMjAlM0NtYXNrJTNFJTIwJTNBKSUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

camembert_fill_mask = pipeline(<span class="hljs-string">&quot;fill-mask&quot;</span>, model=<span class="hljs-string">&quot;camembert-base&quot;</span>)
results = camembert_fill_mask(<span class="hljs-string">&quot;Le camembert est &lt;mask&gt; :)&quot;</span>)`,wrap:!1}}),E=new L({props:{code:"JTVCJTBBJTIwJTIwJTdCJ3NlcXVlbmNlJyUzQSUyMCdMZSUyMGNhbWVtYmVydCUyMGVzdCUyMGQlQzMlQTlsaWNpZXV4JTIwJTNBKSclMkMlMjAnc2NvcmUnJTNBJTIwMC40OTA5MTAwNTMyNTMxNzM4MyUyQyUyMCd0b2tlbiclM0ElMjA3MjAwJTJDJTIwJ3Rva2VuX3N0ciclM0ElMjAnZCVDMyVBOWxpY2lldXgnJTdEJTJDJTIwJTBBJTIwJTIwJTdCJ3NlcXVlbmNlJyUzQSUyMCdMZSUyMGNhbWVtYmVydCUyMGVzdCUyMGV4Y2VsbGVudCUyMCUzQSknJTJDJTIwJ3Njb3JlJyUzQSUyMDAuMTA1NTY5NzQyNjE5OTkxMyUyQyUyMCd0b2tlbiclM0ElMjAyMTgzJTJDJTIwJ3Rva2VuX3N0ciclM0ElMjAnZXhjZWxsZW50JyU3RCUyQyUyMCUwQSUyMCUyMCU3QidzZXF1ZW5jZSclM0ElMjAnTGUlMjBjYW1lbWJlcnQlMjBlc3QlMjBzdWNjdWxlbnQlMjAlM0EpJyUyQyUyMCdzY29yZSclM0ElMjAwLjAzNDUzMzEzMTg2NzY0NzE3JTJDJTIwJ3Rva2VuJyUzQSUyMDI2MjAyJTJDJTIwJ3Rva2VuX3N0ciclM0ElMjAnc3VjY3VsZW50JyU3RCUyQyUyMCUwQSUyMCUyMCU3QidzZXF1ZW5jZSclM0ElMjAnTGUlMjBjYW1lbWJlcnQlMjBlc3QlMjBtZWlsbGV1ciUyMCUzQSknJTJDJTIwJ3Njb3JlJyUzQSUyMDAuMDMzMDMxNDExNDY4OTgyNyUyQyUyMCd0b2tlbiclM0ElMjA1MjglMkMlMjAndG9rZW5fc3RyJyUzQSUyMCdtZWlsbGV1ciclN0QlMkMlMjAlMEElMjAlMjAlN0Inc2VxdWVuY2UnJTNBJTIwJ0xlJTIwY2FtZW1iZXJ0JTIwZXN0JTIwcGFyZmFpdCUyMCUzQSknJTJDJTIwJ3Njb3JlJyUzQSUyMDAuMDMwMDc2NTAxODkxMDE2OTYlMkMlMjAndG9rZW4nJTNBJTIwMTY1NCUyQyUyMCd0b2tlbl9zdHInJTNBJTIwJ3BhcmZhaXQnJTdEJTBBJTVE",highlighted:`[
  {<span class="hljs-string">&#x27;sequence&#x27;</span>: <span class="hljs-string">&#x27;Le camembert est délicieux :)&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.49091005325317383</span>, <span class="hljs-string">&#x27;token&#x27;</span>: <span class="hljs-number">7200</span>, <span class="hljs-string">&#x27;token_str&#x27;</span>: <span class="hljs-string">&#x27;délicieux&#x27;</span>}, 
  {<span class="hljs-string">&#x27;sequence&#x27;</span>: <span class="hljs-string">&#x27;Le camembert est excellent :)&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.1055697426199913</span>, <span class="hljs-string">&#x27;token&#x27;</span>: <span class="hljs-number">2183</span>, <span class="hljs-string">&#x27;token_str&#x27;</span>: <span class="hljs-string">&#x27;excellent&#x27;</span>}, 
  {<span class="hljs-string">&#x27;sequence&#x27;</span>: <span class="hljs-string">&#x27;Le camembert est succulent :)&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.03453313186764717</span>, <span class="hljs-string">&#x27;token&#x27;</span>: <span class="hljs-number">26202</span>, <span class="hljs-string">&#x27;token_str&#x27;</span>: <span class="hljs-string">&#x27;succulent&#x27;</span>}, 
  {<span class="hljs-string">&#x27;sequence&#x27;</span>: <span class="hljs-string">&#x27;Le camembert est meilleur :)&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.0330314114689827</span>, <span class="hljs-string">&#x27;token&#x27;</span>: <span class="hljs-number">528</span>, <span class="hljs-string">&#x27;token_str&#x27;</span>: <span class="hljs-string">&#x27;meilleur&#x27;</span>}, 
  {<span class="hljs-string">&#x27;sequence&#x27;</span>: <span class="hljs-string">&#x27;Le camembert est parfait :)&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.03007650189101696</span>, <span class="hljs-string">&#x27;token&#x27;</span>: <span class="hljs-number">1654</span>, <span class="hljs-string">&#x27;token_str&#x27;</span>: <span class="hljs-string">&#x27;parfait&#x27;</span>}
]`,wrap:!1}});const Me=[Ye,Ie],Y=[];function ye(e,n){return e[0]==="pt"?0:1}return U=ye(M),w=Y[U]=Me[U](M),Z=new Ve({props:{$$slots:{default:[qe]},$$scope:{ctx:M}}}),B=new Ee({props:{source:"https://github.com/huggingface/course/blob/main/chapters/fr/chapter4/2.mdx"}}),{c(){t=k("meta"),i=o(),l=k("p"),h=o(),y(u.$$.fragment),m=o(),y(b.$$.fragment),s=o(),y(p.$$.fragment),X=o(),$.c(),q=o(),W=k("p"),W.innerHTML=oe,S=o(),V=k("p"),V.textContent=ce,R=o(),v=k("div"),v.innerHTML=me,H=o(),N=k("p"),N.innerHTML=pe,D=o(),y(z.$$.fragment),P=o(),y(E.$$.fragment),K=o(),F=k("p"),F.innerHTML=ue,O=o(),C=k("div"),C.innerHTML=be,ee=o(),Q=k("p"),Q.innerHTML=de,se=o(),w.c(),G=o(),y(Z.$$.fragment),te=o(),y(B.$$.fragment),le=o(),A=k("p"),this.h()},l(e){const n=ve("svelte-u9bgzb",document.head);t=j(n,"META",{name:!0,content:!0}),n.forEach(a),i=c(e),l=j(e,"P",{}),Te(l).forEach(a),h=c(e),g(u.$$.fragment,e),m=c(e),g(b.$$.fragment,e),s=c(e),g(p.$$.fragment,e),X=c(e),$.l(e),q=c(e),W=j(e,"P",{"data-svelte-h":!0}),_(W)!=="svelte-14ptojn"&&(W.innerHTML=oe),S=c(e),V=j(e,"P",{"data-svelte-h":!0}),_(V)!=="svelte-1263zlh"&&(V.textContent=ce),R=c(e),v=j(e,"DIV",{class:!0,"data-svelte-h":!0}),_(v)!=="svelte-4k6hvy"&&(v.innerHTML=me),H=c(e),N=j(e,"P",{"data-svelte-h":!0}),_(N)!=="svelte-1h6aycb"&&(N.innerHTML=pe),D=c(e),g(z.$$.fragment,e),P=c(e),g(E.$$.fragment,e),K=c(e),F=j(e,"P",{"data-svelte-h":!0}),_(F)!=="svelte-1o379vp"&&(F.innerHTML=ue),O=c(e),C=j(e,"DIV",{class:!0,"data-svelte-h":!0}),_(C)!=="svelte-1cl7xbt"&&(C.innerHTML=be),ee=c(e),Q=j(e,"P",{"data-svelte-h":!0}),_(Q)!=="svelte-1x0kbto"&&(Q.innerHTML=de),se=c(e),w.l(e),G=c(e),g(Z.$$.fragment,e),te=c(e),g(B.$$.fragment,e),le=c(e),A=j(e,"P",{}),Te(A).forEach(a),this.h()},h(){ae(t,"name","hf:doc:metadata"),ae(t,"content",Le),ae(v,"class","flex justify-center"),ae(C,"class","flex justify-center")},m(e,n){Ce(document.head,t),r(e,i,n),r(e,l,n),r(e,h,n),J(u,e,n),r(e,m,n),J(b,e,n),r(e,s,n),J(p,e,n),r(e,X,n),I[x].m(e,n),r(e,q,n),r(e,W,n),r(e,S,n),r(e,V,n),r(e,R,n),r(e,v,n),r(e,H,n),r(e,N,n),r(e,D,n),J(z,e,n),r(e,P,n),J(E,e,n),r(e,K,n),r(e,F,n),r(e,O,n),r(e,C,n),r(e,ee,n),r(e,Q,n),r(e,se,n),Y[U].m(e,n),r(e,G,n),J(Z,e,n),r(e,te,n),J(B,e,n),r(e,le,n),r(e,A,n),ne=!0},p(e,[n]){const ge={};n&1&&(ge.fw=e[0]),u.$set(ge);let re=x;x=he(e),x!==re&&(je(),d(I[re],1,1,()=>{I[re]=null}),ke(),$=I[x],$||($=I[x]=fe[x](e),$.c()),f($,1),$.m(q.parentNode,q));let ie=U;U=ye(e),U!==ie&&(je(),d(Y[ie],1,1,()=>{Y[ie]=null}),ke(),w=Y[U],w||(w=Y[U]=Me[U](e),w.c()),f(w,1),w.m(G.parentNode,G));const Je={};n&2&&(Je.$$scope={dirty:n,ctx:e}),Z.$set(Je)},i(e){ne||(f(u.$$.fragment,e),f(b.$$.fragment,e),f(p.$$.fragment,e),f($),f(z.$$.fragment,e),f(E.$$.fragment,e),f(w),f(Z.$$.fragment,e),f(B.$$.fragment,e),ne=!0)},o(e){d(u.$$.fragment,e),d(b.$$.fragment,e),d(p.$$.fragment,e),d($),d(z.$$.fragment,e),d(E.$$.fragment,e),d(w),d(Z.$$.fragment,e),d(B.$$.fragment,e),ne=!1},d(e){e&&(a(i),a(l),a(h),a(m),a(s),a(X),a(q),a(W),a(S),a(V),a(R),a(v),a(H),a(N),a(D),a(P),a(K),a(F),a(O),a(C),a(ee),a(Q),a(se),a(G),a(te),a(le),a(A)),a(t),T(u,e),T(b,e),T(p,e),I[x].d(e),T(z,e),T(E,e),Y[U].d(e),T(Z,e),T(B,e)}}}const Le='{"title":"Utilisation de modèles pré-entraînés","local":"utilisation-de-modèles-pré-entraînés","sections":[],"depth":1}';function Ae(M,t,i){let l="pt";return Ue(()=>{const h=new URLSearchParams(window.location.search);i(0,l=h.get("fw")||"pt")}),[l]}class Oe extends we{constructor(t){super(),_e(this,t,Ae,Ge,$e,{})}}export{Oe as component};
