manjaro使用心得 / 中文(注音)輸入法調整
最近決定要將正式從windows畢業,投入linux的懷抱。在接受擁抱前,我決定先用虛擬機測試,寫下調整環境的方法。
<br /><br /> Deeplab是Google做的tensorflow團隊的人所做的研究,他的源碼是放在github的[tensorflow/models/tree/master/research/deeplab](https://github.com/tensorflow/models/tree/master/research/deeplab) <br /><br /> ## 想在不安裝package的情況下,單把deeplab的code挖出來執行的話 1. 把slim的兩個東西 ``` /research/slim/deployment ``` ``` /research/slim/nets ``` 把這兩個資料夾下的所有項目複製放入`models/research/deelab/core/`資料夾裡 2. 把有這行的`.py`檔案全部加入這行`sys.path.append("..")` ``` from deeplab import ... ``` ``` sys.path.append("..") from deeplab import ... ``` <br /><br /> ## 程式用法 ``` python3 train.py --train_logdir ./models/MOBILENET_v2_CrossEntropy_v2 \ # 給訓練的Model名稱,並且統一放在models/資料夾下 --tf_initial_checkpoint ./models/MOBILENET_v2_CrossEntropy_v1/model.ckpt-1000 # pretrain放的方式 ``` 這個部分可以自行摸索,但基本上就是`--直接黏著參數名`。 <br /><br /> ## 訓練結束檢視時,Tensorboard的用法 那因為程式是有用tensorboard去呈現訓練結果,所以訓練完成後,以`Model為名稱的資料夾`下方會有tfevents ``` ls ./models/MOBILENET_v2_CrossEntropy/events.out.tfevents.. ``` 所以使用tensorboard的方法只要給`--logdir`參數上一層的資料夾位置。 ``` tensorboard --logdir=./models/MOBILENET_v2_CrossEntropy ``` <br /><br /> `train.py`有這些參數: ``` num_clones train_logdir #這次訓練的checkpoint、tfevent放置資料夾(推薦資料夾名稱包含backbone, loss function名稱等等) save_summaries_images #True/False,要不要在tfevent裡放image, label, prediction optimizer #[momentum, adam]擇一 learning_policy #[poly, step]擇一,learning rate的下降方式 base_learning_rate #0.0001 初始training的learning rate learning_rate_decay_step #2000 每更新幾次model內部參數,learning rate下降 training_number_of_steps #30000 model總更新內部參數次數 tf_initial_checkpoint #None,pretrained model參數 initialize_last_layer #True/False,如果是不同的model,True,如果是同功用的model,False min_scale_factor #0.5,data augmentation的縮放最小比例,如果圖本來就不大,可能填接近1的數字 max_scale_factor #2,data augmentation的縮放最大比例 dataset #有建立在datasets/data_generator.py的資料集 train_split #用來選擇用於[train, val]的tfrecord,選項在datasets/data_generator.py的splits_to_sizes dataset_dir #None,datasets/\*Dataset Name\*/tfrecord/ ``` <br /> `eval.py`有這些參數: ``` master #跟建立tensorflow cluster有關的,跟train.py的`master`一樣即可,如果只有用一個gpu,保留原始設定的空字串`''`就好 eval_logdir #放置評估模型時,產生的任何檔案 checkpoint_dir #有放訓練好的模型資料夾,與train.py對應是`train_logdir` eval_batch_size #評估時的batch_size,與train.py的`train_batch_size`對應,目前不清楚train跟eval的batch_size一樣與不一樣會有什麼差別,預設是不一樣 eval_crop_size #應該是進入model時的input size,與train.py的`train_crop_size`對應,不清楚可不可以不一樣,預設是一樣513x513 atrous_rates #就是deeplab提出的atrous convolution,在這裡調空洞比例 output_stride #input_size/output_size的比例,縮小多少倍的意思 eval_scales #選擇評估時,resize input尺寸,1.0就是原始大小 add_flipped_images #要不要把input水平翻轉 quantize_delay_step #同train.py的`quantize_delay_step` dataset #同train.py的`dataset` eval_split #用來選擇用於[train, val]的tfrecord,選項在datasets/data_generator.py的splits_to_sizes,同train.py的`train_split`,如果跟train時選擇一樣的dataset,可以用來檢視model是不是正確執行 dataset_dir #同train.py的`dataset_dir` max_number_of_evaluations #評估要iteration幾次,如果沒有設定,evaluation會無限迴圈 ``` <br /><br /> ## 錯誤寫法: 預設none的參數,沒有的話,就不要特別寫上去然後加一個`None`給他 ``` python3 train.py --tf_initial_checkpoint None # wrong way ``` 在寫參數時,就直接忽略掉那個參數就行了
留言
張貼留言