之前介紹過文章相似度比對,今天要來介紹一個舉凡是兩個字串(string)都可以拿來算相似度的方法,且運算速度還比較快。 Levenshtein distance(萊文斯坦距離),其核心概念很簡單就是A字串要變的跟B字串一模一樣需要增加、刪除幾個字元,若增修的字元越少表示兩個字串越相似。 舉例:1234變成123編輯距離就是1。 相關的source code網路上資源有很多,隨意貼一個C#版本。 public static int LevenshteinDistance(string s, string t) { int n = s.Length; int m = t.Length; int[,] d = new int[n + 1, m + 1]; if (n == 0) { return m; } if (m == 0) { return n; } for (int i = 0; i <= n; d[i, 0] = i++) { } for (int j = 0; j <= m; d[0, j] = j++) { ...
註冊數據集 import json from detectron2.structures import BoxMode def get_board_dicts ( imgdir ): json_file = imgdir + "/dataset.json" #Fetch the json file with open ( json_file ) as f : dataset_dicts = json . load ( f ) for i in dataset_dicts : filename = i [ "file_name" ] i [ "file_name" ] = imgdir + "/" + filename for j in i [ "annotations" ]: j [ "bbox_mode" ] = BoxMode . XYWH_ABS #Setting the required Box Mode j [ "category_id" ] = int ( j [ "category_id" ]) return dataset_dicts from detectron2.data import DatasetCatalog , MetadataCatalog #Registering the Dataset for d in [ "train" , "val" ]: DatasetCatalog . register ( "boardetect_" + d , lambda d = d : get_board_dicts ( "Text_Detection_Dataset_COCO_Format/" + d )) MetadataCatal...
幫幫
回覆刪除