国内精品久久久久久久影视麻豆_99久久精品费精品国产一区二_国产精品久久久精品视频_免费观看又污又黄网站日本

當前位置: 首頁 > 資訊 > 生活 >

yolov5實戰之模型剪枝 當前熱門

時間:2023-06-27 21:23:53

續yolov5實戰之二維碼檢測

目錄前沿為什么要做輕量化什么是剪枝稀疏化訓練剪枝微調結語模型下載前沿

在上一篇yolov5的博客中,我們用yolov5訓練了一個二維碼檢測器,可以用來檢測圖像中是否有二維碼,后續可以接一個二維碼解碼器,就可以解碼出二維碼的信息了(后續可以聊聊)。這篇博客再講講另一個方面:模型輕量化,具體的是輕量化中的模型剪枝。


【資料圖】

為什么要做輕量化

我們訓練的模型不僅僅會用在GPU這種算力高的硬件上,也有可能用在嵌入式CPU或者NPU上,這類硬件算力往往較低,盡管在這些設備上運行模型時,我們可以將模型量化為int8,可以大大降低計算量,但有時候只靠這一方式也是不夠的。比較直觀能想到的提升模型運行速度的方式是裁剪模型,比如減少通道數或模型的深度,這種方式是以犧牲模型精度為代價的。這就促使我們尋找更好的模型輕量化方法,剪枝就是一種使用比較廣泛的模型輕量化方法。

什么是剪枝

模型剪枝(Model Pruning)是一種通過減少神經網絡模型中的冗余參數和連接來優化模型的方法。它旨在減小模型的大小、內存占用和計算復雜度,同時盡可能地保持模型的性能。

模型剪枝的基本思想是通過識別和刪除對模型性能影響較小的參數或連接,以達到模型精簡和優化的目的。方法包括剪枝后的參數微調、重新訓練和微調整體網絡結構等。直觀的理解就是像下圖這樣。??模型剪枝可以在不顯著損失模型性能的情況下,大幅度減少模型的參數量和計算量,從而提高模型的部署效率和推理速度。它特別適用于嵌入式設備、移動設備和邊緣計算等資源受限的場景,以及需要部署在較小存儲空間或帶寬受限環境中的應用。本文選擇的模型剪枝方法:Learning Efficient Convolutional Networks through Network Slimming源代碼:https://github.com/foolwood/pytorch-slimming這個方法基于的想法是通過稀疏化訓練,通過BN層的參數,自動得到權重較小通道,去掉這些通道,從而達到模型裁剪的目的。

稀疏化訓練

如上文述,為了達到剪枝的目的,我們要使用稀疏化訓練,以使得讓模型權重更緊湊,能夠去掉一些權重較小的通道,達到模型裁剪的目的。為了進行稀疏化訓練,引入一個稀疏化稀疏參數,這個參數越大,模型越稀疏,能夠裁剪的比例越大,需要在實際中調整,參數過大,模型性能可能會下降較多,參數過小,能夠裁剪的比例又會過小。??為了進行稀疏化訓練,首先匯總模型的所有BN層:

if opt.sl > 0:        print("Sparse Learning Model!")        print("===> Sparse learning rate is ", hyp["sl"])        prunable_modules = []        prunable_module_type = (nn.BatchNorm2d, )        for i, m in enumerate(model.modules()):            if isinstance(m, prunable_module_type):                prunable_modules.append(m)

在訓練loss中增加稀疏化loss:

def compute_pruning_loss(p, prunable_modules, model, loss):    """    Compute the pruning loss    :param p: predicted output    :param prunable_modules: list of prunable modules    :param model: model    :param loss: original yolo loss    :return: loss    """    float_tensor = torch.cuda.FloatTensor if p[0].is_cuda else torch.Tensor    sl_loss = float_tensor([0])    hyp = model.hyp  # hyperparameters    red = "mean"  # Loss reduction (sum or mean)    if prunable_modules is not None:        for m in prunable_modules:            sl_loss += m.weight.norm(1)        sl_loss /= len(prunable_modules)    sl_loss *= hyp["sl"]    bs = p[0].shape[0]  # batch size    loss += sl_loss * bs    return loss
# Forward            with amp.autocast(enabled=cuda):                pred = model(imgs)  # forward                loss, loss_items = compute_loss(pred, targets.to(device), model)  # loss scaled by batch_size                # Sparse Learning                if opt.sl > 0:                    loss = compute_pruning_loss(pred, prunable_modules, model, loss)                if rank != -1:                    loss *= opt.world_size  # gradient averaged between devices in DDP mode

設置合適的稀疏化稀疏進行訓練,這一過程和普通的yolov5模型訓練一樣。

剪枝

pruning.py

