中文字幕人妻中文_99精品欧美一区二区三区综合在线_精品久久久久一区二区_色月丁香_免费福利在线视频_欧美大片免费观看网址_国产伦精品一区二区三区在线播放_污污污污污污www网站免费_久久月本道色综合久久_色69激情爱久久_尹人香蕉久久99天天拍_国产美女www_亚洲国产精品无码7777一线_五月婷婷六月激情_看免费一级片_精品久久久久久成人av_在线色亚洲_女人另类性混交zo_国产精品青青在线观看爽香蕉_人人澡人人添人人爽一区二区

主頁 > 知識庫 > pytorch DistributedDataParallel 多卡訓練結果變差的解決方案

pytorch DistributedDataParallel 多卡訓練結果變差的解決方案

熱門標簽:儋州電話機器人 地圖標注面積 朝陽手機外呼系統 所得系統電梯怎樣主板設置外呼 市場上的電銷機器人 小蘇云呼電話機器人 北京電銷外呼系統加盟 佛山400電話辦理 北瀚ai電銷機器人官網手機版

DDP 數據shuffle 的設置

使用DDP要給dataloader傳入sampler參數(torch.utils.data.distributed.DistributedSampler(dataset, num_replicas=None, rank=None, shuffle=True, seed=0, drop_last=False)) 。 默認shuffle=True,但按照pytorch DistributedSampler的實現:

    def __iter__(self) -> Iterator[T_co]:
        if self.shuffle:
            # deterministically shuffle based on epoch and seed
            g = torch.Generator()
            g.manual_seed(self.seed + self.epoch)
            indices = torch.randperm(len(self.dataset), generator=g).tolist()  # type: ignore
        else:
            indices = list(range(len(self.dataset)))  # type: ignore

產生隨機indix的種子是和當前的epoch有關,所以需要在訓練的時候手動set epoch的值來實現真正的shuffle:

for epoch in range(start_epoch, n_epochs):
    if is_distributed:
        sampler.set_epoch(epoch)
    train(loader)

DDP 增大batchsize 效果變差的問題

large batchsize:

理論上的優點:

數據中的噪聲影響可能會變小,可能容易接近最優點;

缺點和問題:

降低了梯度的variance;(理論上,對于凸優化問題,低的梯度variance可以得到更好的優化效果; 但是實際上Keskar et al驗證了增大batchsize會導致差的泛化能力);

對于非凸優化問題,損失函數包含多個局部最優點,小的batchsize有噪聲的干擾可能容易跳出局部最優點,而大的batchsize有可能停在局部最優點跳不出來。

解決方法:

