{"id":155,"date":"2020-11-19T04:28:00","date_gmt":"2020-11-19T04:28:00","guid":{"rendered":"https:\/\/imwarming.com\/?p=155"},"modified":"2020-11-19T04:28:00","modified_gmt":"2020-11-19T04:28:00","slug":"%e7%9b%b4%e6%8e%a5%e5%88%92%e5%88%86%e6%95%b0%e6%8d%ae%e9%9b%86","status":"publish","type":"post","link":"https:\/\/imwarming.com\/?p=155","title":{"rendered":"\u76f4\u63a5\u5212\u5206\u6570\u636e\u96c6"},"content":{"rendered":"<div class=\"cnblogs_code\">\n<pre><span style=\"color: #0000ff;\">import<\/span><span style=\"color: #000000;\"> os\n<\/span><span style=\"color: #0000ff;\">import<\/span><span style=\"color: #000000;\"> random\n \ntrainval_percent <\/span>= 0.2<span style=\"color: #000000;\">\ntrain_percent <\/span>= 0.8<span style=\"color: #000000;\">\nxmlfilepath <\/span>= <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">annotations<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\">xml\u6587\u4ef6<\/span>\ntxtsavepath = <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">imagesetsmain<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\">\u5b58traintxt\u7b49<\/span>\ntotal_xml =<span style=\"color: #000000;\"> os.listdir(xmlfilepath)\n \nnum <\/span>=<span style=\"color: #000000;\"> len(total_xml)\nlist <\/span>=<span style=\"color: #000000;\"> range(num)\ntv <\/span>= int(num *<span style=\"color: #000000;\"> trainval_percent)\ntr <\/span>= int(tv *<span style=\"color: #000000;\"> train_percent)\ntrainval <\/span>=<span style=\"color: #000000;\"> random.sample(list, tv)\ntrain <\/span>=<span style=\"color: #000000;\"> random.sample(trainval, tr)\n \nftrainval <\/span>= open(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">imagesets\/main\/trainval.txt<\/span><span style=\"color: #800000;\">'<\/span>, <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">w<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\nftest <\/span>= open(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">imagesets\/main\/test.txt<\/span><span style=\"color: #800000;\">'<\/span>, <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">w<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\nftrain <\/span>= open(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">imagesets\/main\/train.txt<\/span><span style=\"color: #800000;\">'<\/span>, <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">w<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\nfval <\/span>= open(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">imagesets\/main\/val.txt<\/span><span style=\"color: #800000;\">'<\/span>, <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">w<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\n \n<\/span><span style=\"color: #0000ff;\">for<\/span> i <span style=\"color: #0000ff;\">in<\/span><span style=\"color: #000000;\"> list:\n    name <\/span>= total_xml[i][:-4] + <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">n<\/span><span style=\"color: #800000;\">'<\/span>\n    <span style=\"color: #0000ff;\">if<\/span> i <span style=\"color: #0000ff;\">in<\/span><span style=\"color: #000000;\"> trainval:\n        ftrainval.write(name)\n        <\/span><span style=\"color: #0000ff;\">if<\/span> i <span style=\"color: #0000ff;\">in<\/span><span style=\"color: #000000;\"> train:\n            ftest.write(name)\n        <\/span><span style=\"color: #0000ff;\">else<\/span><span style=\"color: #000000;\">:\n            fval.write(name)\n    <\/span><span style=\"color: #0000ff;\">else<\/span><span style=\"color: #000000;\">:\n        ftrain.write(name)\n \nftrainval.close()\nftrain.close()\nfval.close()\nftest.close()<\/span><\/pre>\n<\/div>\n<p>\u5212\u5206\u540e\u89e3\u6790xml\u6587\u4ef6\u5728label\u4e0b\u751f\u6210\u5b8c\u6574\u5e26\u7279\u5f81\u548c\u6807\u7b7e\u7684txt\u6587\u4ef6(\u4e0b\u9762\u4ee3\u7801\u7684\u6570\u636e\u5206\u5272\u672a\u64cd\u4f5c\uff0c\u4e0a\u9762\u5df2\u6267\u884c)<\/p>\n<div class=\"cnblogs_code\">\n<pre><span style=\"color: #0000ff;\">import<\/span><span style=\"color: #000000;\"> os\n<\/span><span style=\"color: #0000ff;\">import<\/span><span style=\"color: #000000;\"> pandas \n<\/span><span style=\"color: #0000ff;\">import<\/span><span style=\"color: #000000;\"> shutil\n<\/span><span style=\"color: #0000ff;\">import<\/span><span style=\"color: #000000;\"> random\n\n\n<\/span><span style=\"color: #0000ff;\">import<\/span><span style=\"color: #000000;\"> cv2\n<\/span><span style=\"color: #0000ff;\">import<\/span><span style=\"color: #000000;\"> numpy as np\n<\/span><span style=\"color: #0000ff;\">import<\/span><span style=\"color: #000000;\"> xml.etree.elementtree as et\n\n\n<\/span><span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> \u8fd9\u90e8\u5206\u4f11\u8981\u4fee\u6539<\/span>\n\n\n<span style=\"color: #0000ff;\">class<\/span><span style=\"color: #000000;\"> data_preprocess(object):\n    <\/span><span style=\"color: #800000;\">'''<\/span><span style=\"color: #800000;\">\n    \u89e3\u6790xml\u6570\u636e\n    <\/span><span style=\"color: #800000;\">'''<\/span>\n    <span style=\"color: #0000ff;\">def<\/span> <span style=\"color: #800080;\">__init__<\/span><span style=\"color: #000000;\">(self,data_path):\n        self.data_path <\/span>=<span style=\"color: #000000;\"> data_path\n        self.image_size <\/span>= 416<span style=\"color: #000000;\">\n        self.batch_size <\/span>= 32<span style=\"color: #000000;\">\n        self.cell_size <\/span>= 13<span style=\"color: #000000;\">\n        self.classes <\/span>= [<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">hat<\/span><span style=\"color: #800000;\">\"<\/span>,<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">person<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">]\n        self.num_classes <\/span>=<span style=\"color: #000000;\"> len(self.classes)\n        self.box_per_cell <\/span>= 5<span style=\"color: #000000;\">\n        self.class_to_ind <\/span>=<span style=\"color: #000000;\"> dict(zip(self.classes, range(self.num_classes)))\n\n        self.count <\/span>=<span style=\"color: #000000;\"> 0\n        self.epoch <\/span>= 1<span style=\"color: #000000;\">\n        self.count_t <\/span>=<span style=\"color: #000000;\"> 0\n\n    <\/span><span style=\"color: #0000ff;\">def<\/span><span style=\"color: #000000;\"> load_labels(self, model):\n        <\/span><span style=\"color: #0000ff;\">if<\/span> model == <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">train<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">:\n            txtname <\/span>= os.path.join(self.data_path, <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">imagesets\/main\/train.txt<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\n        <\/span><span style=\"color: #0000ff;\">if<\/span> model == <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">test<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">:\n            txtname <\/span>= os.path.join(self.data_path, <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">imagesets\/main\/test.txt<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\n\n        <\/span><span style=\"color: #0000ff;\">if<\/span> model == <span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">val<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">:\n            txtname <\/span>= os.path.join(self.data_path, <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">imagesets\/main\/val.txt<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\n\n\n        with open(txtname, <\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">r<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">) as f:\n            image_ind <\/span>= [x.strip() <span style=\"color: #0000ff;\">for<\/span> x <span style=\"color: #0000ff;\">in<\/span> f.readlines()] <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> \u6587\u4ef6\u540d\u53bb\u6389 .jpg<\/span>\n<span style=\"color: #000000;\">\n        \n        my_index <\/span>=<span style=\"color: #000000;\"> 0\n        <\/span><span style=\"color: #0000ff;\">for<\/span> ind <span style=\"color: #0000ff;\">in<\/span><span style=\"color: #000000;\"> image_ind:\n            class_inds, x1s, y1s, x2s, y2s,img_width,img_height <\/span>=<span style=\"color: #000000;\"> self.load_data(ind)\n\n            <\/span><span style=\"color: #0000ff;\">if<\/span> len(class_inds) ==<span style=\"color: #000000;\"> 0:\n                <\/span><span style=\"color: #0000ff;\">pass<\/span>\n            <span style=\"color: #0000ff;\">else<\/span><span style=\"color: #000000;\">:\n                annotation_label <\/span>= <span style=\"color: #800000;\">\"\"<\/span>\n                <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\">box_x: label_index, x_min,y_min,x_max,y_max<\/span>\n                <span style=\"color: #0000ff;\">for<\/span> label_i <span style=\"color: #0000ff;\">in<\/span><span style=\"color: #000000;\"> range(len(class_inds)):\n\n                    annotation_label <\/span>+= <span style=\"color: #800000;\">\"<\/span> <span style=\"color: #800000;\">\"<\/span> +<span style=\"color: #000000;\"> str(class_inds[label_i])\n                    annotation_label <\/span>+= <span style=\"color: #800000;\">\"<\/span> <span style=\"color: #800000;\">\"<\/span> +<span style=\"color: #000000;\"> str(x1s[label_i])\n                    annotation_label <\/span>+= <span style=\"color: #800000;\">\"<\/span> <span style=\"color: #800000;\">\"<\/span> +<span style=\"color: #000000;\"> str(y1s[label_i])\n                    annotation_label <\/span>+= <span style=\"color: #800000;\">\"<\/span> <span style=\"color: #800000;\">\"<\/span> +<span style=\"color: #000000;\"> str(x2s[label_i])\n                    annotation_label <\/span>+= <span style=\"color: #800000;\">\"<\/span> <span style=\"color: #800000;\">\"<\/span> +<span style=\"color: #000000;\"> str(y2s[label_i])\n\n                with open(<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">.\/data\/my_data\/label\/<\/span><span style=\"color: #800000;\">\"<\/span>+model+<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">.txt<\/span><span style=\"color: #800000;\">\"<\/span>,<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">a<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">) as f:\n                    f.write(str(my_index) <\/span>+ <span style=\"color: #800000;\">\"<\/span> <span style=\"color: #800000;\">\"<\/span> + data_path+<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">\/jpegimages\/<\/span><span style=\"color: #800000;\">\"<\/span>+ind+<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">.jpg<\/span><span style=\"color: #800000;\">\"<\/span>+<span style=\"color: #800000;\">\"<\/span> <span style=\"color: #800000;\">\"<\/span>+str(img_width) +<span style=\"color: #800000;\">\"<\/span> <span style=\"color: #800000;\">\"<\/span>+str(img_height)+ annotation_label + <span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">n<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">)\n\n                my_index <\/span>+= 1\n\n            <span style=\"color: #0000ff;\">print<\/span><span style=\"color: #000000;\">(my_index)\n\n\n\n    <\/span><span style=\"color: #0000ff;\">def<\/span><span style=\"color: #000000;\"> load_data(self, index):\n        label <\/span>= np.zeros([self.cell_size, self.cell_size, self.box_per_cell, 5 +<span style=\"color: #000000;\"> self.num_classes])\n        filename <\/span>= os.path.join(self.data_path, <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">annotations<\/span><span style=\"color: #800000;\">'<\/span>, index + <span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">.xml<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\n        tree <\/span>=<span style=\"color: #000000;\"> et.parse(filename)\n        image_size <\/span>= tree.find(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">size<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\n        image_width <\/span>= int(float(image_size.find(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">width<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">).text))\n        image_height <\/span>= int(float(image_size.find(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">height<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">).text))\n        <\/span><span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> h_ratio = 1.0 * self.image_size \/ image_height<\/span>\n        <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> w_ratio = 1.0 * self.image_size \/ image_width<\/span>\n<span style=\"color: #000000;\">\n        objects <\/span>= tree.findall(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">object<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\n\n        class_inds <\/span>=<span style=\"color: #000000;\"> []\n        x1s <\/span>=<span style=\"color: #000000;\"> []\n        y1s <\/span>=<span style=\"color: #000000;\"> []\n        x2s <\/span>=<span style=\"color: #000000;\"> []\n        y2s <\/span>=<span style=\"color: #000000;\"> []\n\n        <\/span><span style=\"color: #0000ff;\">for<\/span> obj <span style=\"color: #0000ff;\">in<\/span><span style=\"color: #000000;\"> objects:\n            box <\/span>= obj.find(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">bndbox<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">)\n            x1 <\/span>= int(float(box.find(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">xmin<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">).text))\n            y1 <\/span>= int(float(box.find(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">ymin<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">).text))\n            x2 <\/span>= int(float(box.find(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">xmax<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">).text))\n            y2 <\/span>= int(float(box.find(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">ymax<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">).text))\n            <\/span><span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> x1 = max(min((float(box.find('xmin').text)) * w_ratio, self.image_size), 0)<\/span>\n            <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> y1 = max(min((float(box.find('ymin').text)) * h_ratio, self.image_size), 0)<\/span>\n            <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> x2 = max(min((float(box.find('xmax').text)) * w_ratio, self.image_size), 0)<\/span>\n            <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> y2 = max(min((float(box.find('ymax').text)) * h_ratio, self.image_size), 0)<\/span>\n            <span style=\"color: #0000ff;\">if<\/span> obj.find(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">name<\/span><span style=\"color: #800000;\">'<\/span>).text <span style=\"color: #0000ff;\">in<\/span><span style=\"color: #000000;\"> self.classes:\n                class_ind <\/span>= self.class_to_ind[obj.find(<span style=\"color: #800000;\">'<\/span><span style=\"color: #800000;\">name<\/span><span style=\"color: #800000;\">'<\/span><span style=\"color: #000000;\">).text]\n                <\/span><span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> class_ind = self.class_to_ind[obj.find('name').text.lower().strip()]<\/span>\n\n                <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> boxes = [0.5 * (x1 + x2) \/ self.image_size, 0.5 * (y1 + y2) \/ self.image_size, np.sqrt((x2 - x1) \/ self.image_size), np.sqrt((y2 - y1) \/ self.image_size)]<\/span>\n                <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> cx = 1.0 * boxes[0] * self.cell_size<\/span>\n                <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> cy = 1.0 * boxes[1] * self.cell_size<\/span>\n                <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> xind = int(np.floor(cx))<\/span>\n                <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> yind = int(np.floor(cy))<\/span>\n                \n                <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> label[yind, xind, :, 0] = 1<\/span>\n                <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> label[yind, xind, :, 1:5] = boxes<\/span>\n                <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> label[yind, xind, :, 5 + class_ind] = 1<\/span>\n\n                <span style=\"color: #0000ff;\">if<\/span> x1 &gt;= x2 <span style=\"color: #0000ff;\">or<\/span> y1 &gt;=<span style=\"color: #000000;\"> y2:\n                    <\/span><span style=\"color: #0000ff;\">pass<\/span>\n                <span style=\"color: #0000ff;\">else<\/span><span style=\"color: #000000;\">:\n                    class_inds.append(class_ind)\n                    x1s.append(x1)\n                    y1s.append(y1)\n                    x2s.append(x2)\n                    y2s.append(y2)\n\n        <\/span><span style=\"color: #0000ff;\">return<\/span><span style=\"color: #000000;\"> class_inds, x1s, y1s, x2s, y2s, image_width, image_height\n\n\n<\/span><span style=\"color: #0000ff;\">def<\/span><span style=\"color: #000000;\"> data_split(img_path):\n    <\/span><span style=\"color: #800000;\">'''<\/span><span style=\"color: #800000;\">\n    \u6570\u636e\u5206\u5272\n    <\/span><span style=\"color: #800000;\">'''<\/span><span style=\"color: #000000;\">\n\n    files <\/span>=<span style=\"color: #000000;\"> os.listdir(img_path)\n\n    test_part <\/span>= random.sample(files,int(351*0.2<span style=\"color: #000000;\">))\n\n    val_part <\/span>= random.sample(test_part,int(int(351*0.2)*0.5<span style=\"color: #000000;\">))\n\n    val_index <\/span>=<span style=\"color: #000000;\"> 0\n    test_index <\/span>=<span style=\"color: #000000;\"> 0\n    train_index <\/span>=<span style=\"color: #000000;\"> 0\n    <\/span><span style=\"color: #0000ff;\">for<\/span> file <span style=\"color: #0000ff;\">in<\/span><span style=\"color: #000000;\"> files:\n        <\/span><span style=\"color: #0000ff;\">if<\/span> file <span style=\"color: #0000ff;\">in<\/span><span style=\"color: #000000;\"> val_part:\n\n            with open(<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">.\/data\/my_data\/imagesets\/main\/val.txt<\/span><span style=\"color: #800000;\">\"<\/span>,<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">a<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">) as val_f:\n                val_f.write(file[:<\/span>-4] + <span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">n<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\"> )\n\n            val_index <\/span>+= 1\n\n        <span style=\"color: #0000ff;\">elif<\/span> file <span style=\"color: #0000ff;\">in<\/span><span style=\"color: #000000;\"> test_part:\n            with open(<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">.\/data\/my_data\/imagesets\/main\/test.txt<\/span><span style=\"color: #800000;\">\"<\/span>,<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">a<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">) as test_f:\n                test_f.write(file[:<\/span>-4] + <span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">n<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">)\n\n            test_index <\/span>+= 1\n\n        <span style=\"color: #0000ff;\">else<\/span><span style=\"color: #000000;\">:\n            with open(<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">.\/data\/my_data\/imagesets\/main\/train.txt<\/span><span style=\"color: #800000;\">\"<\/span>,<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">a<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">) as train_f:\n                train_f.write(file[:<\/span>-4] + <span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">n<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">)\n\n            train_index <\/span>+= 1  \n\n\n        <span style=\"color: #0000ff;\">print<\/span><span style=\"color: #000000;\">(train_index,test_index,val_index)\n\n\n\n<\/span><span style=\"color: #0000ff;\">if<\/span> <span style=\"color: #800080;\">__name__<\/span> == <span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">__main__<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">:\n    \n    <\/span><span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> \u5206\u5272train, val, test<\/span>\n    <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> img_path = \".\/data\/my_data\/imagesets\"<\/span>\n    <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> data_split(img_path)<\/span>\n    <span style=\"color: #0000ff;\">print<\/span>(<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">===========split data finish============<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">)\n\n    <\/span><span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> \u505a\u9700\u8981\u7684\u8bad\u7ec3\u96c6<\/span>\n    base_path = <span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">.\/<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">\n    data_path <\/span>= os.path.join(base_path,<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">data\/my_data<\/span><span style=\"color: #800000;\">\"<\/span>)  <span style=\"color: #008000;\">#<\/span><span style=\"color: #008000;\"> \u7edd\u5bf9\u8def\u5f84<\/span>\n<span style=\"color: #000000;\">\n    data_p <\/span>=<span style=\"color: #000000;\"> data_preprocess(data_path)\n    data_p.load_labels(<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">train<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">)\n    data_p.load_labels(<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">test<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">)\n    data_p.load_labels(<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">val<\/span><span style=\"color: #800000;\">\"<\/span><span style=\"color: #000000;\">)\n    <\/span><span style=\"color: #0000ff;\">print<\/span>(<span style=\"color: #800000;\">\"<\/span><span style=\"color: #800000;\">==========data pro finish===========<\/span><span style=\"color: #800000;\">\"<\/span>)<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>import os import random trainval_percent = 0.2 tra [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-155","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u76f4\u63a5\u5212\u5206\u6570\u636e\u96c6 - imwarming<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imwarming.com\/?p=155\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u76f4\u63a5\u5212\u5206\u6570\u636e\u96c6 - imwarming\" \/>\n<meta property=\"og:description\" content=\"import os import random trainval_percent = 0.2 tra [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imwarming.com\/?p=155\" \/>\n<meta property=\"og:site_name\" content=\"imwarming\" \/>\n<meta property=\"article:published_time\" content=\"2020-11-19T04:28:00+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"warming\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/imwarming.com\/#website\",\"url\":\"https:\/\/imwarming.com\/\",\"name\":\"imwarming\",\"description\":\"\u6c38\u8fdc\u5e74\u8f7b\uff0c\u6c38\u8fdc\u70ed\u6cea\u76c8\u7736\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/imwarming.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/imwarming.com\/?p=155#webpage\",\"url\":\"https:\/\/imwarming.com\/?p=155\",\"name\":\"\u76f4\u63a5\u5212\u5206\u6570\u636e\u96c6 - imwarming\",\"isPartOf\":{\"@id\":\"https:\/\/imwarming.com\/#website\"},\"datePublished\":\"2020-11-19T04:28:00+00:00\",\"dateModified\":\"2020-11-19T04:28:00+00:00\",\"author\":{\"@id\":\"https:\/\/imwarming.com\/#\/schema\/person\/9d76869a558bac6dd0d6d58f420ee8ea\"},\"breadcrumb\":{\"@id\":\"https:\/\/imwarming.com\/?p=155#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/imwarming.com\/?p=155\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/imwarming.com\/?p=155#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/imwarming.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u76f4\u63a5\u5212\u5206\u6570\u636e\u96c6\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/imwarming.com\/#\/schema\/person\/9d76869a558bac6dd0d6d58f420ee8ea\",\"name\":\"warming\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/imwarming.com\/#personlogo\",\"inLanguage\":\"zh-Hans\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c4a913eed88f7601b76bbf2b103472621195b6fa2f742af89b5ea185b60e7cff?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c4a913eed88f7601b76bbf2b103472621195b6fa2f742af89b5ea185b60e7cff?s=96&d=mm&r=g\",\"caption\":\"warming\"},\"sameAs\":[\"https:\/\/imwarming.com\"],\"url\":\"https:\/\/imwarming.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u76f4\u63a5\u5212\u5206\u6570\u636e\u96c6 - imwarming","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/imwarming.com\/?p=155","og_locale":"zh_CN","og_type":"article","og_title":"\u76f4\u63a5\u5212\u5206\u6570\u636e\u96c6 - imwarming","og_description":"import os import random trainval_percent = 0.2 tra [&hellip;]","og_url":"https:\/\/imwarming.com\/?p=155","og_site_name":"imwarming","article_published_time":"2020-11-19T04:28:00+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"warming","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/imwarming.com\/#website","url":"https:\/\/imwarming.com\/","name":"imwarming","description":"\u6c38\u8fdc\u5e74\u8f7b\uff0c\u6c38\u8fdc\u70ed\u6cea\u76c8\u7736","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imwarming.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"WebPage","@id":"https:\/\/imwarming.com\/?p=155#webpage","url":"https:\/\/imwarming.com\/?p=155","name":"\u76f4\u63a5\u5212\u5206\u6570\u636e\u96c6 - imwarming","isPartOf":{"@id":"https:\/\/imwarming.com\/#website"},"datePublished":"2020-11-19T04:28:00+00:00","dateModified":"2020-11-19T04:28:00+00:00","author":{"@id":"https:\/\/imwarming.com\/#\/schema\/person\/9d76869a558bac6dd0d6d58f420ee8ea"},"breadcrumb":{"@id":"https:\/\/imwarming.com\/?p=155#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imwarming.com\/?p=155"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/imwarming.com\/?p=155#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/imwarming.com\/"},{"@type":"ListItem","position":2,"name":"\u76f4\u63a5\u5212\u5206\u6570\u636e\u96c6"}]},{"@type":"Person","@id":"https:\/\/imwarming.com\/#\/schema\/person\/9d76869a558bac6dd0d6d58f420ee8ea","name":"warming","image":{"@type":"ImageObject","@id":"https:\/\/imwarming.com\/#personlogo","inLanguage":"zh-Hans","url":"https:\/\/secure.gravatar.com\/avatar\/c4a913eed88f7601b76bbf2b103472621195b6fa2f742af89b5ea185b60e7cff?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c4a913eed88f7601b76bbf2b103472621195b6fa2f742af89b5ea185b60e7cff?s=96&d=mm&r=g","caption":"warming"},"sameAs":["https:\/\/imwarming.com"],"url":"https:\/\/imwarming.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/imwarming.com\/index.php?rest_route=\/wp\/v2\/posts\/155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imwarming.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imwarming.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imwarming.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/imwarming.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=155"}],"version-history":[{"count":0,"href":"https:\/\/imwarming.com\/index.php?rest_route=\/wp\/v2\/posts\/155\/revisions"}],"wp:attachment":[{"href":"https:\/\/imwarming.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imwarming.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imwarming.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}