#!/usr/bin/env python# -*- coding: utf-8 -*-"""Copyright (c) 2019 luozw, Inc. All Rights ReservedAuthors: luozhiwang(luozw1994@outlook.com)Date: 2020/9/7"""import osimport argparseimport numpy as npimport torchimport torch.nn as nnimport torch_pruning as tpimport copyimport matplotlib.pyplot as pltfrom models.yolo import Modelimport mathdef load_model(cfg="models/mobile-yolo5l_voc.yaml", weights="./outputs/mvoc/weights/best_mvoc.pt"):    restor_num = 0    ommit_num = 0    model = Model(cfg).to(device)    ckpt = torch.load(weights, map_location=device)  # load checkpoint    names = ckpt["model"].names    dic = {}    for k, v in ckpt["model"].float().state_dict().items():        if k in model.state_dict() and model.state_dict()[k].shape == v.shape:            dic[k] = v            restor_num += 1        else:            ommit_num += 1    print("Build model from", cfg)    print("Resotre weight from", weights)    print("Restore %d vars, ommit %d vars" % (restor_num, ommit_num))    ckpt["model"] = dic    model.load_state_dict(ckpt["model"], strict=False)       del ckpt    model.float()    model.model[-1].export = True    return model, namesdef bn_analyze(prunable_modules, save_path=None):    bn_val = []    max_val = []    for layer_to_prune in prunable_modules:        # select a layer        weight = layer_to_prune.weight.data.detach().cpu().numpy()        max_val.append(max(weight))        bn_val.extend(weight)    bn_val = np.abs(bn_val)    max_val = np.abs(max_val)    bn_val = sorted(bn_val)    max_val = sorted(max_val)    plt.hist(bn_val, bins=101, align="mid", log=True, range=(0, 1.0))    if save_path is not None:        if os.path.isfile(save_path):            os.remove(save_path)        plt.savefig(save_path)    return bn_val, max_valdef channel_prune(ori_model, example_inputs, output_transform, pruned_prob=0.3, thres=None, rules=1):    model = copy.deepcopy(ori_model)    model.cpu().eval()    prunable_module_type = (nn.BatchNorm2d)    ignore_idx = [] #[230, 260, 290]    prunable_modules = []    for i, m in enumerate(model.modules()):        if i in ignore_idx:            continue        if isinstance(m, nn.Upsample):            continue        if isinstance(m, prunable_module_type):            prunable_modules.append(m)    ori_size = tp.utils.count_params(model)    DG = tp.DependencyGraph().build_dependency(model, example_inputs=example_inputs,                                               output_transform=output_transform)    bn_val, max_val = bn_analyze(prunable_modules, "render_img/before_pruning.jpg")    if thres is None:        thres_pos = int(pruned_prob * len(bn_val))        thres_pos = min(thres_pos, len(bn_val)-1)        thres_pos = max(thres_pos, 0)        thres = bn_val[thres_pos]    print("Min val is %f, Max val is %f, Thres is %f" % (bn_val[0], bn_val[-1], thres))    for layer_to_prune in prunable_modules:        # select a layer        weight = layer_to_prune.weight.data.detach().cpu().numpy()        if isinstance(layer_to_prune, nn.Conv2d):            if layer_to_prune.groups > 1:                prune_fn = tp.prune_group_conv            else:                prune_fn = tp.prune_conv            L1_norm = np.sum(np.abs(weight), axis=(1, 2, 3))        elif isinstance(layer_to_prune, nn.BatchNorm2d):            prune_fn = tp.prune_batchnorm            L1_norm = np.abs(weight)        pos = np.array([i for i in range(len(L1_norm))])        pruned_idx_mask = L1_norm < thres        prun_index = pos[pruned_idx_mask].tolist()        if rules != 1:            prune_channel_nums = len(L1_norm) - max(rules, int((len(L1_norm) - pruned_idx_mask.sum())/rules + 0.5)*rules)            _, index = torch.topk(torch.tensor(L1_norm), prune_channel_nums, largest=False)            prun_index = index.numpy().tolist()                    if len(prun_index) == len(L1_norm):            del prun_index[np.argmax(L1_norm)]        plan = DG.get_pruning_plan(layer_to_prune, prune_fn, prun_index)        plan.exec()    bn_analyze(prunable_modules, "render_img/after_pruning.jpg")    with torch.no_grad():        out = model(example_inputs)        if output_transform:            out = output_transform(out)        print("  Params: %s => %s" % (ori_size, tp.utils.count_params(model)))        if isinstance(out, (list, tuple)):            for o in out:                print("  Output: ", o.shape)        else:            print("  Output: ", out.shape)        print("------------------------------------------------------\n")    return modelif __name__ == "__main__":    parser = argparse.ArgumentParser()    parser.add_argument("--cfg", default="models/yolov5s_voc.yaml", type=str, help="*.cfg path")    parser.add_argument("--weights", default="runs/exp7_sl-2e-3-yolov5s/weights/last.pt", type=str, help="*.data path")    parser.add_argument("--save-dir", default="runs/exp7_sl-2e-3-yolov5s/weights", type=str, help="*.data path")    parser.add_argument("-r", "--rate", default=1, type=int, help="通道數為rate的倍數")    parser.add_argument("-p", "--prob", default=0.5, type=float, help="pruning prob")    parser.add_argument("-t", "--thres", default=0, type=float, help="pruning thres")    opt = parser.parse_args()    cfg = opt.cfg    weights = opt.weights    save_dir = opt.save_dir    device = torch.device("cpu")    model, names = load_model(cfg, weights)    example_inputs = torch.zeros((1, 3, 64, 64), dtype=torch.float32).to()    output_transform = None    # for prob in [0, 0.01, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7]:    if opt.thres != 0:        thres = opt.thres        prob = "p.auto"    else:        thres = None        prob = opt.prob    pruned_model = channel_prune(model, example_inputs=example_inputs,                                 output_transform=output_transform, pruned_prob=prob, thres=thres,rules=opt.rate)    pruned_model.model[-1].export = False    pruned_model.names = names    save_path = os.path.join(save_dir, "pruned_"+str(prob).split(".")[-1] + ".pt")    print(pruned_model)    torch.save({"model": pruned_model.module if hasattr(pruned_model, "module") else pruned_model}, save_path)