增大learning_rate,但是可能出現問題,在訓練開始就用很大的learning_rate 可能導致模型不收斂 (https://arxiv.org/abs/1609.04836)

使用warming up (https://arxiv.org/abs/1706.02677)

warmup

在訓練初期就用很大的learning_rate可能會導致訓練不收斂的問題,warmup的思想是在訓練初期用小的學習率,隨著訓練慢慢變大學習率,直到base learning_rate,再使用其他decay(CosineAnnealingLR)的方式訓練.

# copy from https://github.com/ildoonet/pytorch-gradual-warmup-lr/blob/master/warmup_scheduler/scheduler.py
from torch.optim.lr_scheduler import _LRScheduler
from torch.optim.lr_scheduler import ReduceLROnPlateau
class GradualWarmupScheduler(_LRScheduler):
    """ Gradually warm-up(increasing) learning rate in optimizer.
    Proposed in 'Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour'.
    Args:
        optimizer (Optimizer): Wrapped optimizer.
        multiplier: target learning rate = base lr * multiplier if multiplier > 1.0. if multiplier = 1.0, lr starts from 0 and ends up with the base_lr.
        total_epoch: target learning rate is reached at total_epoch, gradually
        after_scheduler: after target_epoch, use this scheduler(eg. ReduceLROnPlateau)
    """
    def __init__(self, optimizer, multiplier, total_epoch, after_scheduler=None):
        self.multiplier = multiplier
        if self.multiplier  1.:
            raise ValueError('multiplier should be greater thant or equal to 1.')
        self.total_epoch = total_epoch
        self.after_scheduler = after_scheduler
        self.finished = False
        super(GradualWarmupScheduler, self).__init__(optimizer)
    def get_lr(self):
        if self.last_epoch > self.total_epoch:
            if self.after_scheduler:
                if not self.finished:
                    self.after_scheduler.base_lrs = [base_lr * self.multiplier for base_lr in self.base_lrs]
                    self.finished = True
                return self.after_scheduler.get_last_lr()
            return [base_lr * self.multiplier for base_lr in self.base_lrs]
        if self.multiplier == 1.0:
            return [base_lr * (float(self.last_epoch) / self.total_epoch) for base_lr in self.base_lrs]
        else:
            return [base_lr * ((self.multiplier - 1.) * self.last_epoch / self.total_epoch + 1.) for base_lr in self.base_lrs]
    def step_ReduceLROnPlateau(self, metrics, epoch=None):
        if epoch is None:
            epoch = self.last_epoch + 1
        self.last_epoch = epoch if epoch != 0 else 1  # ReduceLROnPlateau is called at the end of epoch, whereas others are called at beginning
        if self.last_epoch = self.total_epoch:
            warmup_lr = [base_lr * ((self.multiplier - 1.) * self.last_epoch / self.total_epoch + 1.) for base_lr in self.base_lrs]
            for param_group, lr in zip(self.optimizer.param_groups, warmup_lr):
                param_group['lr'] = lr
        else:
            if epoch is None:
                self.after_scheduler.step(metrics, None)
            else:
                self.after_scheduler.step(metrics, epoch - self.total_epoch)
    def step(self, epoch=None, metrics=None):
        if type(self.after_scheduler) != ReduceLROnPlateau:
            if self.finished and self.after_scheduler:
                if epoch is None:
                    self.after_scheduler.step(None)
                else:
                    self.after_scheduler.step(epoch - self.total_epoch)
                self._last_lr = self.after_scheduler.get_last_lr()
            else:
                return super(GradualWarmupScheduler, self).step(epoch)
        else:
            self.step_ReduceLROnPlateau(metrics, epoch)

分布式多卡訓練DistributedDataParallel踩坑

近幾天想研究了多卡訓練,就花了點時間,本以為會很輕松,可是好多坑,一步一步踏過來,一般分布式訓練分為單機多卡與多機多卡兩種類型;

主要有兩種方式實現:

1、DataParallel: Parameter Server模式,一張卡位reducer,實現也超級簡單,一行代碼

DataParallel是基于Parameter server的算法,負載不均衡的問題比較嚴重,有時在模型較大的時候(比如bert-large),reducer的那張卡會多出3-4g的顯存占用

2、DistributedDataParallel:官方建議用新的DDP,采用all-reduce算法,本來設計主要是為了多機多卡使用,但是單機上也能用

為什么要分布式訓練?

可以用多張卡,總體跑得更快

可以得到更大的 BatchSize

有些分布式會取得更好的效果

主要分為以下幾個部分:

單機多卡,DataParallel(最常用,最簡單)

單機多卡,DistributedDataParallel(較高級)、多機多卡,DistributedDataParallel(最高級)

如何啟動訓練

模型保存與讀取

注意事項

一、單機多卡(DATAPARALLEL)

from torch.nn import DataParallel
 
device = torch.device("cuda")
#或者device = torch.device("cuda:0" if True else "cpu")
 
model = MyModel()
model = model.to(device)
model = DataParallel(model)
#或者model = nn.DataParallel(model,device_ids=[0,1,2,3])

比較簡單,只需要加一行代碼就行, model = DataParallel(model)

二、多機多卡、單機多卡(DISTRIBUTEDDATAPARALLEL)

建議先把注意事項看完在修改代碼,防止出現莫名的bug,修改訓練代碼如下:

其中opt.local_rank要在代碼前面解析這個參數,可以去后面看我寫的注意事項;

    from torch.utils.data.distributed import DistributedSampler
    import torch.distributed as dist
    import torch
 
    # Initialize Process Group
    dist_backend = 'nccl'
    print('args.local_rank: ', opt.local_rank)
    torch.cuda.set_device(opt.local_rank)
    dist.init_process_group(backend=dist_backend)
 
    model = yourModel()#自己的模型
    if torch.cuda.device_count() > 1:
        print("Let's use", torch.cuda.device_count(), "GPUs!")
        # 5) 封裝
        # model = torch.nn.parallel.DistributedDataParallel(model,
        #                                                   device_ids=[opt.local_rank],
        #                                                   output_device=opt.local_rank)
        model = torch.nn.parallel.DistributedDataParallel(model.cuda(), device_ids=[opt.local_rank])
    device = torch.device(opt.local_rank)
    model.to(device)
    dataset = ListDataset(train_path, augment=True, multiscale=opt.multiscale_training, img_size=opt.img_size, normalized_labels=True)#自己的讀取數據的代碼
    world_size = torch.cuda.device_count()
    datasampler = DistributedSampler(dataset, num_replicas=dist.get_world_size(), rank=opt.local_rank)
 
    dataloader = torch.utils.data.DataLoader(
        dataset,
        batch_size=opt.batch_size,
        shuffle=False,
        num_workers=opt.n_cpu,
        pin_memory=True,
        collate_fn=dataset.collate_fn,
        sampler=datasampler
    )#在原始讀取數據中加sampler參數就行
 
 
.....
 
訓練過程中,數據轉cuda
      imgs = imgs.to(device)
      targets = targets.to(device)

三、如何啟動訓練

1、DataParallel方式

正常訓練即可,即

python3 train.py

2、DistributedDataParallel方式

需要通過torch.distributed.launch來啟動,一般是單節點,

CUDA_VISIBLE_DEVICES=0,1 python3 -m torch.distributed.launch --nproc_per_node=2 train.py

其中CUDA_VISIBLE_DEVICES 設置用的顯卡編號,--nproc_pre_node 每個節點的顯卡數量,一般有幾個顯卡就用幾個顯卡

多節點

python3 -m torch.distributed.launch --nproc_per_node=NUM_GPUS_YOU_HAVE --nnodes=2 --node_rank=0
#兩個節點,在0號節點

要是訓練成功,就會打印出幾個信息,有幾個卡就打印幾個信息,如下圖所示:

四、模型保存與讀取

以下a、b是對應的,用a保存,就用a方法加載

1、保存

a、只保存參數

torch.save(model.module.state_dict(), path)

b、保存參數與網絡

torch.save(model.module,path)

2、加載

a、多卡加載模型預訓練;

model = Yourmodel()
if opt.pretrained_weights:
        if opt.pretrained_weights.endswith(".pth"):
            model.load_state_dict(torch.load(opt.pretrained_weights))
        else:
            model.load_darknet_weights(opt.pretrained_weights)

單卡加載模型,需要加載模型時指定主卡讀模型,而且這個'cuda:0',是看你訓練的模型是0還是1(否則就會出錯RuntimeError: Attempting to deserialize object on CUDA device 1 but torch.cuda.device_count() is 1. Please use torch.load with map_location to map your storages to an existing device),可以根據自己的更改:

model = Yourmodel()
if opt.pretrained_weights:
        if opt.pretrained_weights.endswith(".pth"):
            model.load_state_dict(torch.load(opt.pretrained_weights,map_location="cuda:0"))
        else:
            model.load_darknet_weights(opt.pretrained_weights)

b、單卡加載模型;

同樣也要指定讀取模型的卡。  

model = torch.load(opt.weights_path, map_location="cuda:0")

多卡加載預訓練模型,以b這種方式還沒跑通。

五、注意事項

1、model后面添加module

獲取到網絡模型后,使用并行方法,并將網絡模型和參數移到GPU上。注意,若需要修改網絡模塊或者獲得模型的某個參數,一定要在model后面加上.module,否則會報錯,比如:

model.img_size  要改成  model.module.img_size

2、.cuda或者.to(device)等問題

device是自己設置,如果.cuda出錯,就要化成相應的device

model(如:model.to(device))

input(通常需要使用Variable包裝,如:input = Variable(input).to(device))

target(通常需要使用Variable包裝

nn.CrossEntropyLoss()(如:criterion = nn.CrossEntropyLoss().to(device))

3、args.local_rank的參數

通過torch.distributed.launch來啟動訓練,torch.distributed.launch 會給模型分配一個args.local_rank的參數,所以在訓練代碼中要解析這個參數,也可以通過torch.distributed.get_rank()獲取進程id。

parser.add_argument("--local_rank", type=int, default=-1, help="number of cpu threads to use during batch generation")
 

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 關于pytorch多GPU訓練實例與性能對比分析
  • 解決pytorch多GPU訓練保存的模型,在單GPU環境下加載出錯問題
  • 解決Pytorch訓練過程中loss不下降的問題
  • pytorch 指定gpu訓練與多gpu并行訓練示例

標簽:酒泉 江蘇 寧夏 商丘 金融催收 云南 定西 龍巖

巨人網絡通訊聲明:本文標題《pytorch DistributedDataParallel 多卡訓練結果變差的解決方案》,本文關鍵詞  pytorch,DistributedDataParallel,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytorch DistributedDataParallel 多卡訓練結果變差的解決方案》相關的同類信息!
  • 本頁收集關于pytorch DistributedDataParallel 多卡訓練結果變差的解決方案的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 武汉 机械制造有限公司| 山东旭升机械有限公司| 厦门洪海机械有限公司| 昆山富邦机械有限公司| 张家港同大机械有限公司| 苏州德伊捷自动化机械有限公司 | 郑州中意矿山机械有限公司| 东方机械制造有限公司| 广东省重工建筑设计院有限公司| 云南科玛机械设备有限公司| 上海机械配件有限公司| 浙江嘉元机械制造有限公司| 深圳市稻田包装机械有限公司| 潍坊竣通机械配套有限公司| 机械成套设备有限公司| 台州嘉瑞机械有限公司| 南通庞源机械工程有限公司| 常州常发动力机械有限公司| 江苏如皋钢铁有限公司| 爱科农业机械有限公司| 衡阳运输机械有限公司| 江苏莱宝机械制造有限公司| 群鑫机械有限公司电话| 广州善友机械设备有限公司| 金坛包装机械有限公司| 上海德托机械有限公司| 泰兴机械制造有限公司| 上海冉本机械制造有限公司| 徐州博丰钢铁有限公司| 青岛 塑料机械有限公司| 哈克农业机械装备制造有限公司 | 北京精密机械有限公司| 陕西 机械 有限公司| 浙江杰豹机械有限公司| 瑞安市华东包装机械有限公司| 佛山市精密机械有限公司| 温州市凯驰包装机械有限公司| 成都富江机械制造有限公司| 鑫鑫建筑机械有限公司| 沧州科信环保机械有限公司| 曲阜志成机械有限公司| 武汉东泰盛机械有限公司| 丰机械有限公司怎么样| 汕头 机械有限公司| 烟台莫深机械设备有限公司| 新乡市中轻机械有限公司| 临沂工程机械有限公司| 缙云县机械有限公司| 江苏青山机械有限公司| 唐山神州机械有限公司| 福州恒拓机械有限公司| 郑州江科重工机械有限公司| 上海鑫越包装机械有限公司| 世翔精密机械制造有限公司 | 台州亚格机械有限公司| 肥城云宇机械有限公司| 张家港市通惠化工机械有限公司| 聊城 机械有限公司| 上海中机械有限公司| 建筑工程机械租聘有限公司| 上海御流包装机械有限公司| 苏州丰裕机械工程有限公司| 浙江赛峰机械有限公司| 重庆远博机械有限公司| 宁波市海达塑料机械有限公司| 唐山机械设备有限公司| 石家庄安瑞科气体机械有限公司| 唐山燕山钢铁有限公司| 临沂市机械有限公司| 齐鲁石化机械制造有限公司招聘| 武汉鑫巨力精密机械制造有限公司| 博山 机械有限公司| 江阴化工机械有限公司| 徐工机械有限公司现状| 济南弘川包装机械有限公司| 郑州万谷机械有限公司| 上海帆铭机械有限公司| 常州 机械制造有限公司| 天津天重江天重工有限公司| 厦门机械制造有限公司| 上海丰泽机械有限公司| 浙江瑞浦机械有限公司| 安徽矿山机械有限公司| 昆山乔地精密机械有限公司| 江阴力达机械有限公司| 徐州东南钢铁工业有限公司| 陕西 机械设备有限公司| 上海贝得尔石化机械设备有限公司| 宇进注塑机械有限公司| 广东机械设备有限公司| 石家庄 机械 有限公司| 江西为民机械有限公司| 奉化市机械有限公司| 天津市三鼎包装机械有限公司 | 山推抚起机械有限公司| 东莞发机械有限公司| 汽车销售有限公司起名| 上海承企机械有限公司| 济南液压机械有限公司| 锋劲威机械有限公司| 南京恒昌包装机械有限公司| 广州市金王机械设备有限公司| 济南诺斯机械有限公司| 上海敏杰机械有限公司| 重庆海迅机械制造有限公司| 江苏省南扬机械制造有限公司| 木业有限公司起名大全| 西安环宇机械制造有限公司| 北京市政中燕工程机械制造有限公司 | 沈阳顺达重矿机械制造有限公司 | 金鹰重工有限公司招聘| 石家庄钢铁有限公司| 德州市启泰机械设备有限公司| 江苏佳成机械有限公司| 河南安普包装机械制造有限公司| 温州惠利机械有限公司| 无锡市江益液压机械成套有限公司| 麻阳金湘钢铁有限公司| 宁波钢铁有限公司电话| 福建新源重工有限公司| 山东国新起重机械有限公司| 长沙机械与制造有限公司| 河北九江钢铁有限公司| 江苏博森机械制造有限公司| 太仓机械设备有限公司| 萨克米机械有限公司| 杭州华驰机械有限公司| 杭州 机械设备有限公司| 宜都大一重工有限公司| 长沙机械与制造有限公司| 德龙钢铁有限公司地址| 山东锦坤机械有限公司| 东莞市机械制造有限公司| 上海起鑫贸易有限公司| 温州华珍机械有限公司| 靖江市机械制造有限公司| 华劲机械制造有限公司| 郑州昌利机械制造有限公司| 苏州阿姆斯壮阀门机械有限公司| 合肥机械制造有限公司| 东莞市沃德精密机械有限公司| 上海神农机械有限公司| 宣化华泰矿冶机械有限公司| 起步有限公司上市排名| 斯特精密机械有限公司| 湖南运想重工有限公司| 玉溪新兴钢铁有限公司| 宁波力盟机械有限公司| 广西金达机械有限公司| 上海腾迈机械有限公司| 东莞 精密机械有限公司| 苏州铭峰精密机械有限公司| 浙江荣德机械有限公司| 首钢东华机械有限公司| 郑州同鼎机械设备有限公司| 泰安通远机械有限公司| 浙江歌德起重机有限公司| 山东常美机械有限公司| 江阴市豪亚机械制造有限公司 | 杭州引春机械有限公司| 济南威力机械有限公司| 瑞安市方泰机械有限公司| 新湾机械有限公司招聘| 安徽国梁机械设备有限公司 | 山东川普机械有限公司| 江苏佳力起重机械制造有限公司| 威士重工机械有限公司| 东莞科雄机械有限公司| 吴江迈锐机械有限公司怎么样| 江苏祥达机械制造有限公司| 济南 升降机械有限公司| 潍坊机械设备有限公司| 山西 机械有限公司| 东莞%机械%有限公司| 江门广力机械有限公司| 合心机械制造有限公司| 江苏新技机械有限公司| 贵阳长乐钢铁有限公司| 杭州萧山机械有限公司| 浙江铖虹机械有限公司| 广州新成机械技术有限公司| 常州远见机械有限公司| 中核机械天津有限公司| 山西中阳钢铁有限公司| 禹州市机械有限公司| 长沙威沃机械制造有限公司| 北京晨光兴业机械有限公司| 唐山凯恒钢铁有限公司| 广东盈钢机械有限公司| 山东泗水鑫峰面粉机械有限公司| 山东天路重工有限公司| 浙江精劲机械有限公司| 天津机械设备有限公司| 温州机械制造有限公司| 恒丰机械配件有限公司| 欧克机械制造有限公司| 合肥机械设备有限公司| 宝鸡南车时代工程机械有限公司| 河南华北起重吊钩有限公司| 广州金宗机械有限公司| 甘肃机械化建设工程有限公司| 天津市机械设备有限公司| 成都杰瑞达工程机械有限公司| 洛阳高峰工程机械有限公司| 郑州世纪精信机械制造有限公司 | 安阳三一机械有限公司| 上海众冠食品机械有限公司| 福建三嘉钢铁有限公司| 浙江机械制造有限公司| 鞍山 机械有限公司| 山东万力起重机械有限公司| 常州南鹏机械有限公司| 大连典石精密机械有限公司| 沈阳水泥机械有限公司| 嘉兴市机械有限公司| 邹平宏鑫机械有限公司| 宁波思进机械有限公司| 江苏银华春翔机械制造有限公司| 青岛广德机械有限公司| 石油机械制造有限公司| 广州市瑞扬机械设备有限公司| 杭州贝克机械有限公司| 天津艾尔特精密机械有限公司 | 河南江河机械有限公司| 金龙机械制造有限公司| 快克数控机械有限公司| 重庆蓝黛动力传动机械有限公司| 北京恒机械设备有限公司| 南通科邦机械有限公司| 山东铭德机械有限公司| 重庆卡滨通用机械有限公司| 上海起帆电缆有限公司| 湖北江汉重工有限公司| 石家庄食品机械有限公司| 温州奋起皮业有限公司| 江阴伟江机械有限公司| 苏州开隆机械有限公司| 江苏食品机械有限公司| 烟台鼎科机械有限公司| 建筑装饰有限公司起名| 上海嘉亿机械有限公司| 力迈机械设备有限公司| 郑州华隆机械制造有限公司| 上海山威路桥机械有限公司| 湖北 钢铁有限公司| 诸城市日通机械有限公司| 昆山日晟机械有限公司| 常州机械设备有限公司| 深圳市环球同创机械有限公司 | 山西立恒钢铁有限公司| 山东首钢钢铁贸易有限公司 | 上海先德机械工程有限公司| 秦皇岛佰工钢铁有限公司| 济南华工液压机械有限公司| 美心翼申机械有限公司| 博兴县钢铁有限公司| 三一重工昆山有限公司| 上海嘉倍德塑胶机械有限公司| 上海 机械制造有限公司| 化工机械制造有限公司| 大连万阳重工有限公司| 四川广鑫粮油机械制造有限公司| 青岛日川精密机械有限公司| 温州机械制造有限公司| 江苏江佳机械有限公司| 江苏科力机械有限公司| 上海隆麦机械有限公司| 无锡建仪仪器机械有限公司| 广州东昇机械有限公司| 浙江新立机械有限公司| 无锡市阳通机械设备有限公司| 潍坊华耀磁电机械有限公司| 潍坊山水环保机械制造有限公司| 世创机械制造有限公司| 常州赛瑞克包装机械有限公司| 沈阳维用精密机械有限公司招聘| 泉州机械设备有限公司| 新乡市福泽机械设备有限公司| 无锡包装机械有限公司| 洛阳震动机械有限公司| 杭州速博雷尔传动机械有限公司 | 湛江恒润机械有限公司| 济南华飞数控机械有限公司| 上海德元机械设备有限公司| 济南迅捷机械设备有限公司| 武汉餐至饮机械设备有限公司| 旭海机械设备有限公司| 陕西至信机械制造有限公司怎么样 | 沈阳机械制造有限公司| 济南天助升降机械有限公司| 上海塑帝机械有限公司| 无锡华迪机械设备有限公司| 山东旭升机械有限公司| 郑州市建新机械制造有限公司 | 机械电子制造有限公司| 萍乡萍钢安源钢铁有限公司| 江苏苏东化工机械有限公司| 机械有限公司 南丰| 无锡南机械有限公司| 南丰 机械有限公司| 河南重工机械有限公司| 苏州牧天动力机械有限公司| 江苏联顺机械有限公司| 广州赛思达机械设备有限公司| 机械有限公司 张家港| 中山 机械有限公司| 东莞安默琳机械制造技术有限公司 | 镇江斯伊格机械有限公司| 青岛仕诚塑料机械有限公司| 上海卓汇机械有限公司| 贝力特机械有限公司| 三星机械制造有限公司| 郑州市联华机械制造有限公司 | 上海开隆冶金机械制造有限公司 | 常州万裕机械有限公司| 江苏诺森重工有限公司| 河南省新乡市矿山起重机有限公司| 广东重工建设监理有限公司| 上海起帆电缆有限公司| 安徽永成电子机械技术有限公司| 唐山鑫鑫钢铁有限公司| 无锡工源机械有限公司| 华通动力重工有限公司| 青岛包装机械有限公司| 唐山荣信钢铁有限公司| 兰州 机械 有限公司| 潍坊精诺机械有限公司| 爱可机械深圳有限公司| 东莞市欧西曼机械设备有限公司| 蓬莱禄昊化工机械有限公司 | 山东中探机械有限公司| 中远海运重工有限公司| 苏州百勤精密机械有限公司| 山东吉恒机械有限公司| 莱州三和机械有限公司| 杭州嘉诚机械有限公司| 上海定盛机械有限公司| 金坛包装机械有限公司| 济宁高扬工程机械有限公司| 瑞安市方泰机械有限公司| 东莞市峰茂机械设备有限公司| 临沂市机械有限公司| 苏州君驰联动机械有限公司 | 无锡伊诺特石化机械设备有限公司 | 宝鸡中车时代工程机械有限公司| 湛江市机械有限公司| 烟台微特机械有限公司| 诸城市华邦机械有限公司| 重庆工程机械有限公司| 苏州勤美达精密机械有限公司 | 江苏海特尔机械有限公司| 温岭华驰机械有限公司| 广州机械有限公司 v| 万兹莱压缩机械(上海)有限公司| 河北食品机械有限公司| 南京德丰机械有限公司| 江苏精密机械有限公司| 唐山鑫达钢铁有限公司| 徐州斗山工程机械有限公司| 东莞市自动化机械有限公司| 大庆惠博普石油机械设备制造有限公司 | 福州 机械 有限公司| 四川川宏机械有限公司| 广东万联包装机械有限公司| 烟台 机械有限公司| 深圳美鹏机械设备有限公司| 南京润森工程机械有限公司| 舞钢中加钢铁有限公司| 徐州博丰钢铁有限公司| 三菱重工海尔空调机有限公司 | 浙江包装机械有限公司| 大连铸鸿机械有限公司| 浙江亿鹏机械有限公司| 徐州天地重型机械制造有限公司| 泉州泉丰机械有限公司| 上海松川远亿机械设备有限公司| 苏州机械制造有限公司| 江苏同力机械有限公司| 丹阳市华泰制药机械有限公司| 青岛 重工 有限公司| 常德机械制造有限公司| 徐州徐工随车起重机有限公司| 机械自动化设备有限公司| 人科机械设备有限公司| 江苏福克斯机械有限公司| 液压机械制造有限公司| 马鞍山钢铁有限公司| 山东机械铸造有限公司| 青岛液压机械有限公司 | 临沂铸信机械有限公司| 铜陵富鑫钢铁有限公司| 德州联合石油机械有限公司| 蚌埠行星机械有限公司| 深圳步先包装机械有限公司| 南京神鹏机械设备有限公司| 柳州富达机械有限公司官网| 宁波市机械有限公司| 上海盟申机械有限公司| 瑞安 机械有限公司| 上海戈扬包装机械有限公司| 济宁机械制造有限公司| 昆明 机械 有限公司| 佛山市包装机械有限公司| 久海机械制造有限公司| 上海太腾机械设备有限公司 | 四平红嘴钢铁有限公司| 机械有限公司经营范围| 浙江华业塑料机械有限公司| 南通液压机械有限公司| 宁波钢铁有限公司地址| 中实洛阳重型机械有限公司| 武汉瑞威特机械有限公司 | 科达机械制造有限公司| 上海重型机械有限公司| 河南星光机械有限公司| 安瑞科气体机械有限公司| 湖州机械设备有限公司| 宁波固奇包装机械制造有限公司 | 杭州博创机械有限公司| 临沂美联重工有限公司| 上海方星机械设备制造有限公司| 邯郸市复液液压机械有限公司| 河南矿山重型起重机械有限公司 | 南通申通机械有限公司| 山东泰峰起重设备制造有限公司 | 三川德青工程机械有限公司| 咸阳机械制造有限公司| 迪砂常州机械有限公司| 扬州诺亚机械有限公司| 常州机械制造有限公司| 东营恒诚机械有限公司| 环球工业机械有限公司| 华通动力重工有限公司| 宜都大一重工有限公司| 浙江赛峰机械有限公司| 华劲机械制造有限公司| 深圳创能机械有限公司| 深圳新劲力机械有限公司| 上海涵延机械有限公司| 浙江绿峰机械有限公司| 河北机械进出口有限公司| 苏州施米特机械有限公司| 苏州金纬机械制造有限公司| 起帆电线电缆有限公司| 河南工程机械有限公司| 明天机械有限公司待遇| 肯拉铎机械有限公司| 徐州凯工机械有限公司| 武汉吕工机械有限公司| 郑州志乾机械设备有限公司| 上海贝得尔石化机械设备有限公司| 宜春江特机械传动有限公司| 上海立帆机械有限公司| 爱科农业机械有限公司| 北京机械制造有限公司| 东莞市合辉精密机械设备有限公司| 南京泽创机械有限公司| 南京橡塑机械有限公司| 昆明 机械 有限公司| 湖南德邦重工机械有限公司| 江苏巨威机械有限公司| 苏州铭峰精密机械有限公司| 濮阳崛起装饰有限公司| 瑞德森机械有限公司| 常州汉森机械有限公司| 云南昆鼎机械设备有限公司| 德昌誉机械制造有限公司| 上海齐耀螺杆机械有限公司| 飞扬机械制造有限公司| 上海星贝包装机械有限公司| 鑫港机械制造有限公司| 浙江精劲机械有限公司| 福建 机械有限公司| 江苏东方重工有限公司| 济南鼎业机械制造有限公司| 萍乡萍钢安源钢铁有限公司 | 浩博海门机械有限公司| 鑫达机械设备有限公司| 杭州海陆重工有限公司| 杭州诺迈机械有限公司| 江苏中贵重工有限公司| 淄博翔鹏机械有限公司| 诸城科翔机械有限公司| 秦皇岛机械有限公司| 浙江欧迈特减速机械有限公司 | 无锡械锐机械有限公司| 东莞东久机械有限公司| 浙江 料机械有限公司| 江苏久保田农机机械有限公司| 郑州包装机械有限公司| 河北凯瑞重工有限公司| 天津宏大纺织机械有限公司| 广东荣钢钢铁有限公司| 南通密炼捏合机械有限公司| 濮阳崛起装饰有限公司| 船舶机械制造有限公司| 大连日立机械设备有限公司| 泉州恒泉机械有限公司| 泉州金鹰机械有限公司| 江苏久保田农机机械有限公司| 济南泽机械有限公司| 江苏甲钢钢铁有限公司| 重庆明鑫机械有限公司| 四川机械设备有限公司| 天津 津工机械有限公司| 杭州康发塑料机械有限公司| 洛阳瑞德机械有限公司| 东营嘉信机械有限公司| 福州 机械 有限公司| 大连精密机械有限公司| 湖南 机械设备有限公司| 柳州欧维姆机械有限公司| 成都瑞迪机械实业有限公司| 天津精密机械有限公司| 河南星光机械有限公司| 天翔机械制造有限公司| 嘉善远景机械有限公司| 太原通泽重工有限公司| 孝感金达钢铁有限公司| 南京德丰机械有限公司| 万通机械制造有限公司| 济南格特机械设备有限公司 | 江阴锦澄钢铁有限公司| 江阴祥乐机械有限公司| 速技能机械有限公司| 合肥方圆机械有限公司| 佛山市南海鼎工包装机械有限公司| 新疆 机械有限公司| 机械化工程有限公司| 河南奥创机械设备有限公司| 东莞市智科精密机械有限公司 | 济南速雕数控机械有限公司| 郑州品创机械设备有限公司| 润源经编机械有限公司| 上海国青机械有限公司| 天津德尚机械有限公司| 兰州兰石重工有限公司| 莱州弘宇机械有限公司| 东莞市机械设备有限公司| 佳友精密机械有限公司| 本源兴(上海)包装机械材料有限公司 | 泰安鑫杰机械有限公司| 无锡烨隆精密机械有限公司| 山东大华机械有限公司| 南阳机械制造有限公司| 唐山市德龙钢铁有限公司| 无锡沃利数控机械有限公司| 新乡市福泽机械设备有限公司| 河北食品机械有限公司| 山西中阳钢铁有限公司| 诸城市铭威食品机械有限公司| 苏州神峰起重机械有限公司| 杭州旭众机械设备有限公司| 洛北重工机械有限公司| 昆成机械机械有限公司| 济南腾越机械制造有限公司| 烟台莫深机械设备有限公司| 浙江威泰机械有限公司| 德州市机械有限公司| 淄博推进化工机械有限公司| 昆山锦沪机械有限公司| 江苏东邦机械有限公司| 常州工程机械有限公司| 无锡市丰玮机械设备有限公司| 常州腾睿机械有限公司| 凯达机械制造有限公司| 张家港白熊科美机械有限公司| 常州制药机械有限公司| 业精机械制造有限公司| 哈尔滨机械制造有限公司| 上海冬松精密机械有限公司| 华天机械制造有限公司| 扬州华粮机械有限公司| 万工机械制造有限公司| 山东明宇重工机械有限公司| 东莞市联顺机械有限公司| 洛阳机械设备有限公司| 张家口中煤嘉益机械制造有限公司 | 南海区机械设备有限公司| 美心翼申机械有限公司| 浙江科力塑料机械有限公司| 温州市润新机械制造有限公司| 深圳市铭利达精密机械有限公司 | 徐州中嘉工程机械有限公司| 星火包装机械有限公司| 台州嘉瑞机械有限公司| 新疆昆玉钢铁有限公司| 泰州机械 有限公司| 中原圣起起重机械有限公司| 杭州机械设备制造有限公司| 河南重型机械有限公司| 济南欧亚德数控机械有限公司| 抚顺新钢铁有限公司| 昆山乔地精密机械有限公司| 工程机械租赁有限公司| 木业有限公司起名大全| 台湾鸿昌机械有限公司| 迁安荣信钢铁有限公司| 珠海粤裕丰钢铁有限公司| 邢台凌远机械制造有限公司| 洛北重工机械有限公司| 天津菲特机械有限公司| 北京起重设备有限公司| 山东明天机械有限公司| 上海曼亿包装机械有限公司 | 苏州海盛精密机械有限公司| 精密机械设备有限公司| 东莞市博志达工程机械制造有限公司 | 威海化工机械有限公司招聘| 江苏坤泰机械有限公司| 东莞培锋精密机械有限公司| 聊城 机械有限公司| 山东西王钢铁有限公司| 天津新港船舶重工有限公司| 广西机械设备有限公司| 南京机械设备有限公司| 兰州长征机械有限公司| 广州泽比机械设备有限公司| 江苏省南扬机械制造有限公司 | 青州三和机械有限公司| 重庆 机械配件有限公司| 上海景林包装机械有限公司| 济宁立派工程机械有限公司| 南京力同重工机械有限公司| 深圳 机械设备有限公司| 东莞恒力机械有限公司| 苏州海盛精密机械有限公司| 菲美得机械有限公司| 江阴市长达钢铁有限公司| 无锡创能机械制造有限公司| 济南梓鑫机械有限公司| 昆山市升达机械制造有限公司| 泊头市环保机械有限公司| 鞍山源鑫钢铁有限公司| 上海科劳机械设备有限公司 | 宁波恒威机械有限公司| 青岛山森机械有限公司| 杭州容瑞机械技术有限公司| 广州 机械 有限公司| 青岛精锐机械制造有限公司| 广州惠德机械有限公司| 山东问云机械有限公司| 重庆纵横机械有限公司| 青岛鑫泉塑料机械有限公司| 建荣精密机械有限公司| 苏州恩贝德机械有限公司| 温州杰福机械设备有限公司 | 上海普顺机械电器制造有限公司| 开封良益机械有限公司| 北京大森长空包装机械有限公司| 昆山五金机械有限公司| 广东重工建设监理有限公司| 长春合心机械制造有限公司| 鞍山宝得钢铁有限公司| 江阴伟江机械有限公司| 江苏石油机械有限公司| 河南省浩业矿山机械有限公司| 无锡市双瑞机械有限公司| 东元精密机械有限公司| 建筑工程机械租聘有限公司| 杭州杭达机械有限公司| 建筑工程机械租聘有限公司| 机械装备制造有限公司| 新疆昆玉钢铁有限公司| 合肥精密机械有限公司| 淄博 机械有限公司| 宁波固奇包装机械制造有限公司 | 潍坊瑞发机械有限公司| 上海凯奇机械设备有限公司| 莱州弘宇机械有限公司| 扬州恒润海洋重工有限公司| 厦门市机械有限公司| 上海隆康机械设备有限公司| 浙江方邦机械有限公司| 昆成机械机械有限公司| 郑州长宏机械制造有限公司 | 上海东芝机械有限公司| 东泰机械制造有限公司| 中山精密机械有限公司| 山东天力液压机械有限公司| 济南恒迪机械有限公司| 上海食品机械有限公司| 洛阳矿山机械有限公司| 佛山市洛德机械设备有限公司| 徐州中嘉工程机械有限公司| 河南点赞钢铁有限公司| 洛阳博马农业工程机械有限公司| 中机建重工有限公司| 大连 重工有限公司| 佛山市松可包装机械有限公司| 成都望锦机械有限公司| 温州工程机械有限公司| 山东领品机械有限公司| 浙江晟达机械有限公司| 昆山合济机械有限公司| 中热机械设备有限公司| 信达重工苏州有限公司| 柳州富达机械有限公司| 温州正钻机械有限公司| 苏州澳克机械有限公司| 合肥康恒机械有限公司| 广东机械制造有限公司| 威士重工机械有限公司| 温州镇田机械有限公司| 昆成机械机械有限公司| 柳溪机械设备有限公司| 江苏江成机械有限公司| 苏州苏鹰机械制造有限公司| 广东中泽重工有限公司| 合肥至信机械有限公司| 山西重工机械有限公司| 河南兴邦重工机器有限公司| 济南食品机械有限公司| 深圳市高士达精密机械有限公司| 重庆万凯机械有限公司| 苏州工业园区嘉宝精密机械有限公司 | 安徽省机械有限公司| 贝力特机械有限公司| 江苏瀚皋机械有限公司| 陕西 机械设备有限公司| 东莞市通盛机械有限公司| 金达机械制造有限公司| 青岛青工机械有限公司| 苏州华致鑫精密机械有限公司 | 杭州起重吊装有限公司| 梧州沃华机械有限公司| 东风悦达起亚有限公司| 安徽唐兴机械装备有限公司| 东莞市机械制造有限公司| 恒联食品机械有限公司| 重庆正格农业机械有限公司| 南京化工机械有限公司| 曲靖呈钢铁有限公司| 东莞住重塑胶机械有限公司| 新疆昆玉钢铁有限公司| 龙海起重工具有限公司| 南通力福通起重机械有限公司| 中海福陆重工有限公司| 章丘市宇龙机械有限公司| 安徽国梁机械设备有限公司| 山东精密机械有限公司| 苏州欧比特机械有限公司| 鼎盛机械设备有限公司| 山东新船重工有限公司| 南京贝隆齐机械有限公司| 衢州 机械有限公司| 郑州华隆机械制造有限公司| 浙江绿峰机械有限公司| 河南真牛起重机有限公司| 重庆力波机械有限公司| 上海慧丰传动机械有限公司| 成都 机械 有限公司| 苏福马机械有限公司| 重庆远博机械有限公司| 洛阳奥图机械设备有限公司| 邯郸市复液液压机械有限公司 | 临沂机械设备有限公司| 金源机械制造有限公司| 河南万泰机械有限公司| 路通重工机械有限公司| 禹城通裕新能源机械铸造有限公司| 昆明 机械 有限公司| 广东佛山机械有限公司| 全精密机械有限公司| 山东港中钢铁有限公司| 首钢伊犁钢铁有限公司| 广州新欧机械有限公司| 长葛鑫鑫机械有限公司| 上海三都机械有限公司| 宁波东泰机械有限公司| 苏州恒升机械有限公司| 山东康弘机械有限公司| 佛山新元机械有限公司| 上海起重电机厂有限公司| 四川欧曼机械有限公司| 江西凯奥机械有限公司| 河南黎明路桥重工有限公司| 东莞市泽源机械有限公司| 临沂胜代机械有限公司| 青岛越海机械有限公司| 安徽中科光电色选机械有限公司| 杭州精工机械有限公司| 佛山市液压机械有限公司| 佛山市康思达液压机械有限公司| 唐山荣程钢铁有限公司| 常熟飞龙机械有限公司| 上海伍行机械设备有限公司| 青岛高通机械有限公司| 无锡杨佳机械有限公司| 苏州海骏自动化机械有限公司| 河北大恒重型机械有限公司| 浙江宇捷机械有限公司| 佛山市炬盈包装机械有限公司 | 宏达机械制造有限公司| 安丘机械制造有限公司| 东莞市顺翼机械有限公司| 天门仙粮机械有限公司| 上海又高机械有限公司| 重庆华渝重工机电有限公司 | 北京盛美食品机械有限公司| 唐山龙润机械有限公司| 宝鸡 机械有限公司| 南京腾阳机械有限公司| 郑州中意矿山机械有限公司| 常州市龙鑫化工机械有限公司 | 江阴戎辉机械设备制造有限公司| 武汉九州龙工程机械有限公司| 扬州福尔喜果蔬汁机械有限公司| 芜湖中安重工自动化装备有限公司| 平湖成功机械有限公司| 章丘市机械有限公司| 苏州旭展机械有限公司| 东莞机械制造有限公司| 山东大丰机械有限公司| 大连 重工有限公司| 振华真空机械有限公司| 新乡市海纳筛分机械制造有限公司| 杭州速能机械有限公司| 锋机械设备有限公司| 浙江陀曼精密机械有限公司| 宁波昌源机械有限公司| 盘锦 机械有限公司| 宁波美宁机械有限公司| 鞍山宝得钢铁有限公司招聘岗位| 洛阳中收机械装备有限公司| 四川腾中重工机械有限公司| 东莞机械制造有限公司| 重庆远博机械有限公司| 普特工程机械有限公司| 杭州贝克机械有限公司| 浙江温兄机械阀业有限公司| 大连 工程机械有限公司| 广濑精密机械有限公司| 江苏大圣机械制造有限公司| 安丘机械制造有限公司| 郑州红星机械有限公司| 上海起思宠物有限公司| 珠海仕高玛机械设备有限公司| 江阴市博越机械有限公司| 蓬莱大金海洋重工有限公司| 济南真诺机械有限公司| 元昆机械(昆山)有限公司| 三一众力机械有限公司| 北京起重机械有限公司| 山东铭德机械有限公司| 华东造纸机械有限公司| 成都蓉诚机械设备有限公司| 泰兴机械制造有限公司| 百超玻璃机械有限公司| 西安帕吉特精密机械有限公司| 大连胜龙包装机械有限公司| 东光包装机械有限公司| 浙江瑞尔斯机械有限公司| 东莞市瑞辉机械制造有限公司| 泉州明辉机械有限公司| 江苏汉庭机械制造有限公司| 禹城市华普机械设备有限公司| 三明 机械有限公司| 昆山 环保机械有限公司| 浙江新德宝机械有限公司| 广濑精密机械有限公司| 新乡市起重机厂有限公司 | 湖南中联陶瓷机械有限公司| 河南省时代起重机械有限公司| 苏州工业园区嘉宝精密机械有限公司 | 深圳市硕方精密机械有限公司| 马钢合肥钢铁有限公司| 浙江双环传动机械有限公司| 京山力拓机械有限公司| 昆山鑫建诚机械设备有限公司 | 江西凯奥机械有限公司| 佛山市劲雄机械有限公司| 茂名重力石化机械制造有限公司 | 诸城市恒顺机械有限公司| 开封元创机械有限公司| 江苏东钢钢铁有限公司| 南京嘉诚机械有限公司| 石家庄美迪机械有限公司| 宁波双马机械工业有限公司| 江苏双箭输送机械有限公司 | 江西台鑫钢铁有限公司| 湖北天腾重型机械制造有限公司| 浙江网路崛起有限公司| 浙江创伟机械有限公司| 武汉日晗精密机械有限公司| 杭州旭众机械设备有限公司| 广州德晟机械有限公司| 烟台万事达金属机械有限公司 | 威海行雨化工机械有限公司| 桂林机械制造有限公司| 国浩机械制造有限公司| 山东大汉建设机械有限公司| 福建新源重工有限公司| 扬州精密机械有限公司| 武汉鑫巨力精密机械制造有限公司 | 南京华创包装机械设备有限公司| 湖南华菱湘潭钢铁有限公司| 苏州勤堡精密机械有限公司| 输送机械制造有限公司| 西安冠杰机械设备有限公司| 苏州立注机械有限公司| 洛阳鹏起实业有限公司| 深圳精机械有限公司| 诸城市放心食品机械有限公司| 上海圣起包装机械有限公司| 湖北鄂钢扬子重型机械制造有限公司| 广州市善友机械设备有限公司| 河北宏业机械有限公司| 东莞市机械设备有限公司| 青州市远航机械设备有限公司 | 浙江蓝宝机械有限公司| 浙江鼎力机械有限公司| 华菱涟源钢铁有限公司| 成都工程机械有限公司| 苏州君驰联动机械有限公司| 上海起帆电缆有限公司| 洛阳泽华机械设备有限公司| 江苏迪迈机械有限公司| 范县中鑫钢铁有限公司| 南通振康机械有限公司| 安徽宇华机械制造有限公司| 宁波利豪机械有限公司| 机械(苏州)有限公司| 浙江欧森机械有限公司| 广东耐施特机械有限公司| 天津百利二通机械有限公司| 威海坤豪机械有限公司| 安徽精密机械有限公司| 南京凯驰机械有限公司| 北京余特包装机械有限公司 | 佳木斯农业机械有限公司| 浙江荣众机械有限公司| 河北大恒重型机械有限公司| 山东瑞浩重型机械有限公司| 河南省矿山起重机制造有限公司| 昆成机械(昆山)有限公司| 淄博推进化工机械有限公司| 上海卓越机械有限公司| 河南正工机械制造有限公司| 三力机械制造有限公司| 扬州文轩钢铁有限公司| 江阴机械制造有限公司怎么样| 湖南申德钢铁有限公司| 牛力机械制造有限公司| 青岛 钢铁有限公司| 四川依赛特机械制造有限公司| 张家港和和机械有限公司| 永裕昌机械有限公司| 青岛九合重工机械有限公司| 郑州志乾机械设备有限公司| 南京登峰起重设备制造有限公司| 华通动力重工有限公司| 山东永华机械有限公司| 启益电器材机械有限公司招聘| 嘉兴扬鑫机械有限公司| 青岛中鸿重型机械有限公司| 济南威力机械有限公司| 河北九江钢铁有限公司| 汕头机械有限公司招聘| 江西四通重工机械有限公司| 台州瑞达机械有限公司| 江苏合丰机械制造有限公司 | 山东莱芜煤矿机械有限公司| 东莞市日东超声波机械有限公司| 佛山市宝陶机械设备有限公司| 恒利达机械有限公司| 中车南口机械有限公司| 潍坊圣川机械有限公司| 唐山机械制造有限公司| 柳州商泰机械有限公司| 东莞市千岛机械制造有限公司 | 郑州万谷机械有限公司| 京华机械设备有限公司| 重庆地泽机械有限公司| 徐工重型机械有限公司| 上海乔麦包装机械有限公司| 宁波民盛机械有限公司| 郑州一帆机械设备有限公司| 河北新利钢铁有限公司| 南京寿旺机械设备有限公司| 江苏聚丰园林机械有限公司| 山西机械设备有限公司| 禹城市华普机械设备有限公司| 建筑机械设备有限公司| 哈尔滨恒力达机械有限公司| 江苏桂铭机械有限公司| 郑州谷丰机械设备有限公司| 江苏甲钢钢铁有限公司| 大江重工焦作有限公司| 北京机械施工有限公司| 起步有限公司上市排名| 遂宁华能机械有限公司| 东莞市峰茂机械设备有限公司| 湖北仙粮机械有限公司| 重庆钢实机械有限公司| 浙江引春机械有限公司| 曲阜广鑫机械有限公司| 浙江华邦机械有限公司| 河南省邦恩机械制造有限公司|