Buckets:
| import{s as yt,n as bt,o as jt}from"../chunks/scheduler.893fe8c9.js";import{S as Jt,i as Tt,e as P,s as r,c as a,h as Zt,a as v,d as n,b as s,f as Mt,g as i,j as xt,k as ct,l as ht,m as l,n as m,t as p,o as $,p as f}from"../chunks/index.4928e1dd.js";import{C as Ut,H as u,E as wt}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.5b0587a0.js";import{C as St}from"../chunks/CodeBlock.a29faedb.js";import{Q as g}from"../chunks/Question.66af4358.js";function At(ot){let o,R,B,d,M,N,x,I,c,ut="讓我們測試一下你在本章學到的東西!",q,y,H,b,V,j,F,J,Q,T,D,Z,E,h,gt="以下哪項可能是論壇主題標題尋求幫助的好選擇?",O,U,K,w,tt,S,et,A,nt,C,lt,z,rt,L,st,G,at,_,it,k,mt,W,pt,X,$t,Y,ft;return M=new Ut({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),x=new u({props:{title:"章末測評",local:"章末測評",headingTag:"h1"}}),y=new u({props:{title:"1.應該按照什麼順序讀取 Python 回溯?",local:"1應該按照什麼順序讀取-python-回溯",headingTag:"h3"}}),b=new g({props:{choices:[{text:"從上到下",explain:"再試一次——儘管大多數其他編程語言在頂部打印異常,但 Python 在這方面是特殊的。"},{text:"自下而上",explain:"正確!在底部顯示異常的 Python 回溯的一個優點是,在終端中工作時更容易調試,這是你看到的最後一行。",correct:!0}]}}),j=new u({props:{title:"2.什麼是最小可再生示例?",local:"2什麼是最小可再生示例",headingTag:"h3"}}),J=new g({props:{choices:[{text:"來自一篇研究文章一個簡單的 Transformer 體系結構的實現",explain:"雖然從頭開始實現你自己的 Transformer 模型是非常有教育意義的,但這不是我們在這裡討論的內容。"},{text:"一種緊湊且自包含的代碼塊,可以在不依賴於私有文件或數據的情況下運行",explain:"正確!查看你的數據幾乎總是你應該做的第一件事,以確保文本被適當地編碼,具有預期的特性,等等。",correct:!0},{text:"Python 回溯的屏幕截圖",explain:"再試一次 -- 儘管在提交問題時, 很容易包含您所面臨錯誤的屏幕截圖, 但這使得其他人很難重現錯誤。"},{text:"一個記錄整個分析的筆記本,包括與錯誤無關的部分",explain:"不完全 -- 儘管共享一個顯示錯誤的GoogleColab筆記本會很有幫助, 但要確保它簡短, 並且只包含相關代碼。 "}]}}),T=new u({props:{title:"3.假設你嘗試運行以下代碼,它拋出一個錯誤:",local:"3假設你嘗試運行以下代碼它拋出一個錯誤",headingTag:"h3"}}),Z=new St({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEdQVDNGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uJTBBJTBBJTIzJTIwSW1wb3J0RXJyb3IlM0ElMjBjYW5ub3QlMjBpbXBvcnQlMjBuYW1lJTIwJ0dQVDNGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uJyUyMGZyb20lMjAndHJhbnNmb3JtZXJzJyUyMCglMkZVc2VycyUyRmxld3R1biUyRm1pbmljb25kYTMlMkZlbnZzJTJGaHVnZ2luZ2ZhY2UlMkZsaWIlMkZweXRob24zLjglMkZzaXRlLXBhY2thZ2VzJTJGdHJhbnNmb3JtZXJzJTJGX19pbml0X18ucHkpJTBBJTIzJTIwLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTBBJTIzJTIwSW1wb3J0RXJyb3IlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBUcmFjZWJhY2slMjAobW9zdCUyMHJlY2VudCUyMGNhbGwlMjBsYXN0KSUwQSUyMyUyMCUyRnZhciUyRmZvbGRlcnMlMkYyOCUyRms0Y3k1cTdzMmhzOTJ4cTdfaDg5X3ZnbTAwMDBnbiUyRlQlMkZpcHlrZXJuZWxfMzA4NDglMkYzMzM4NTg4NzgucHklMjBpbiUyMCUzQ21vZHVsZSUzRSUwQSUyMyUyMC0tLS0lM0UlMjAxJTIwZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEdQVDNGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uJTBBJTBBJTIzJTIwSW1wb3J0RXJyb3IlM0ElMjBjYW5ub3QlMjBpbXBvcnQlMjBuYW1lJTIwJ0dQVDNGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uJyUyMGZyb20lMjAndHJhbnNmb3JtZXJzJyUyMCglMkZVc2VycyUyRmxld3R1biUyRm1pbmljb25kYTMlMkZlbnZzJTJGaHVnZ2luZ2ZhY2UlMkZsaWIlMkZweXRob24zLjglMkZzaXRlLXBhY2thZ2VzJTJGdHJhbnNmb3JtZXJzJTJGX19pbml0X18ucHkp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> GPT3ForSequenceClassification | |
| <span class="hljs-comment"># ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)</span> | |
| <span class="hljs-comment"># ---------------------------------------------------------------------------</span> | |
| <span class="hljs-comment"># ImportError Traceback (most recent call last)</span> | |
| <span class="hljs-comment"># /var/folders/28/k4cy5q7s2hs92xq7_h89_vgm0000gn/T/ipykernel_30848/333858878.py in <module></span> | |
| <span class="hljs-comment"># ----> 1 from transformers import GPT3ForSequenceClassification</span> | |
| <span class="hljs-comment"># ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)</span>`,wrap:!1}}),U=new g({props:{choices:[{text:"導入錯誤:無法從'transformers'導入名稱'GPT3GPT3ForSequenceClassification'(/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/_ init _. py) ",explain:"包含回溯的最後一行可以是描述性的,但這最好保留給主題的主體部分。再試一次!"},{text:"從transformers導入 gpt3forsequeclassification 時出現問題",explain:"再試一次——儘管這提供了有用的信息,但最好還是保留在文本的主體部分。"},{text:"為什麼我不能導入 < code > GPT3ForSequenceClassification </code > ?",explain:"不錯的選擇!這個標題是簡潔的,並給讀者一個線索,什麼可能是錯誤的(即,gpt-3不支持在🤗 Transformers)。",correct:!0},{text:"Gpt-3在🤗 Transformers中支持嗎?",explain:"好主意! 用問題作為主題標題是向社區傳達問題的好方法。",correct:!0}]}}),w=new u({props:{title:"4.假設您試圖運行 ‘trainer.train ()‘,但是遇到了一個神秘的錯誤,這個錯誤不能準確地告訴您錯誤來自哪裡。下列哪一項是您應該首先在您的培訓管道中尋找錯誤的地方?",local:"4假設您試圖運行-trainertrain-但是遇到了一個神秘的錯誤這個錯誤不能準確地告訴您錯誤來自哪裡下列哪一項是您應該首先在您的培訓管道中尋找錯誤的地方",headingTag:"h3"}}),S=new g({props:{choices:[{text:"計算梯度並執行反向傳播的優化步驟",explain:"儘管優化器中可能存在缺陷, 但這通常是訓練管道中的幾個步驟, 因此首先要檢查其他事項。再試一次!"},{text:"計算度量的評估步驟",explain:"評估通常是在整個訓練期結束後進行的, 因此你應該首先在訓練管道的早期檢查某個地方。"},{text:"數據集",explain:"正確的!查看數據幾乎總是您應該做的第一件事, 以確保文本進行了適當的編碼, 具有預期的特性, 等等。",correct:!0},{text:"數據記錄器",explain:"再試一次---- 這非常接近你應該檢查的第一件事。你還記得我們交給數據收集者的是什麼東西嗎?"}]}}),A=new u({props:{title:"5.調試 CUDA 錯誤的最好方法是什麼?",local:"5調試-cuda-錯誤的最好方法是什麼",headingTag:"h3"}}),C=new g({props:{choices:[{text:"在論壇或 GitHub 上發佈錯誤消息。",explain:"這不會幫助任何人, 因為 CUDA 的錯誤信息通常是非常沒有信息。"},{text:"在 CPU 上執行相同的代碼。",explain:"沒錯, 這應該會給你一個更好的錯誤消息!",correct:!0},{text:"請閱讀回溯以找出錯誤的原因。",explain:"對於任何其他錯誤, 你都會這樣做, 但CUDA錯誤通常不會在發生的地方引發, 因為大多數CUDA操作都是異步的。"},{text:"減少批量。",explain:"減少批處理大小通常是處理CUDA內存不足錯誤的一個好策略, 但不是為這個特定的問題。再試一次!"},{text:"重新啟動 Jupyter 內核。",explain:"再試一次——重新啟動內核不會讓錯誤神奇地消失!"}]}}),z=new u({props:{title:"6.修復 GitHub 上的問題最好的方法是什麼?",local:"6修復-github-上的問題最好的方法是什麼",headingTag:"h3"}}),L=new g({props:{choices:[{text:"發佈這個 bug 的完整可重複的例子。",explain:"是的,這是幫助維護人員找到 bug 的最好方法。你還應該做什麼??",correct:!0},{text:"每天要求更新。",explain:"這不太可能給你任何幫助;人們可能會更忽視你。"},{text:"檢查錯誤周圍的源代碼,並試圖找出錯誤發生的原因。在這期雜誌上發佈結果。",explain:"這肯定會對維護人員有幫助!如果您確實找到了 bug 的來源和修復程序, 甚至可以打開一個 pull 請求。你還應該做些什麼?",correct:!0}]}}),G=new u({props:{title:"7.為什麼對一個批處理進行過度調試通常是一種好的調試技術?",local:"7為什麼對一個批處理進行過度調試通常是一種好的調試技術",headingTag:"h3"}}),_=new g({props:{choices:[{text:"不是這樣的, 過分合身總是不好的, 應該避免。",explain:"當對整個數據集進行訓練時, 過度擬合確實可能是一個信號, 表明你的模型不能很好地推廣到新的示例。但是, 對於調試, 我們通常不會對整個數據集進行訓練。再試一次!"},{text:"這使我們能夠驗證該模型能夠將損耗降低到零。",explain:"正確! 只需要兩個樣本的小批量, 我們就可以快速驗證模型是否具有學習能力。",correct:!0},{text:"它允許我們驗證我們輸入和標籤的張量形狀是正確的。",explain:"再試一次 -- 如果你的張量形狀不對齊, 那麼你肯定不能訓練, 即使是一批。"}]}}),k=new u({props:{title:"8.為什麼在 🤗 Transformers 存儲庫中創建新問題時,使用 transformers-cli env 包含有關計算環境的詳細信息是個好主意?",local:"8為什麼在--transformers-存儲庫中創建新問題時使用-transformers-cli-env-包含有關計算環境的詳細信息是個好主意",headingTag:"h3"}}),W=new g({props:{choices:[{text:"它允許維護人員理解你正在使用的庫的哪個版本。",explain:"正確! 由於庫的每個主要版本在API中都可能有更改, 因此瞭解您正在使用的特定版本有助於縮小問題範圍。其他好處是什麼?",correct:!0},{text:"它讓維護人員知道你是在 Windows、 macOS 還是 Linux 上運行代碼。",explain:"正確!錯誤有時可能是由你正在使用的特定操作系統引起的, 瞭解這一點有助於維護人員在本地複製這些錯誤。但這並不是唯一的原因。",correct:!0},{text:"它允許維護人員知道你是在 GPU 還是 CPU 上運行代碼。",explain:"正確! 正如我們在本章中看到的, gpu 和 cpu 上的錯誤在風格上可能有很大的不同, 瞭解您正在使用的硬件可以幫助集中維護人員的注意力。但這不是唯一的好處..."}]}}),X=new wt({props:{source:"https://github.com/huggingface/course/blob/main/chapters/zh-TW/chapter8/7.mdx"}}),{c(){o=P("meta"),R=r(),B=P("p"),d=r(),a(M.$$.fragment),N=r(),a(x.$$.fragment),I=r(),c=P("p"),c.textContent=ut,q=r(),a(y.$$.fragment),H=r(),a(b.$$.fragment),V=r(),a(j.$$.fragment),F=r(),a(J.$$.fragment),Q=r(),a(T.$$.fragment),D=r(),a(Z.$$.fragment),E=r(),h=P("p"),h.textContent=gt,O=r(),a(U.$$.fragment),K=r(),a(w.$$.fragment),tt=r(),a(S.$$.fragment),et=r(),a(A.$$.fragment),nt=r(),a(C.$$.fragment),lt=r(),a(z.$$.fragment),rt=r(),a(L.$$.fragment),st=r(),a(G.$$.fragment),at=r(),a(_.$$.fragment),it=r(),a(k.$$.fragment),mt=r(),a(W.$$.fragment),pt=r(),a(X.$$.fragment),$t=r(),Y=P("p"),this.h()},l(t){const e=Zt("svelte-u9bgzb",document.head);o=v(e,"META",{name:!0,content:!0}),e.forEach(n),R=s(t),B=v(t,"P",{}),Mt(B).forEach(n),d=s(t),i(M.$$.fragment,t),N=s(t),i(x.$$.fragment,t),I=s(t),c=v(t,"P",{"data-svelte-h":!0}),xt(c)!=="svelte-1jfqst7"&&(c.textContent=ut),q=s(t),i(y.$$.fragment,t),H=s(t),i(b.$$.fragment,t),V=s(t),i(j.$$.fragment,t),F=s(t),i(J.$$.fragment,t),Q=s(t),i(T.$$.fragment,t),D=s(t),i(Z.$$.fragment,t),E=s(t),h=v(t,"P",{"data-svelte-h":!0}),xt(h)!=="svelte-19tpuor"&&(h.textContent=gt),O=s(t),i(U.$$.fragment,t),K=s(t),i(w.$$.fragment,t),tt=s(t),i(S.$$.fragment,t),et=s(t),i(A.$$.fragment,t),nt=s(t),i(C.$$.fragment,t),lt=s(t),i(z.$$.fragment,t),rt=s(t),i(L.$$.fragment,t),st=s(t),i(G.$$.fragment,t),at=s(t),i(_.$$.fragment,t),it=s(t),i(k.$$.fragment,t),mt=s(t),i(W.$$.fragment,t),pt=s(t),i(X.$$.fragment,t),$t=s(t),Y=v(t,"P",{}),Mt(Y).forEach(n),this.h()},h(){ct(o,"name","hf:doc:metadata"),ct(o,"content",Ct)},m(t,e){ht(document.head,o),l(t,R,e),l(t,B,e),l(t,d,e),m(M,t,e),l(t,N,e),m(x,t,e),l(t,I,e),l(t,c,e),l(t,q,e),m(y,t,e),l(t,H,e),m(b,t,e),l(t,V,e),m(j,t,e),l(t,F,e),m(J,t,e),l(t,Q,e),m(T,t,e),l(t,D,e),m(Z,t,e),l(t,E,e),l(t,h,e),l(t,O,e),m(U,t,e),l(t,K,e),m(w,t,e),l(t,tt,e),m(S,t,e),l(t,et,e),m(A,t,e),l(t,nt,e),m(C,t,e),l(t,lt,e),m(z,t,e),l(t,rt,e),m(L,t,e),l(t,st,e),m(G,t,e),l(t,at,e),m(_,t,e),l(t,it,e),m(k,t,e),l(t,mt,e),m(W,t,e),l(t,pt,e),m(X,t,e),l(t,$t,e),l(t,Y,e),ft=!0},p:bt,i(t){ft||(p(M.$$.fragment,t),p(x.$$.fragment,t),p(y.$$.fragment,t),p(b.$$.fragment,t),p(j.$$.fragment,t),p(J.$$.fragment,t),p(T.$$.fragment,t),p(Z.$$.fragment,t),p(U.$$.fragment,t),p(w.$$.fragment,t),p(S.$$.fragment,t),p(A.$$.fragment,t),p(C.$$.fragment,t),p(z.$$.fragment,t),p(L.$$.fragment,t),p(G.$$.fragment,t),p(_.$$.fragment,t),p(k.$$.fragment,t),p(W.$$.fragment,t),p(X.$$.fragment,t),ft=!0)},o(t){$(M.$$.fragment,t),$(x.$$.fragment,t),$(y.$$.fragment,t),$(b.$$.fragment,t),$(j.$$.fragment,t),$(J.$$.fragment,t),$(T.$$.fragment,t),$(Z.$$.fragment,t),$(U.$$.fragment,t),$(w.$$.fragment,t),$(S.$$.fragment,t),$(A.$$.fragment,t),$(C.$$.fragment,t),$(z.$$.fragment,t),$(L.$$.fragment,t),$(G.$$.fragment,t),$(_.$$.fragment,t),$(k.$$.fragment,t),$(W.$$.fragment,t),$(X.$$.fragment,t),ft=!1},d(t){t&&(n(R),n(B),n(d),n(N),n(I),n(c),n(q),n(H),n(V),n(F),n(Q),n(D),n(E),n(h),n(O),n(K),n(tt),n(et),n(nt),n(lt),n(rt),n(st),n(at),n(it),n(mt),n(pt),n($t),n(Y)),n(o),f(M,t),f(x,t),f(y,t),f(b,t),f(j,t),f(J,t),f(T,t),f(Z,t),f(U,t),f(w,t),f(S,t),f(A,t),f(C,t),f(z,t),f(L,t),f(G,t),f(_,t),f(k,t),f(W,t),f(X,t)}}}const Ct='{"title":"章末測評","local":"章末測評","sections":[{"title":"1.應該按照什麼順序讀取 Python 回溯?","local":"1應該按照什麼順序讀取-python-回溯","sections":[],"depth":3},{"title":"2.什麼是最小可再生示例?","local":"2什麼是最小可再生示例","sections":[],"depth":3},{"title":"3.假設你嘗試運行以下代碼,它拋出一個錯誤:","local":"3假設你嘗試運行以下代碼它拋出一個錯誤","sections":[],"depth":3},{"title":"4.假設您試圖運行 ‘trainer.train ()‘,但是遇到了一個神秘的錯誤,這個錯誤不能準確地告訴您錯誤來自哪裡。下列哪一項是您應該首先在您的培訓管道中尋找錯誤的地方?","local":"4假設您試圖運行-trainertrain-但是遇到了一個神秘的錯誤這個錯誤不能準確地告訴您錯誤來自哪裡下列哪一項是您應該首先在您的培訓管道中尋找錯誤的地方","sections":[],"depth":3},{"title":"5.調試 CUDA 錯誤的最好方法是什麼?","local":"5調試-cuda-錯誤的最好方法是什麼","sections":[],"depth":3},{"title":"6.修復 GitHub 上的問題最好的方法是什麼?","local":"6修復-github-上的問題最好的方法是什麼","sections":[],"depth":3},{"title":"7.為什麼對一個批處理進行過度調試通常是一種好的調試技術?","local":"7為什麼對一個批處理進行過度調試通常是一種好的調試技術","sections":[],"depth":3},{"title":"8.為什麼在 🤗 Transformers 存儲庫中創建新問題時,使用 transformers-cli env 包含有關計算環境的詳細信息是個好主意?","local":"8為什麼在--transformers-存儲庫中創建新問題時使用-transformers-cli-env-包含有關計算環境的詳細信息是個好主意","sections":[],"depth":3}],"depth":1}';function zt(ot){return jt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Xt extends Jt{constructor(o){super(),Tt(this,o,zt,At,yt,{})}}export{Xt as component}; | |
Xet Storage Details
- Size:
- 16.2 kB
- Xet hash:
- 68c17c66693ab77da167f9cf31a527914081efe79cf65d1ad08c22d16abd91d2
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.