可以按比例剪枝, 如剪枝比例0.5:

python prune.py --cfg models/yolov5s_voc.yaml --weights runs/exp7_sl-2e-3-yolov5s/weights/last.pt --save-dir runs/exp7_sl-2e-3-yolov5s/weights/ --prob 0.5

還可以按權重大小剪枝,比如小于0.01權重的通道剪:

python prune.py --cfg models/yolov5s_voc.yaml --weights runs/exp7_sl-2e-3-yolov5s/weights/last.pt --save-dir runs/exp7_sl-2e-3-yolov5s/weights/ --thres 0.01

往往通道是8的倍數時,神經網絡推理較快:

python prune.py --cfg models/yolov5s_voc.yaml --weights runs/exp7_sl-2e-3-yolov5s/weights/last.pt --save-dir runs/exp7_sl-2e-3-yolov5s/weights/ --thres 0.01 --rate 8

執行剪枝后,模型將會變小。

微調

剪枝后,模型性能會下降,此時我們需要再微調剪枝后的模型,其訓練過程與剪枝前訓練方式一致。一般情況下,可以接近剪枝前的性能。

結語

通過剪枝可以在精度損失較小的情況下,加快模型的推理速度,在我們需要做實時分析的任務中非常有用。

模型下載

輕量級二維碼檢測模型:模型下載

標簽:

