2020年4月30日 星期四

解決TypeError: type of argument "epsilon" must be int; got float instead的錯誤

日前在使用tensorflow_addons時遇到以下錯誤:
TypeError: type of argument "epsilon" must be int; got float instead

這時進入tensorflow_addons/layers/normalizations.py裡面

找到epsilon int = le-3的地方

把int改成[int,float]

再執行一次程式,問題就解決了

2020年4月26日 星期日

程式語言毛病數量排行

本文依據Stack Overflow的文章數量,衡量前十大最容易出毛病的程式語言排名。

第十名:C++
C++在Stack Overflow有10,400,000則文章

第九名:SQL
SQLStack Overflow19,800,000則文章

第八名:C#
C#Stack Overflow28,900,000則文章

第七名:PHP
PHPStack Overflow31,400,000則文章

第六名:R
RStack Overflow33,500,000則文章

第五名:C
CStack Overflow35,200,000則文章

第三名:GO與Python並列
GO與PythonStack Overflow皆36,900,000則文章

第二名:JavaScript
JavaScriptStack Overflow37,000,000則文章

第一名:Java
JavaStack Overflow39,300,000則文章


當然,本文只是玩笑性質,不必當作真正選擇語言的參考。

2020年4月5日 星期日

[小技巧]0.1+0.2==0.3的快速解法

最近在製作程式考題,出了一個0.1+0.2==0.3的題目。
這是很常見的程式考題,
題目可能會問如何回傳正確的數字,當0.1+0.2後,結果會是0.30000000000000004的數字,所以0.1+0.2==0.3會回傳false。

怎麼快速解這題呢,只要把它變成整數就可以了。
範例:
let a=0.1,b=0.2;
answer=(a*10+b*10)/10;

程式的意思是,先將0.1和0.2轉成1和2,相加後會變成3,之後再除上之前乘上的數字變0.3,就能回傳正確的數字。

同理:
0.24+0.42會回傳0.6599999999999999。
故只要將10改成100:
let a=0.24,b=0.42;
answer=(a*100+b*100)/100;

就能回傳正確的數字:0.66

2020年4月2日 星期四

在Linux解壓縮已切分成數份的zip檔

已知在Linux系統下unzip指令可以解壓縮zip檔,但是,如果壓縮檔已經被分割成數份zip檔了該怎麼辦呢。


首先,開啟CLI介面,輸入:
cat face2.zip* > face2.zip

註:face2為zip檔的檔名,請自行改成自己的。

然後這群zip檔就被合併成一個zip檔了。

然後再輸入解壓縮指令:
unzip face2.zip



該zip檔案就可以解壓縮了。

=====分隔線=====

如果覺得這篇文有幫助到你們的話,請留言或幫忙按個廣告吧。

您的支持是我寫文的最大動力。

如果依然失敗了,也請留言讓我知道,看看哪個環節出了問題,我有看到就會回。


希望這篇文有幫助到各位ξ( ✿>◡❛)