2.PNG

近期因使用TensorFlow object detection API進行開發,而目前嘗試使用PASCAL VOC2007+2012進行訓練以及驗證,需要將PASCAL VOC2007+2012製作成TF Records的型態,再使用TensorFlow中的API進行訓練以及測試,以下紀錄如何使用TensorFlow object detection API製作出PASCAL VOCTF Records,下一篇會詳細解說如何進行訓練。

一、下載PASCAL VOC 2007 + 2012資料集:

PASCAL VOC 2007網站http://host.robots.ox.ac.uk/pascal/VOC/voc2007/index.html

1.訓練集: http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar

2.測試集http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar

水面上的小草 發表在 痞客邦 留言(0) 人氣()

430.1.PNG

當多人使用同一台伺服器進行開發時,若有人正在使用TensorFlow進行GPU運算且沒有加入以下指令時,會把GPU的內存直接暫滿,導致其他人無法使用,此處紀錄如何限制使用量以及如何查詢使用狀況。

一、在PythonJupyter上限制TensorFlow使用GPU暫存數量:

1.使用自訂數量的暫存大小:

cfg = tf.ConfigProto() 
cfg.gpu_options.per_process_gpu_memory_fraction = 0.5 # 使用50%的GPU暫存

水面上的小草 發表在 痞客邦 留言(0) 人氣()

416_1.PNG

有時候要使用Python進行編譯時,因為Python2以及3版本內的套件有所不同,因此有時需要進行版本的切換,此處紀錄如何在Linux的環境下進行各版本的設定以及切換。

輸入以下指令可以查看目前環境下預設的Python版本。

python -V

輸入以下指令可以查看各python版本的存放路徑。

--------------------------------------------------------------------------

水面上的小草 發表在 痞客邦 留言(0) 人氣()

416_4.PNG

會造成此錯誤應該是pip中的檔案受到一些損壞,因此透過手動安裝進行更新即可修復此問題,詳細的操作步驟如以下所示。

至以下網站連結進行下載,下載的內容依下圖所示,點選setuptools-41.0.0.zip(未來可能會繼續更新,因此下載該名稱格式之最新檔案)

網站連結: https://pypi.org/project/setuptools/#files

檔案下載完成後將該檔案進行解壓縮,可以得到下圖所示之檔案。

進入該setuptools-41.0.0資料夾中,並輸入以下指令進行安裝,如下圖所示。

水面上的小草 發表在 痞客邦 留言(0) 人氣()

1.PNG

使用某些套件或是API進行實現時,有時候需要使用Bazel進行建置,本文因使用Tensorflow的相關API (Graph transform)會使用到Bazel進行建置,因此記錄安裝的詳細步驟。

網址:https://docs.bazel.build/versions/master/install-ubuntu.html#install-with-installer-ubuntu

Step 1: 安裝所需套件,包含:pkg-configzipg++zliblg-devunzip以及python

sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python

下圖因權限為root,因此指令沒有加sudo,輸入後如下圖最後一行需要再輸入y

水面上的小草 發表在 痞客邦 留言(0) 人氣()

該題Move Zeros的題目如下所示,輸入為一個陣列,要將該陣列中所有為0的元素移動至最後面進行存放,如範例1所示,輸入為010312,則移動後之輸出為131200

Example:

Input: [0,1,0,3,12]
Output: [1,3,12,0,0]

作法解析:使用Two pointer進行實現,將兩個雙指標索引放在起始的位置,並利用其中一個指標進行偵測,若遇到0則向右移一格,若不是則將兩個指標索引之值進行互換。

水面上的小草 發表在 痞客邦 留言(0) 人氣()

該題Reverse String要將輸入字串進行反轉,如下所示,範例1的字串內容為hello,反轉之後的結果為olleh,範例2Hannah,反轉後為hannaH,此題有許多寫法,而利用two pointers的解法可以得到很好的效能。

Example 1:

Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]

水面上的小草 發表在 痞客邦 留言(1) 人氣()

該題Jewels and Stones的題目如下所示,想要從S矩陣中找出有幾個J矩陣的元素,範例1中,有一個J矩陣中有a以及A的元素,在給定一個S矩陣,該例子中,S矩陣中共有1a以及2A,因此輸出為3,範例2中,J矩陣的元素為z,而S矩陣的元素為ZS矩陣中完全沒有包含J矩陣的元素,因此輸出為0

Example 1:

Input: J = "aA", S = "aAAbbbb"
Output: 3

水面上的小草 發表在 痞客邦 留言(0) 人氣()

該題Linked List Components的題目如下所示,要計算出共有幾段鏈結串列,範例1的鏈結串列有四個節點,分別為14,若有一個陣列G的元素為013,等於將鏈結串列從元素2的地方切開,切開後鏈結串列為2段,所以輸出為2,而範例2可以看到陣列G一樣少了元素2,因此,輸出結果也為2

Example 1:

Input:
head: 0->1->2->3
G = [0, 1, 3]

水面上的小草 發表在 痞客邦 留言(0) 人氣()

該題Reverse Linked List的題目如下所示,原來有一連結串列有五個節點,節點分別存放15的數值,現在要將五個節點進行反轉,反轉後,節點存放的值分別為51

Example:

Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL

作法解析:宣告一個空的鏈結串列以及一個暫存鏈結串列,先將要原始鏈結串列進行暫存,並將當下的節點連結至空鏈結串列,在利用暫存的鏈結串列進行上述動作。

水面上的小草 發表在 痞客邦 留言(1) 人氣()

該題Leetcode Middle of the Linked List為實現得到一半以後的鏈結串列,如以下所示,範例1共有5個鏈結串列節點(12345),要取得中間以後的數量為3個,即輸出345,而範例2共有6個鏈結串列節點(123456),要取得中間以後的數量為3個,即輸出456

Example 1:

Input: [1,2,3,4,5]
Output: Node 3 from this list (Serialization: [3,4,5])
The returned node has value 3. (The judge's serialization of this node is [3,4,5]).

水面上的小草 發表在 痞客邦 留言(0) 人氣()


本題Leetcode需進行鏈結串列刪除節點之實現,如下圖所示,該鏈結串列共有4個節點為4519,在例子1中,若刪除節點為5,則需刪除節點5,因此鏈結串列為419,若刪除節點為1,則鏈結串列為459

Example 1:

Input: head = [4,5,1,9], node = 5
Output: [4,1,9]
Explanation: You are given the second node with value 5, the linked list should become 4 -> 1 -> 9 after calling your function.

水面上的小草 發表在 痞客邦 留言(0) 人氣()

1 2 3
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。