來源: 博客園 編輯: FN008
相關閱讀
  • 2023-06-27 21:23:53yolov5實戰之模型剪枝 當前熱門
  • 2023-06-27 20:35:06小娘惹各個人物扮演者老版 帶你回顧08經典原版小娘惹演員現狀 天天熱訊
  • 2023-06-27 20:16:20天天熱點評!四川省體育館會舉行大運會哪項比賽?
  • 2023-06-27 19:13:35【天天播資訊】珠海公安:“智慧服務”提升便民利企質效
  • 2023-06-27 19:01:36歐美經濟現衰退信號 白銀ETF增持22.84噸_環球快消息
  • 2023-06-27 18:19:06醫療保險比例占工資比例 醫療保險比例_焦點熱議
  • 2023-06-27 17:51:24分期樂怎么樣比較好下款_分期樂怎么樣 世界快資訊
  • 2023-06-27 17:24:55高通推出全新第二代驍龍4移動平臺,為入門級產品提供出色的移動體驗|環球動態
  • 2023-06-27 16:52:57多主力現身龍虎榜,新中港換手率達47.23%(06-27)|天天熱門
  • 2023-06-27 16:09:45熱評丨快遞“溫度計”量出消費復蘇|全球關注
  • 2023-06-27 21:23:53yolov5實戰之模型剪枝 當前熱門
  • 2023-06-27 21:22:15V觀財報|國旅聯合被監管警示:財務信息披露不準確
  • 2023-06-27 21:11:3460萬股股份全部拍出 全國首例大宗股權精細拆分處置 當前獨家
  • 2023-06-27 21:11:08觀焦點:“平安口岸、綠色無毒”如皋出入境邊防檢查站開展禁毒宣傳進港區活動
  • 2023-06-27 21:11:05南京200多斤野豬把玻璃門撞到粉碎 已送往救助中心|看熱訊
  • 2023-06-27 21:09:39環球觀速訊丨有人假冒國家機關名義偽造文件!農業農村部鄭重聲明
  • 2023-06-27 21:06:52當前熱訊:泰州市開展“基層突出問題大起底”專題走訪
  • 2023-06-27 21:05:38今日報丨江蘇南京:城中添“方寸美” 門前享“微幸福” 月牙湖地區新增一處口袋公園
  • 2023-06-27 21:05:00全球觀天下!甘泉縣第二季度“學思堂”志愿服務活動走進勞山鄉
  • 2023-06-27 21:04:50一個拍故事的人走進故事里
  • 2023-06-27 21:00:47全球快播:科興制藥:人生長激素注射液獲批臨試
  • 2023-06-27 20:57:02讓更多的技能人才在宿遷大地建功立業
  • 2023-06-27 20:56:01普京最新發聲 透露一重要信息 焦點熱文
  • 2023-06-27 20:54:28三年尋親之旅畫上句號 父子視頻淚流滿面|環球快報
  • 2023-06-27 20:54:23億緯鋰能:董事會審議通過了《關于繼續開展外匯套期保值業務的議案》 天天觀熱點
  • 2023-06-27 20:53:34當前消息!我國正式接受世貿組織《漁業補貼協定》議定書
  • 2023-06-27 20:50:53當前播報:尋醫途中幸遇警車 雙臂割傷血流如注
  • 2023-06-27 20:49:28網傳“在盒飯中發現疑似老鼠頭” 重慶秀山縣:認定異物為老鼠頭-當前動態
  • 2023-06-27 20:49:20不同防曬服價格相差10倍以上,各品牌主打防曬科技,過半專利卻為外觀設計
  • 2023-06-27 20:45:23紅色陣地筑起“幸福港灣” 獅山橫塘打造多元化黨建服務
  • 2023-06-27 20:44:4416號線一期、地鐵2號線二期開通 西安地鐵運營里程突破300公里 焦點速看
  • 2023-06-27 20:39:53世界資訊:洋蔥可以生吃嗎?有什么好處_洋蔥可以生吃嗎
  • 2023-06-27 20:37:30環球熱推薦:中秋節是每年的幾月幾號_中秋節今年幾月幾號
  • 2023-06-27 20:35:06小娘惹各個人物扮演者老版 帶你回顧08經典原版小娘惹演員現狀 天天熱訊
  • 2023-06-27 20:16:20天天熱點評!四川省體育館會舉行大運會哪項比賽?
  • 2023-06-27 20:13:35地產從業者的新常態:不用加班熬月光也不見曙光
  • 2023-06-27 20:12:36環球播報:端午小長假南通接待游客156萬人次
  • 2023-06-27 20:11:15父母背著我上學!勵志,沭陽腦癱女孩高考超一本線32分
  • 2023-06-27 20:09:272023年淮安市普通高中錄取控制線公布!
  • 2023-06-27 20:08:55比亞迪:接受國信證券調研
  • 2023-06-27 20:03:47當前滾動:又到“最可怕暑假”?販賣焦慮才真“毀孩子”
  • 2023-06-27 20:02:02龍元建設:制定未來三年股東分紅回報規劃 觀點
  • 2023-06-27 20:01:20谷歌被曝終止AR眼鏡項目,團隊裁員重組,要做AR界“安卓” 世界新消息
  • 2023-06-27 20:00:08滿意蓮湖 十分好評
  • 2023-06-27 19:59:44即時:打新股新規則2023_打新股新規
  • 2023-06-27 19:58:26中超聯賽明日重啟 津門虎的身份和以前不同了……
  • 2023-06-27 19:55:25南京致力打造青年科技人才“蓄水池”
  • 2023-06-27 19:55:167月1日起,運行調整!涉及鹽城→
  • 2023-06-27 19:54:17陜西省印臺區發布暴雨藍色預警
  • 2023-06-27 19:50:55108坊故事|社區兩年來組織召開了20多場協調會 小區303戶終于通上天然氣|世界新要聞
  • 2023-06-27 19:45:19環球資訊:老婆大人回應部分門店無法用會員卡:門店到期未續約
  • 2023-06-27 19:21:34廣東擬對醫保信用進行積分制管理
  • 2023-06-27 19:21:13天天視點!福建|精準暖人心 育人青春夢—南平市學生資助工作會議召開
  • 2023-06-27 19:17:12csgo在哪里可以租刀 十大專業的csgo武器交易平臺排名-今日最新
  • 2023-06-27 19:15:53漲漲漲!7月1日起,鎮江多項保障標準再提高
  • 2023-06-27 19:15:06白癜風醫院南昌哪家好|熱聞
  • 2023-06-27 19:13:35【天天播資訊】珠海公安:“智慧服務”提升便民利企質效
  • 2023-06-27 19:11:52世界熱資訊!九洲集團:擬向全資子公司九洲能源增資不超過4億元
  • 2023-06-27 19:05:36二季度收官6月零跑銷量再次提前破萬
  • 2023-06-27 19:04:49即時看!深夜發布!2023年鎮江揚中市高中階段招生第二批次錄取分數線劃定
  • 2023-06-27 19:02:28俄稱瓦格納準備向俄軍移交重武裝 撤銷針對普里戈任的刑事立案 天天新要聞
  • 2023-06-27 19:01:50全球時訊:第十三屆江蘇書展將于7月1日至5日舉辦 常州設立12個分展場
  • 2023-06-27 19:01:36歐美經濟現衰退信號 白銀ETF增持22.84噸_環球快消息
  • 2023-06-27 19:01:25陜西省蒲城縣發布雷雨大風黃色預警
  • 2023-06-27 19:00:43全球視訊!穩地價穩房價穩預期 揚州樓市政策再優化
  • 2023-06-27 19:00:14教育部印發通知部署做好2023年暑期校外培訓治理工作
  • 2023-06-27 18:56:32平整度如何表示-平整度怎么表示
  • 2023-06-27 18:54:10全球焦點!番茄“三劍客”在南通啟東設立長三角供應鏈中心
  • 2023-06-27 18:47:40今日工行紙白銀價格走勢圖最新行情(6月27日)
  • 2023-06-27 18:46:052023東莞本科生見習實習補貼線上申辦流程
  • 2023-06-27 18:46:03世界短訊!商洛市衛健系統深入開展鞏固銜接領域群眾身邊腐敗和作風問題專項整治
  • 2023-06-27 18:40:48全球快消息!新房主臥墻面維修后出現裂縫,上上物業:聯系多方面談
  • 2023-06-27 18:40:20鶏_關于鶏簡述 前沿熱點
  • 2023-06-27 18:26:12環球新消息丨江蘇大學2023年碩士研究生錄取通知書發放有關事宜通知
  • 2023-06-27 18:19:06醫療保險比例占工資比例 醫療保險比例_焦點熱議
  • 2023-06-27 18:17:00高溫天氣持續 人社部要求做好勞動者權益保障工作 看點
  • 2023-06-27 18:15:21蘇錫常三地首個遠程異地評標合作項目完成
  • 2023-06-27 18:10:27世界快看點丨黑石上層入口在哪 黑石上層怎么走
  • 2023-06-27 18:06:42環球微頭條丨找工作、租房、落戶 “隨申辦”上線實用服務包
  • 2023-06-27 18:06:00烏克蘭和談將于7月進行?是否邀請俄羅斯?外交部回應 天天快播
  • 2023-06-27 18:01:04泛海控股:接管人擬1.34億美元出售夏威夷度假村 當前觀察
  • 2023-06-27 17:58:44全球觀察:滬蘇兩地實現主城軌道交通聯通 推進長三角交通基礎設施互聯互通
  • 2023-06-27 17:58:35讓科研人員大膽探索
  • 2023-06-27 17:58:14環球熱頭條丨民生銀行濰坊壽光支行走進社區開展防范非法集資宣傳活動
  • 2023-06-27 17:55:13科普 | 痛風與類風濕有何區別,哲成生物教你正確區分
  • 2023-06-27 17:54:58航行警告!南海海域進行軍事訓練-要聞
  • 2023-06-27 17:54:13大晟文化:公司暫未開通官方微博、微信、抖音等新媒體溝通平臺 當前熱聞
  • 2023-06-27 17:53:44月均增長達“百億級” 六問快遞業如何實現提速發展_世界最資訊
  • 2023-06-27 17:52:05陜西省富平縣發布雷雨大風黃色預警
  • 2023-06-27 17:51:24分期樂怎么樣比較好下款_分期樂怎么樣 世界快資訊
  • 2023-06-27 17:47:05新消息丨“進度條”更新!新天地商務社區邁向商務社區建設“2.0版本”
  • 2023-06-27 17:45:48全球滾動:安康今年高中招生有這些變化!你了解嗎?
  • 2023-06-27 17:45:08陜西發布冰雹橙色預警 部分地區未來6小時內出現冰雹天氣可能性很大
  • 2023-06-27 17:44:33焦點熱議:國家金融監督管理總局批復籌建渣打銀行(中國)有限公司合肥分行
  • 2023-06-27 17:43:45超1億流量曝光、2億息費減免…京東供應鏈金融科技助力小微商家備戰京東11.11
  • 2023-06-27 17:43:00高考志愿填報熱點問題答疑
  • 2023-06-27 17:36:23當前視點!overlord填詞系列 雅兒貝德&夏提雅(勾指起誓)
  • 2023-06-27 17:24:55高通推出全新第二代驍龍4移動平臺,為入門級產品提供出色的移動體驗|環球動態
  • 2023-06-27 17:21:25以高質量信息披露體系推動轉型債券市場發展|當前動態
  • 2023-06-27 17:14:04文旅市場人氣“井噴” 連云港市端午小長假接待游客75.98萬人
  • 2023-06-27 17:13:09全球百事通!徐州:“種牛場”書記不養牛 一心只為鄉村振興
  • 2023-06-27 17:10:57【全球新要聞】“數”說宿遷沭陽:今年前5月工業稅收和工業增值稅領跑蘇北
  • 2023-06-27 17:10:48從端午產業“三變”看消費市場活力|每日簡訊
  • 2023-06-27 17:08:09云端送崗拓展就創業渠道 虎丘街道舉辦產業園專場直播帶崗活動 天天視訊
  • 2023-06-27 17:05:55“社區+就業”“銀行+社保”“企業+仲裁” 連云港市著力打造15分鐘人社便民服務圈
  • 2023-06-27 17:04:32老舊小區展新貌!南通崇川區三年改造112個小區
  • 2023-06-27 16:59:30天天關注:總收入31.48億元!端午期間徐州游客接待總量262.35萬人次
  • 2023-06-27 16:59:11天天時訊:徐州泉山:今年改造四個老舊小區
  • 2023-06-27 16:58:47當前快看:外資總部集聚區!南京鼓樓區打造對外開放新高地
  • 2023-06-27 16:56:26自家庭院種什么樹好_庭院種什么樹好 天天時快訊
    • 蘇州
    • 江蘇
    • 財經
    • 娛樂
    • 旅游
    • 時尚

    紅色陣地筑起“幸福港

    環球熱推薦:中秋節是

    讓更多的技能人才在宿

    黨建結對共建 助力鄉

    九寨溝國慶遇冷7天迎

    普京最新發聲 透露一

    最新資訊

  • 最早將在4月底發射 龍飛船有望成首個載人商業航天器
  • 又見高空墜物 這次扔下來的竟然是玻璃茶幾
  • 蘇州軌道交通3號線今起空載試運行 將于12月底試運營
  • 十四臺高水準音樂演出 江南之聲,以音樂節的名義致敬古典
  • 2019江蘇省“長江經濟帶”全民健身大聯動暨“舞動江蘇”無錫賽區啟動儀式舉行
  • 以合作致共贏 江蘇日本開放創新合作交流會在東京舉行
  • 走進江蘇各地博物館 尋找文物上的“萌娃”們
  • 新沂城市水環盡顯生態活力:碧水繞城 綠蔭滿城
  • “強網”擬態防御國際精英挑戰賽:29支“白帽黑客”戰隊誰能突防?
  • 南京樓市上半年推房或超去年全年
  • 環球百事通!31個項目竣工投產!南京江寧區前5月完成投資111.7億元
  • 環球快資訊丨每一分就有千人!今年高考491分的杭州姑娘還有機會讀本科嗎?
  • “家文化”賦能基層治理
  • 揚州市委書記王進健:全力沖刺實現“雙過半”目標任務
  • 6月27日國內部分鋼廠錳系金屬招標情況|當前動態
  • 日媒:福島核污染水排海隧道建設工程已完工
  • 多主力現身龍虎榜,新中港換手率達47.23%(06-27)|天天熱門
  • “四進四送”描繪就業服務新畫卷 天天快訊
  • 審批做“減法” 服務做“加法” 張家港保稅區助企跑出發展“加速度”
  • 世界快看點丨【調研快報】華緯科技接待東北證券等多家機構調研
  • 制作動畫ppt的軟件_ppt動畫制作軟件|環球快消息
  • 手機電池典型值和額定值是什么意思詳情
  • 網傳延安一警車公路上逆行,延安市公安局:有緊急公務不便鳴笛-世界快播報
  • 【環球新要聞】汶川山洪泥石流災害已發現3名遇難者 其中2人是夫妻
  • 【小里幫忙】富縣新出租車為何上路不到一年就問題頻出?
  • 渭南市掀起全民禁毒宣傳活動新高潮_天天熱推薦
  • 陜西洛南縣石門鎮全面加強財政精細化管理
  • 怎樣進行證明事實收養關系?收養關系的登記地點在哪?
  • 如何辦理事實收養公證?辦理收養公證的方式有哪些?
  • 事實收養的認定是指什么?事實收養認定法律依據是什么?
  • 李想造車:左手銷量,右手流量
  • 解除事實收養關系的法律效力如何?收養關系解除后的其他注意事項是什么?
  • 辦理事實收養公證需要提交什么資料?辦理收養公證的法律依據有哪些?
  • 收養人與送養單位怎樣簽訂收養協議?事實收養審查內容有哪些?
  • 北京寶慶銀樓周二(6月27日)黃金報576元/克
  • 有哪些事實收養申請程序?收養人應當向收養登記機關提交什么證明材料?
  • 事實收養的特征有哪些?事實收養的產生原因是什么?
  • 怎樣理解事實收養關系的解除?事實收養關系的解除有哪些法律依據?
  • 事實收養的解除條件是什么?收養關系解除后如何補償?
  • 事實收養的含義是什么?哪些情形可以認定為事實收養?
  • 事實收養應具備條件有哪些?認定收養關系有什么法律依據?
  • 事實收養的時間如何劃定?事實收養法律規定有哪些?
  • 外國收養人通過外國收養組織向中國收養組織提出收養申請內容有哪些?
  • 有哪些涉外收養的實質要件?涉外收養的法律適用是什么?
  • 法律規定涉外收養有哪些條件?收養登記機關是什么?
  • 國內超百所高校為無錫考生提供"一站式"服務 在錫高校擴大招生規模
  • 關于涉外收養程序之中國送養人向我國民政部門提出送養申請及其審批
  • 涉外收養的批準與通知是什么內容?涉外收養公證是指什么?
  • 微信ipad老版本下載(微信下載ipad版) 世界熱訊
  • 涉外收養是什么?涉外收養如何進行?
  • 夫妻先后把對方送精神病院,究竟誰“有病”?是否涉嫌非法拘禁?-每日看點
  • 涉外法律是什么?涉外知識產權應該如何管轄?
  • k3換剎車油用幾升(k3多久換剎車油?)
  • 熱評丨快遞“溫度計”量出消費復蘇|全球關注
  • 持續更新中!多地公布2023高考分數線-每日關注
  • 端午假期宿遷鐵路到發旅客破12萬人次|環球短訊
  • 【甘肅】華池縣舉辦2023年高素質農民培育中藥材生產培訓班
  • 有點動靜就沖上熱搜 初登亞運舞臺的電競為何如此受寵
  • 收評:三大指數午后持續走強 房地產板塊領漲|當前快看
  • 復興號預計7月1日在青藏鐵路正式運營
  • 涉外收養登記有哪些程序?辦理涉外收養登記應當提交的材料有哪些?
  • 涉外收養的效力是指什么?法律規定涉外收養的效力如何?
  • 實踐中有一小孩了還能收養一個孩子嗎?收養協議要注意哪些問題?
  • 守護失能人員!泰州市長期護理保險減輕市民負擔2.08億元|全球新消息
  • 已有子女想再收養一個孩子需要提供哪些材料?收養協議怎么解除?
  • 去哪里辦理收養手續?收養手續怎么辦?收養擬制效力有哪些?
  • 哪些情況下可以領養孩子?領養孩子需要什么條件?收養孩子登記的步驟是什么?
  • 動態:開顱3次的“輪椅少年”,考上了!
  • 遺贈扶養協議的解除的條件有哪些?遺贈撫養協議生效條件是什么?
  • 收養孩子如何辦理收養手續?單身男性收養孩子的條件有哪些?
  • 單身男的領養女兒條件是什么?被收養人的范圍有哪些?
  • 2022/23賽季最佳撲救1/8決賽第四組對決:...-熱點聚焦
  • 中國正式接受世貿組織《漁業補貼協定》議定書
  • 觀點:谷歌在發貨前取消了部分 Pixel Fold 預訂單
  • 汶川泥石流航拍畫面公布 7人失聯 正全力搜救中|每日速讀
  • 遺贈扶養協議形式要件有哪些?遺贈扶養協議的解除需要什么條件?
  • 九強生物:大股東ZHOU XIAOYAN擬清倉減持不超5.28%公司股份
  • 法定扶養義務人的范圍包括哪些?兄弟姐妹間有扶養義務嗎?
  • 有哪些領養孩子辦理收養程序?收養手續辦理具體步驟是什么?
  • 收養手續辦理需要多長時間?簽領養合同的條件是什么?
  • 一般收養程序是什么?收養子女必須按照哪些法定程序?
  • 官方指導價8.99-12.79萬元 江淮釔為3正式上市
  • 西北首條全自動無人駕駛地鐵線路開通初期運營|當前速遞
  • 明喆集團:擬沖刺深交所主板IPO上市,預計投入募資14.1億元 全球熱推薦
  • 辦理收養所需條件及材料有哪些?收養登記申請材料有哪些?
  • 陜煤運銷集團北方港累計銷售煤炭突破800萬噸
  • 福利院收養手續是怎樣的?收養福利院孩子所需材料有哪些?
  • 怎么辦理收養手續?收養手續有什么法律依據?
  • 可以在網絡上進行收養手續嗎?網上收養孩子違法嗎?
  • 民法典關于收養法的實施辦法有哪些 收養法的實施辦法是什么
  • 收養協議是否具有法律效力?收養協議具有法律效力的依據是什么?
  • 收養協議包含內容有哪些?收養協議適用于合同編嗎?
  • 拒招川大師生的CEO再發聲:我對我說的話不后悔,曝川大更多內幕_天天快看
  • 收養關系可以解除嗎?收養無效情形應該如何處理?
  • 收養多少歲的孩子需要征得本人同意?收養關系特征有哪些?
  • 怪物獵人崛起守勢珠需要什么素材
  • 安徽政企校媒首次合作打造企業職工思政課
  • 【熱聞】江蘇東方四通創業板IPO獲受理:凈利潤同比增長126.67%
  • 貴州“村超”,中國鄉村的幸福模樣-全球熱點
  • 跨境電商成“真、優、美”產品大本營_全球報道
  • 世界看點:行政復議法修訂草案二審稿:充分保障申請人合法權益
  • 全球訊息:國內商品期市收盤多數上漲 鐵礦石漲逾4%
  • 又一海洋重器!“亞洲第一高”海上油氣平臺總裝啟動-訊息
  • 目前手頭有50萬元存款 車房已買 該如何理財呢 記住五點 播報
  • 觀熱點:蘇州“十四五”交通規劃:民用運輸機場規劃建設獲階段性突破
  • 華僑城20億斬獲佛山禪城一宅地,溢價率近18%
  • 太白縣榮獲2023年中國旅游避暑優選地
  • 南京華山飯店全員抓安全 “險情”檢驗應急消防水平|當前短訊
  • 熱消息:高考志愿填報相關App會員費不菲,AI填報靠不靠譜?
  • 天天即時:水鳥翔集 青海湖迎來鳥類繁殖高峰
  • 国内精品久久久久久久影视麻豆_99久久精品费精品国产一区二_国产精品久久久精品视频_免费观看又污又黄网站日本

              欧美激情一区二区三区不卡| 一本大道久久精品懂色aⅴ| 色综合中文综合网| 午夜精品免费在线| 成人精品一区二区三区四区| 自拍偷拍亚洲欧美日韩| 欧美精品亚洲二区| 亚洲人被黑人高潮完整版| 国模一区二区三区白浆| 日本一区二区成人| 日本韩国欧美在线| 国产精品美女久久久久高潮| 美女被吸乳得到大胸91| 久久久亚洲国产美女国产盗摄| 天天爽夜夜爽夜夜爽精品视频| 国产视频在线观看一区二区三区| 天堂蜜桃一区二区三区| 久久先锋影音av| 色嗨嗨av一区二区三区| 国产精品毛片大码女人| 久久国产精品第一页| 国产精品麻豆欧美日韩ww| 欧美亚洲日本一区| 亚洲天堂av老司机| 成人禁用看黄a在线| 亚洲v日本v欧美v久久精品| 国产午夜精品久久久久久免费视| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品三级av在线播放| 欧美精品黑人性xxxx| 一区二区三区欧美亚洲| 91一区二区三区在线播放| 91成人在线观看喷潮| 亚洲日本乱码在线观看| 成人免费视频国产在线观看| 亚洲777理论| 国产精品久久久久久久久久久免费看 | 亚洲精品日韩一| 久久久国产精品午夜一区ai换脸| 免费一区二区视频| 亚洲欧洲另类国产综合| 精品久久久久一区| 美女网站色91| 一区二区三区小说| 亚洲国产成人自拍| 成人丝袜高跟foot| 在线观看一区日韩| 亚洲一区二区精品3399| 国产喂奶挤奶一区二区三区| 正在播放亚洲一区| 轻轻草成人在线| 亚洲天堂免费在线观看视频| 久久丝袜美腿综合| 国产一区二区三区观看| 亚洲尤物在线视频观看| 最新不卡av在线| 99精品视频在线免费观看| 欧美日韩精品欧美日韩精品| 亚洲二区视频在线| 中文字幕亚洲区| 日本一区二区三区免费乱视频 | 欧美久久久一区| 日韩av一区二区三区四区| 亚洲人妖av一区二区| 中文字幕欧美三区| av中文字幕在线不卡| 欧美精品一二三四| 激情亚洲综合在线| 亚洲成在人线免费| 亚洲一二三四在线| 亚洲视频在线一区| 中文字幕一区不卡| 国产欧美日韩三区| 久久久久久免费| yourporn久久国产精品| 欧美群妇大交群中文字幕| 麻豆成人久久精品二区三区红| 亚洲综合精品久久| 亚洲一区二区三区在线播放| 亚洲色欲色欲www| 综合自拍亚洲综合图不卡区| 国产日产欧美精品一区二区三区| 久久综合九色综合欧美就去吻| 成人久久视频在线观看| 91精品麻豆日日躁夜夜躁| 狠狠色丁香久久婷婷综| 欧美在线看片a免费观看| 奇米在线7777在线精品| 婷婷丁香久久五月婷婷| 五月天激情小说综合| 亚洲午夜精品久久久久久久久| 亚洲综合一区二区精品导航| 亚洲欧美日韩成人高清在线一区| 亚洲欧美激情在线| 亚洲日本va午夜在线影院| 亚洲激情校园春色| 亚洲日本在线视频观看| 亚洲综合久久久| 樱花影视一区二区| 亚洲一区二区三区四区在线免费观看 | 国产日韩成人精品| 亚洲欧美在线视频观看| 中文字幕一区二区三中文字幕| 亚洲免费大片在线观看| 一区二区三区波多野结衣在线观看| 亚洲综合久久久| 午夜国产精品影院在线观看| 免费看日韩精品| 欧美久久一区二区| 成人久久18免费网站麻豆| 精品国产91亚洲一区二区三区婷婷 | 51久久夜色精品国产麻豆| 国产91精品免费| 精品1区2区在线观看| 久久综合久久久久88| 中文字幕一区二区三| 亚洲欧美一区二区三区久本道91| 一区二区成人在线| 婷婷夜色潮精品综合在线| 久久爱另类一区二区小说| 91精品国产综合久久精品app| 成人禁用看黄a在线| 欧美激情一区在线观看| 最新中文字幕一区二区三区| 亚洲不卡av一区二区三区| 欧美综合久久久| 国产成人在线视频免费播放| 26uuu国产日韩综合| 国产欧美日韩精品一区| 亚洲精品成人少妇| 天天色 色综合| 国产精品一二三四| 国产亚洲短视频| 亚洲天堂网中文字| 日本va欧美va欧美va精品| 8x福利精品第一导航| 99国产精品久久久久| 中文字幕乱码久久午夜不卡 | 久久精品国产精品亚洲精品| 欧美一区二区精美| 久久久久久亚洲综合| 一区二区三区四区在线免费观看| 色一情一乱一乱一91av| 国产高清久久久| 国产日产欧美一区二区三区| 亚洲人成小说网站色在线| 美女一区二区三区在线观看| 精品欧美久久久| 亚洲免费在线看| 国产呦精品一区二区三区网站| 久久亚洲精华国产精华液| 亚洲欧洲av在线| 美女网站色91| 国产午夜精品理论片a级大结局 | 一区二区日韩av| 国产精品资源在线看| 国产拍揄自揄精品视频麻豆| 亚洲线精品一区二区三区| 国产乱子轮精品视频| 中文字幕欧美日本乱码一线二线| 亚洲综合av网| 丁香亚洲综合激情啪啪综合| 中文字幕欧美一区| 在线一区二区三区四区五区 | 91久久精品一区二区三区| 91亚洲精品久久久蜜桃网站| 亚洲在线一区二区三区| 制服丝袜成人动漫| 国产精品麻豆视频| 精品一区二区在线播放| 中文字幕的久久| 一本色道久久综合精品竹菊| 99国产精品一区| 五月激情丁香一区二区三区| 欧美电影免费提供在线观看| 又紧又大又爽精品一区二区| 国产精品亚洲一区二区三区在线| 国产精品第一页第二页第三页| 91福利资源站| 国产精品色眯眯| 黄色日韩网站视频| 中文字幕在线不卡| 欧美日韩一区二区在线视频| 国产欧美一区二区精品婷婷| 免费精品视频最新在线| 日本一区二区三区电影| 欧美专区亚洲专区| 国产精品久久久久久久午夜片| 狠狠色综合播放一区二区| 日韩一区日韩二区| 91精品国产一区二区三区香蕉| 亚洲欧洲综合另类| 99久久精品免费看| 视频一区二区不卡| 国产精品视频yy9299一区| 欧美怡红院视频| 亚洲视频精选在线| 9久草视频在线视频精品| 美女视频黄免费的久久| 中文字幕在线观看一区二区|