精選

About Me

HI,大家好,我是資訊相關科系的學生,目前碩一這樣。

很久以前無名小站還在的時候就很喜歡寫網誌,因為覺得跟別人分享我最近都在幹什麼是一件挺有趣的事情 繼續閱讀 “About Me"

[20200125-20200127]台東走春行程DAY-2 & DAY-3

[DAY – 2]

  • 池上車站 – 家鄉池上飯包
  • 【地址】958台東縣池上鄉中正路4號
  • 【電話】08 986 3521

既然都在池上了,怎麼可以不吃池上飯包!

不過先自首一下,原本我對池上飯包沒有很大的興趣,因為平常在家附近也有池上便當店,然後我吃起來都覺得…好像還好。不過親自來吃了之後覺得真的很好吃,池上飯包的米粒真的很Q彈飽滿,讓我覺得我家附近開的池上便當是不是都在詐欺

83427931_3303235713025990_1695452062516510720_n 繼續閱讀 “[20200125-20200127]台東走春行程DAY-2 & DAY-3″

[20200125-20200127]台東走春行程DAY-1

由於每年過節總是待在高雄,然後姊姊們回來也不知道要去哪裡玩,所以今年早早就決定去台東玩個三天兩夜,從初一(1/25)開始玩到初三(1/27)。大約在12月的時候就開始在做功課排行程,然後開始預約民宿、車票、租車…blabla

83600540_3303142236368671_8611001363637207040_n一開始聽說過年去台東會很難玩,因為大家都會想趁過年跑出來走走,所以應該會塞車。不過好險那三天其實沒塞多久,而且天氣也都蠻好的所以玩得很開心。

下面是我們三天兩夜的行程,只會在這裡打一次,第二篇blog就不會再放了: 繼續閱讀 “[20200125-20200127]台東走春行程DAY-1″

[Pytorch]當DataParallel碰上RNN的那些坑

[前言]

最近在使用Pytorch寫RNN相關的模型,然後因為實驗室有兩張GPU可以用,所以我就想把model放到兩張GPU平行處理,參考Pytorch document就知道其實用法很簡單,只要使nn.DataParallel(model)就可以了,不過在使用RNN相關模型的時候有一些問題要注意,既然最近遇到了就順便記錄一下,以免以後又遇到重複的問題。

[坑-1]

當使用RNN相關的model搭配nn.DataParallel()時會出現下列warning:

RuntimeWarning: RNN module weights are not part of single contiguous chunk of memory.

This means they need to be compacted at every call, possibly greatly increasing memory usage. To compact weights again call flatten_parameters().

參照網路上的說法,由於將model的參數放到gpu上的時候不保證放置的memory位置一定是連續的,所以可能會有fragmentation現象,這會造成效能的降低,透過flatten_parameters()可以使得model的參數在gpu memory上的位置是連續的

繼續閱讀 “[Pytorch]當DataParallel碰上RNN的那些坑"

[Python]json.load() v.s. json.loads()

[前言]

最近在用別人的open source時因為json檔案讀取的問題卡一段時間,去trace code下去發現原來是別人的專案裡面有用到json.loads(),它的用處跟我平常在用的json.load()不太一樣,所以在這裡紀錄一下。

[問題描述]

首先,json.load()是用來讀取整個檔案的,也就是說通常會先用open()去打開json檔案,然後把檔案讀進來,大概像下面這樣:

with open(fileneme, 'r') as f:
     result=json.load(f)

不過如果是用json.loads()的時候,他會搭配檔案一次讀一行的動作,把該行字串當成json讀進來,用法如下: 繼續閱讀 “[Python]json.load() v.s. json.loads()"

[20190103]2019 SecBuzzer AI UP!人工智慧資安挑戰賽參賽心得

擷取1.PNG

在去年11月底的時候,因緣際會下有位學長通知我去參加這個由資策會資安所舉辦的惡意程式分類競賽,這是一個為期一個月的競賽,以競賽時程來說算是相對小品的競賽。以下擷取活動網站的競賽內容:

本次競賽中的每一筆惡意程式 (malware) 均有一組可獨立辨識的 md5 編碼,競賽者須透過人工智慧訓練、推論技術,對每一筆惡意程式進行類別 (class) 可能性的歸屬判定。

總之就是要透過ML/DL的方式來進行惡意程式的分類,期間只有一個月,而資料的大小又蠻大的(train + test ~ 60G)所以其實沒有什麼太多時間做無謂的嘗試,整個時程大約被我分成三個階段,就我自己來說,我覺得所有資料科學競賽的規劃其實都是大同小異的:

  1. 資料前處理,做一些基本的特徵萃取和建立base line
  2. 基於baseline開始嘗試一些額外的不同方式
  3. 大約最後一個禮拜,開始就現有最好的模型版本進行進一步的調參

下面會簡述整個比賽的規劃、心路歷程以及一些分享: 繼續閱讀 “[20190103]2019 SecBuzzer AI UP!人工智慧資安挑戰賽參賽心得"

[20191204]LINE TAIWAN TECHPULSE 2019參加心得

這是第一次參加LINE TAIWAN TECHPULSE,會得知這個訊息的原因是由於FB上某個社團友人分享了這則訊息。雖然經驗尚淺,不過以前也製作過一兩個chatbot,也因此一直都有在關注Line的相關技術發展,看到這訊息後就毅然決定報名參加。

活動的地點舉辦在台北和平籃球館,參加費用是免費,不過報名的時候他們有提到會進行篩選,所以有可能不是人人都有票,總之後來我有拿到票就是了。

img_20191204_095219

從台北和平籃球館進去覺得Line真的很厲害,可以把一個技術發表會搞得很像演唱會一樣,很有氣氛跟格局,一踏進去那瞬間我真的有傻眼到哈哈。 繼續閱讀 “[20191204]LINE TAIWAN TECHPULSE 2019參加心得"

[DL]運行Keras時遇到CUDNN_STATUS_INTERNAL_ERROR問題

[問題描述]

最近在執行Keras程式碼時,遇到了以下的問題:

UnknownError: 2 root error(s) found.
  (0) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
	 [[{{node conv2d_3/convolution}}]]
	 [[loss_1/mul/_201]]
  (1) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
	 [[{{node conv2d_3/convolution}}]]
0 successful operations.
0 derived errors ignored.

 

[環境描述]

  • 當前的tensorflow版本: 1.14.0
  • 當前的keras版本: 2.2.4
  • 當前的cuda版本: cuda 10

繼續閱讀 “[DL]運行Keras時遇到CUDNN_STATUS_INTERNAL_ERROR問題"