編程中如何提問?
問一下各位大佬 keras怎麼才能每個epoch測試一下test集的損失?
想問問大神們,GPU的TF怎麼裝呀?有教程嗎?
你覺得國內機器學習相關的研究生,19年以後好找工作么(比如演算法工程師,演算法研究院這種)?我看他們說競爭激烈,AI方向博士的申請都擠爆了,說實話有點虛????
很抱歉打擾你……萬分感謝!本人某985機械本碩,研究生做的都是偏軟體的(二次開發.工業軟體開發)自己在學前端後端之類的東西……好好學編程的東西以後進互聯網能行嗎……會不會因為是機械學院的把我fail了
以上的問題屬於提問的錯誤示範,已經司空見慣,見怪不怪了。
提問是一門溝通的技術,沒人能在不知情的情況下給出你比較好的建議。
很多問題在提問的過程中自查就發現了問題所在。我常常看到有人在群里問問題,然後一群人圍著一個人,「你把XXX調出來看看」「你把XXX改一下」。這對大多數人來說是時間上的損失,對提問者和回答者雙方都是凈虧損的。
我先給一個GTD里的很虛的東西:
5樓視野:目的和原則。
4樓視野:願景。
3樓視野:目標。
2樓視野:關注點及責任範圍。
1樓視野:當前項目。
這是一個從宏觀抽象的角度到細微具體過程的思路,是一種自上而下的解決問題的辦法,也常常應用在投資、諮詢等相關行業中。這裡我們就用來給出一個通用的準則,細化一下也可以用於編程。
細化到提問里,這裡給出一個提問的過程,請在提問時候嚴格遵守以下五個流程,熟悉後只要思路不變,可以有無數的提問方法(這裡就限制死了,請按照這個格式填表格的形式來提問):
- 描述你的需求、做這個需求的原因(什麼是需求?做這個需求能得到什麼?)
- 描述你的實現思路(想怎麼做這個事情)
- 描述具體的實現過程(相對於思路更細節更具體的東西)
- 描述遇到的問題,得到的一切反饋(在編程中可以理解為各種信息,正確的、錯誤的)
- 所有涉及的最基本的具體信息(編程中就是所有代碼)
五步原則在編程提問中的解釋:
1、描述你的需求、做這個需求的原因(什麼是需求?做這個需求能得到什麼?)
你的做法可能是錯誤的,給出原因可以幫助他人發現你南轅北轍的解決方案。你的需求可能是錯誤的,給出原因可以幫助他人發現你錯誤的需求。
2、為什麼要描述你的實現思路(想怎麼做這個事情)
描述思路有助於他人搞懂你你正在做的事情、搞懂你遇到的問題
你解決問題的思路可能是錯的,描述清楚有助於發現錯誤,也有助於幫助他人理解你的角度
3、為什麼要描述具體的實現過程(相對於思路更細節更具體的東西)
描述實現過程有助於幫助他人理解你的具體問題
4、為什麼要描述遇到的問題,得到的一切反饋(在編程中可以理解為各種信息,正確的、錯誤的)
對具體信息的描述可以幫助他人分析具體問題,所以要給出錯誤的具體、完整的信息,而不是殘缺的截圖或者零散的幾句描述,這樣起不到任何作用
5、為什麼要貼出最基本的信息(編程中就是所有代碼)
如果不盡量給出完整、簡化、可運行、可重現的代碼,他人很難定位具體問題,也就無從解決問題了
錯誤示例:
很抱歉打擾你……萬分感謝!本人某985機械本碩,研究生做的都是偏軟體的(二次開發.工業軟體開發)自己在學前端後端之類的東西……好好學編程的東西以後進互聯網能行嗎……會不會因為是機械學院的把我fail了
正確示例:
0、客套之類的
1、想做前端開發,因為錢很多,我喜歡編程,我覺得性價比比機械高,認真學習編程可以進入互聯網行業做開發/測試/運維工程師么?
2、我想實現的思路是:
根據在某些網站上的求職信息,發現應該掌握知識A、B、C、D、E、F、G
3、實現的過程是:
A:學習某某本書籍、看某某開源庫、自己動手做XXX
B:學習某某本書籍、看某某開源庫、自己動手做XXX
C:學習某某本書籍、看某某開源庫、自己動手做XXX
·······
4、遇到的問題和反饋信息:
在XXX過程中我遇到了XXX的問題,得到的XXX信息是XXX
在XXX過程中我遇到了XXX的問題,得到的XXX信息是XXX
在XXX過程中我遇到了XXX的問題,得到的XXX信息是XXX
5、最基本的信息:
我是某某高效某某專業的XXX
之前做過XXX
拿過XXX數學競賽獎
英語能力XXXX
這五步過程中你要想做出得到人認真答覆的提問,需要準備很多的工作,使用搜索引擎查閱相關的信息,去找一些專業人士請教一些基本的知識等等等等,只有這樣才能得到有效的建議。而不是簡單隨口的問一句。
按照五步自查的方式,可以自己獨立解決80%以上的問題。先自查,再問別人。
有效的建議:
看了你的XXX,結合我自身的經驗,XXX可能是一個好的選擇,XXX的經歷是XXX的,而XXX是XXX的,所以兩者XXXX,你不妨考慮下XXX,我對此的看法比較樂觀。綜上,建議XXX。
而不是:
很抱歉打擾你……萬分感謝!本人某985機械本碩,研究生做的都是偏軟體的(二次開發.工業軟體開發)自己在學前端後端之類的東西……好好學編程的東西以後進互聯網能行嗎……會不會因為是機械學院的把我fail了。
我的答覆:能/好/行/對/嗯。
推薦閱讀:
※Python · 決策樹(四)· 樹
※Python 關於讀寫txt的問題?
※Python 里為什麼函數可以返回一個函數內部定義的函數?
※婚姻狀況與違約率
※python 中文亂碼出現,不知道是什麼原因?