原创

2021-05-16

1. 关于NCCL和cuda等

训练大型神经网络方法总结,地址:https://blog.csdn.net/xixiaoyaoww/article/details/104645796/

2. CPU和GPU运行的区别

详细:pytorch中model.to(device)和map_location=device的区别

3. 查看服务器GPU内存使用情况

地址:https://zhuanlan.zhihu.com/p/266586826

4. 目前遇到的问题是,用上次的软件看的节点不是代码里的形式,但是没找到有介绍每一个结点的文章,但如果不知道,就没办法在代码里使用。

对应遇到的bug是:KeyError。

文章:pytorch中保存的模型文件.pth深入解析

地址:https://blog.csdn.net/qq_27825451/article/details/100773473?utm_term=读取pth文件&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-4-100773473&spm=3001.4430

参考文章后,加了一段代码查看.pth里的每一层节点,

代码如下:

#.pth预训练模型的认识
    pthfile = r'/home/xx/CrowdDet/tools/data/model/rcnn_fpn_baseline.pth'  #faster_rcnn_ckpt.pth
    net = torch.load(pthfile, map_location=torch.device('cuda:0')) 
    #net = torch.load(pthfile,map_location=torch.device('cpu'))

    print(type(net))  # 类型是 dict
    print(len(net))   # 长度为 3,即存在3个 key-value 键值对

    for k in net.keys():
        print(k)     # 查看3个键,分别是epoch,state_dict,optimizer

    print('\n')

    # print(net["model"]) # 返回的是一个OrderedDict 对象
    for key,value in net["state_dict"].items():
        print(key,value.size(),sep="   ")

    print('\n'+'state_dict打印完毕'+'\n')

最后shell里的输出是这样的:

<class 'dict'>
3
epoch
state_dict
optimizer


resnet50.conv1.weight   torch.Size([64, 3, 7, 7])
resnet50.bn1.weight   torch.Size([64])
resnet50.bn1.bias   torch.Size([64])
resnet50.bn1.running_mean   torch.Size([64])
resnet50.bn1.running_var   torch.Size([64])
resnet50.layer1.0.downsample.0.weight   torch.Size([256, 64, 1, 1])
resnet50.layer1.0.downsample.1.weight   torch.Size([256])
resnet50.layer1.0.downsample.1.bias   torch.Size([256])
resnet50.layer1.0.downsample.1.running_mean   torch.Size([256])
resnet50.layer1.0.downsample.1.running_var   torch.Size([256])
resnet50.layer1.0.conv1.weight   torch.Size([64, 64, 1, 1])
resnet50.layer1.0.bn1.weight   torch.Size([64])
resnet50.layer1.0.bn1.bias   torch.Size([64])
resnet50.layer1.0.bn1.running_mean   torch.Size([64])
resnet50.layer1.0.bn1.running_var   torch.Size([64])
resnet50.layer1.0.conv2.weight   torch.Size([64, 64, 3, 3])
resnet50.layer1.0.bn2.weight   torch.Size([64])
resnet50.layer1.0.bn2.bias   torch.Size([64])
resnet50.layer1.0.bn2.running_mean   torch.Size([64])
resnet50.layer1.0.bn2.running_var   torch.Size([64])
resnet50.layer1.0.conv3.weight   torch.Size([256, 64, 1, 1])
resnet50.layer1.0.bn3.weight   torch.Size([256])
resnet50.layer1.0.bn3.bias   torch.Size([256])
resnet50.layer1.0.bn3.running_mean   torch.Size([256])
resnet50.layer1.0.bn3.running_var   torch.Size([256])
resnet50.layer1.1.conv1.weight   torch.Size([64, 256, 1, 1])
resnet50.layer1.1.bn1.weight   torch.Size([64])
resnet50.layer1.1.bn1.bias   torch.Size([64])
resnet50.layer1.1.bn1.running_mean   torch.Size([64])
resnet50.layer1.1.bn1.running_var   torch.Size([64])
resnet50.layer1.1.conv2.weight   torch.Size([64, 64, 3, 3])
resnet50.layer1.1.bn2.weight   torch.Size([64])
resnet50.layer1.1.bn2.bias   torch.Size([64])
resnet50.layer1.1.bn2.running_mean   torch.Size([64])
resnet50.layer1.1.bn2.running_var   torch.Size([64])
resnet50.layer1.1.conv3.weight   torch.Size([256, 64, 1, 1])
resnet50.layer1.1.bn3.weight   torch.Size([256])
resnet50.layer1.1.bn3.bias   torch.Size([256])
resnet50.layer1.1.bn3.running_mean   torch.Size([256])
resnet50.layer1.1.bn3.running_var   torch.Size([256])
resnet50.layer1.2.conv1.weight   torch.Size([64, 256, 1, 1])
resnet50.layer1.2.bn1.weight   torch.Size([64])
resnet50.layer1.2.bn1.bias   torch.Size([64])
resnet50.layer1.2.bn1.running_mean   torch.Size([64])
resnet50.layer1.2.bn1.running_var   torch.Size([64])
resnet50.layer1.2.conv2.weight   torch.Size([64, 64, 3, 3])
resnet50.layer1.2.bn2.weight   torch.Size([64])
resnet50.layer1.2.bn2.bias   torch.Size([64])
resnet50.layer1.2.bn2.running_mean   torch.Size([64])
resnet50.layer1.2.bn2.running_var   torch.Size([64])
resnet50.layer1.2.conv3.weight   torch.Size([256, 64, 1, 1])
resnet50.layer1.2.bn3.weight   torch.Size([256])
resnet50.layer1.2.bn3.bias   torch.Size([256])
resnet50.layer1.2.bn3.running_mean   torch.Size([256])
resnet50.layer1.2.bn3.running_var   torch.Size([256])
resnet50.layer2.0.downsample.0.weight   torch.Size([512, 256, 1, 1])
resnet50.layer2.0.downsample.1.weight   torch.Size([512])
resnet50.layer2.0.downsample.1.bias   torch.Size([512])
resnet50.layer2.0.downsample.1.running_mean   torch.Size([512])
resnet50.layer2.0.downsample.1.running_var   torch.Size([512])
resnet50.layer2.0.conv1.weight   torch.Size([128, 256, 1, 1])
resnet50.layer2.0.bn1.weight   torch.Size([128])
resnet50.layer2.0.bn1.bias   torch.Size([128])
resnet50.layer2.0.bn1.running_mean   torch.Size([128])
resnet50.layer2.0.bn1.running_var   torch.Size([128])
resnet50.layer2.0.conv2.weight   torch.Size([128, 128, 3, 3])
resnet50.layer2.0.bn2.weight   torch.Size([128])
resnet50.layer2.0.bn2.bias   torch.Size([128])
resnet50.layer2.0.bn2.running_mean   torch.Size([128])
resnet50.layer2.0.bn2.running_var   torch.Size([128])
resnet50.layer2.0.conv3.weight   torch.Size([512, 128, 1, 1])
resnet50.layer2.0.bn3.weight   torch.Size([512])
resnet50.layer2.0.bn3.bias   torch.Size([512])
resnet50.layer2.0.bn3.running_mean   torch.Size([512])
resnet50.layer2.0.bn3.running_var   torch.Size([512])
resnet50.layer2.1.conv1.weight   torch.Size([128, 512, 1, 1])
resnet50.layer2.1.bn1.weight   torch.Size([128])
resnet50.layer2.1.bn1.bias   torch.Size([128])
resnet50.layer2.1.bn1.running_mean   torch.Size([128])
resnet50.layer2.1.bn1.running_var   torch.Size([128])
resnet50.layer2.1.conv2.weight   torch.Size([128, 128, 3, 3])
resnet50.layer2.1.bn2.weight   torch.Size([128])
resnet50.layer2.1.bn2.bias   torch.Size([128])
resnet50.layer2.1.bn2.running_mean   torch.Size([128])
resnet50.layer2.1.bn2.running_var   torch.Size([128])
resnet50.layer2.1.conv3.weight   torch.Size([512, 128, 1, 1])
resnet50.layer2.1.bn3.weight   torch.Size([512])
resnet50.layer2.1.bn3.bias   torch.Size([512])
resnet50.layer2.1.bn3.running_mean   torch.Size([512])
resnet50.layer2.1.bn3.running_var   torch.Size([512])
resnet50.layer2.2.conv1.weight   torch.Size([128, 512, 1, 1])
resnet50.layer2.2.bn1.weight   torch.Size([128])
resnet50.layer2.2.bn1.bias   torch.Size([128])
resnet50.layer2.2.bn1.running_mean   torch.Size([128])
resnet50.layer2.2.bn1.running_var   torch.Size([128])
resnet50.layer2.2.conv2.weight   torch.Size([128, 128, 3, 3])
resnet50.layer2.2.bn2.weight   torch.Size([128])
resnet50.layer2.2.bn2.bias   torch.Size([128])
resnet50.layer2.2.bn2.running_mean   torch.Size([128])
resnet50.layer2.2.bn2.running_var   torch.Size([128])
resnet50.layer2.2.conv3.weight   torch.Size([512, 128, 1, 1])
resnet50.layer2.2.bn3.weight   torch.Size([512])
resnet50.layer2.2.bn3.bias   torch.Size([512])
resnet50.layer2.2.bn3.running_mean   torch.Size([512])
resnet50.layer2.2.bn3.running_var   torch.Size([512])
resnet50.layer2.3.conv1.weight   torch.Size([128, 512, 1, 1])
resnet50.layer2.3.bn1.weight   torch.Size([128])
resnet50.layer2.3.bn1.bias   torch.Size([128])
resnet50.layer2.3.bn1.running_mean   torch.Size([128])
resnet50.layer2.3.bn1.running_var   torch.Size([128])
resnet50.layer2.3.conv2.weight   torch.Size([128, 128, 3, 3])
resnet50.layer2.3.bn2.weight   torch.Size([128])
resnet50.layer2.3.bn2.bias   torch.Size([128])
resnet50.layer2.3.bn2.running_mean   torch.Size([128])
resnet50.layer2.3.bn2.running_var   torch.Size([128])
resnet50.layer2.3.conv3.weight   torch.Size([512, 128, 1, 1])
resnet50.layer2.3.bn3.weight   torch.Size([512])
resnet50.layer2.3.bn3.bias   torch.Size([512])
resnet50.layer2.3.bn3.running_mean   torch.Size([512])
resnet50.layer2.3.bn3.running_var   torch.Size([512])
resnet50.layer3.0.downsample.0.weight   torch.Size([1024, 512, 1, 1])
resnet50.layer3.0.downsample.1.weight   torch.Size([1024])
resnet50.layer3.0.downsample.1.bias   torch.Size([1024])
resnet50.layer3.0.downsample.1.running_mean   torch.Size([1024])
resnet50.layer3.0.downsample.1.running_var   torch.Size([1024])
resnet50.layer3.0.conv1.weight   torch.Size([256, 512, 1, 1])
resnet50.layer3.0.bn1.weight   torch.Size([256])
resnet50.layer3.0.bn1.bias   torch.Size([256])
resnet50.layer3.0.bn1.running_mean   torch.Size([256])
resnet50.layer3.0.bn1.running_var   torch.Size([256])
resnet50.layer3.0.conv2.weight   torch.Size([256, 256, 3, 3])
resnet50.layer3.0.bn2.weight   torch.Size([256])
resnet50.layer3.0.bn2.bias   torch.Size([256])
resnet50.layer3.0.bn2.running_mean   torch.Size([256])
resnet50.layer3.0.bn2.running_var   torch.Size([256])
resnet50.layer3.0.conv3.weight   torch.Size([1024, 256, 1, 1])
resnet50.layer3.0.bn3.weight   torch.Size([1024])
resnet50.layer3.0.bn3.bias   torch.Size([1024])
resnet50.layer3.0.bn3.running_mean   torch.Size([1024])
resnet50.layer3.0.bn3.running_var   torch.Size([1024])
resnet50.layer3.1.conv1.weight   torch.Size([256, 1024, 1, 1])
resnet50.layer3.1.bn1.weight   torch.Size([256])
resnet50.layer3.1.bn1.bias   torch.Size([256])
resnet50.layer3.1.bn1.running_mean   torch.Size([256])
resnet50.layer3.1.bn1.running_var   torch.Size([256])
resnet50.layer3.1.conv2.weight   torch.Size([256, 256, 3, 3])
resnet50.layer3.1.bn2.weight   torch.Size([256])
resnet50.layer3.1.bn2.bias   torch.Size([256])
resnet50.layer3.1.bn2.running_mean   torch.Size([256])
resnet50.layer3.1.bn2.running_var   torch.Size([256])
resnet50.layer3.1.conv3.weight   torch.Size([1024, 256, 1, 1])
resnet50.layer3.1.bn3.weight   torch.Size([1024])
resnet50.layer3.1.bn3.bias   torch.Size([1024])
resnet50.layer3.1.bn3.running_mean   torch.Size([1024])
resnet50.layer3.1.bn3.running_var   torch.Size([1024])
resnet50.layer3.2.conv1.weight   torch.Size([256, 1024, 1, 1])
resnet50.layer3.2.bn1.weight   torch.Size([256])
resnet50.layer3.2.bn1.bias   torch.Size([256])
resnet50.layer3.2.bn1.running_mean   torch.Size([256])
resnet50.layer3.2.bn1.running_var   torch.Size([256])
resnet50.layer3.2.conv2.weight   torch.Size([256, 256, 3, 3])
resnet50.layer3.2.bn2.weight   torch.Size([256])
resnet50.layer3.2.bn2.bias   torch.Size([256])
resnet50.layer3.2.bn2.running_mean   torch.Size([256])
resnet50.layer3.2.bn2.running_var   torch.Size([256])
resnet50.layer3.2.conv3.weight   torch.Size([1024, 256, 1, 1])
resnet50.layer3.2.bn3.weight   torch.Size([1024])
resnet50.layer3.2.bn3.bias   torch.Size([1024])
resnet50.layer3.2.bn3.running_mean   torch.Size([1024])
resnet50.layer3.2.bn3.running_var   torch.Size([1024])
resnet50.layer3.3.conv1.weight   torch.Size([256, 1024, 1, 1])
resnet50.layer3.3.bn1.weight   torch.Size([256])
resnet50.layer3.3.bn1.bias   torch.Size([256])
resnet50.layer3.3.bn1.running_mean   torch.Size([256])
resnet50.layer3.3.bn1.running_var   torch.Size([256])
resnet50.layer3.3.conv2.weight   torch.Size([256, 256, 3, 3])
resnet50.layer3.3.bn2.weight   torch.Size([256])
resnet50.layer3.3.bn2.bias   torch.Size([256])
resnet50.layer3.3.bn2.running_mean   torch.Size([256])
resnet50.layer3.3.bn2.running_var   torch.Size([256])
resnet50.layer3.3.conv3.weight   torch.Size([1024, 256, 1, 1])
resnet50.layer3.3.bn3.weight   torch.Size([1024])
resnet50.layer3.3.bn3.bias   torch.Size([1024])
resnet50.layer3.3.bn3.running_mean   torch.Size([1024])
resnet50.layer3.3.bn3.running_var   torch.Size([1024])
resnet50.layer3.4.conv1.weight   torch.Size([256, 1024, 1, 1])
resnet50.layer3.4.bn1.weight   torch.Size([256])
resnet50.layer3.4.bn1.bias   torch.Size([256])
resnet50.layer3.4.bn1.running_mean   torch.Size([256])
resnet50.layer3.4.bn1.running_var   torch.Size([256])
resnet50.layer3.4.conv2.weight   torch.Size([256, 256, 3, 3])
resnet50.layer3.4.bn2.weight   torch.Size([256])
resnet50.layer3.4.bn2.bias   torch.Size([256])
resnet50.layer3.4.bn2.running_mean   torch.Size([256])
resnet50.layer3.4.bn2.running_var   torch.Size([256])
resnet50.layer3.4.conv3.weight   torch.Size([1024, 256, 1, 1])
resnet50.layer3.4.bn3.weight   torch.Size([1024])
resnet50.layer3.4.bn3.bias   torch.Size([1024])
resnet50.layer3.4.bn3.running_mean   torch.Size([1024])
resnet50.layer3.4.bn3.running_var   torch.Size([1024])
resnet50.layer3.5.conv1.weight   torch.Size([256, 1024, 1, 1])
resnet50.layer3.5.bn1.weight   torch.Size([256])
resnet50.layer3.5.bn1.bias   torch.Size([256])
resnet50.layer3.5.bn1.running_mean   torch.Size([256])
resnet50.layer3.5.bn1.running_var   torch.Size([256])
resnet50.layer3.5.conv2.weight   torch.Size([256, 256, 3, 3])
resnet50.layer3.5.bn2.weight   torch.Size([256])
resnet50.layer3.5.bn2.bias   torch.Size([256])
resnet50.layer3.5.bn2.running_mean   torch.Size([256])
resnet50.layer3.5.bn2.running_var   torch.Size([256])
resnet50.layer3.5.conv3.weight   torch.Size([1024, 256, 1, 1])
resnet50.layer3.5.bn3.weight   torch.Size([1024])
resnet50.layer3.5.bn3.bias   torch.Size([1024])
resnet50.layer3.5.bn3.running_mean   torch.Size([1024])
resnet50.layer3.5.bn3.running_var   torch.Size([1024])
resnet50.layer4.0.downsample.0.weight   torch.Size([2048, 1024, 1, 1])
resnet50.layer4.0.downsample.1.weight   torch.Size([2048])
resnet50.layer4.0.downsample.1.bias   torch.Size([2048])
resnet50.layer4.0.downsample.1.running_mean   torch.Size([2048])
resnet50.layer4.0.downsample.1.running_var   torch.Size([2048])
resnet50.layer4.0.conv1.weight   torch.Size([512, 1024, 1, 1])
resnet50.layer4.0.bn1.weight   torch.Size([512])
resnet50.layer4.0.bn1.bias   torch.Size([512])
resnet50.layer4.0.bn1.running_mean   torch.Size([512])
resnet50.layer4.0.bn1.running_var   torch.Size([512])
resnet50.layer4.0.conv2.weight   torch.Size([512, 512, 3, 3])
resnet50.layer4.0.bn2.weight   torch.Size([512])
resnet50.layer4.0.bn2.bias   torch.Size([512])
resnet50.layer4.0.bn2.running_mean   torch.Size([512])
resnet50.layer4.0.bn2.running_var   torch.Size([512])
resnet50.layer4.0.conv3.weight   torch.Size([2048, 512, 1, 1])
resnet50.layer4.0.bn3.weight   torch.Size([2048])
resnet50.layer4.0.bn3.bias   torch.Size([2048])
resnet50.layer4.0.bn3.running_mean   torch.Size([2048])
resnet50.layer4.0.bn3.running_var   torch.Size([2048])
resnet50.layer4.1.conv1.weight   torch.Size([512, 2048, 1, 1])
resnet50.layer4.1.bn1.weight   torch.Size([512])
resnet50.layer4.1.bn1.bias   torch.Size([512])
resnet50.layer4.1.bn1.running_mean   torch.Size([512])
resnet50.layer4.1.bn1.running_var   torch.Size([512])
resnet50.layer4.1.conv2.weight   torch.Size([512, 512, 3, 3])
resnet50.layer4.1.bn2.weight   torch.Size([512])
resnet50.layer4.1.bn2.bias   torch.Size([512])
resnet50.layer4.1.bn2.running_mean   torch.Size([512])
resnet50.layer4.1.bn2.running_var   torch.Size([512])
resnet50.layer4.1.conv3.weight   torch.Size([2048, 512, 1, 1])
resnet50.layer4.1.bn3.weight   torch.Size([2048])
resnet50.layer4.1.bn3.bias   torch.Size([2048])
resnet50.layer4.1.bn3.running_mean   torch.Size([2048])
resnet50.layer4.1.bn3.running_var   torch.Size([2048])
resnet50.layer4.2.conv1.weight   torch.Size([512, 2048, 1, 1])
resnet50.layer4.2.bn1.weight   torch.Size([512])
resnet50.layer4.2.bn1.bias   torch.Size([512])
resnet50.layer4.2.bn1.running_mean   torch.Size([512])
resnet50.layer4.2.bn1.running_var   torch.Size([512])
resnet50.layer4.2.conv2.weight   torch.Size([512, 512, 3, 3])
resnet50.layer4.2.bn2.weight   torch.Size([512])
resnet50.layer4.2.bn2.bias   torch.Size([512])
resnet50.layer4.2.bn2.running_mean   torch.Size([512])
resnet50.layer4.2.bn2.running_var   torch.Size([512])
resnet50.layer4.2.conv3.weight   torch.Size([2048, 512, 1, 1])
resnet50.layer4.2.bn3.weight   torch.Size([2048])
resnet50.layer4.2.bn3.bias   torch.Size([2048])
resnet50.layer4.2.bn3.running_mean   torch.Size([2048])
resnet50.layer4.2.bn3.running_var   torch.Size([2048])
FPN.lateral_convs.0.weight   torch.Size([256, 2048, 1, 1])
FPN.lateral_convs.0.bias   torch.Size([256])
FPN.lateral_convs.1.weight   torch.Size([256, 1024, 1, 1])
FPN.lateral_convs.1.bias   torch.Size([256])
FPN.lateral_convs.2.weight   torch.Size([256, 512, 1, 1])
FPN.lateral_convs.2.bias   torch.Size([256])
FPN.lateral_convs.3.weight   torch.Size([256, 256, 1, 1])
FPN.lateral_convs.3.bias   torch.Size([256])
FPN.output_convs.0.weight   torch.Size([256, 256, 3, 3])
FPN.output_convs.0.bias   torch.Size([256])
FPN.output_convs.1.weight   torch.Size([256, 256, 3, 3])
FPN.output_convs.1.bias   torch.Size([256])
FPN.output_convs.2.weight   torch.Size([256, 256, 3, 3])
FPN.output_convs.2.bias   torch.Size([256])
FPN.output_convs.3.weight   torch.Size([256, 256, 3, 3])
FPN.output_convs.3.bias   torch.Size([256])
FPN.bottom_up.conv1.weight   torch.Size([64, 3, 7, 7])
FPN.bottom_up.bn1.weight   torch.Size([64])
FPN.bottom_up.bn1.bias   torch.Size([64])
FPN.bottom_up.bn1.running_mean   torch.Size([64])
FPN.bottom_up.bn1.running_var   torch.Size([64])
FPN.bottom_up.layer1.0.downsample.0.weight   torch.Size([256, 64, 1, 1])
FPN.bottom_up.layer1.0.downsample.1.weight   torch.Size([256])
FPN.bottom_up.layer1.0.downsample.1.bias   torch.Size([256])
FPN.bottom_up.layer1.0.downsample.1.running_mean   torch.Size([256])
FPN.bottom_up.layer1.0.downsample.1.running_var   torch.Size([256])
FPN.bottom_up.layer1.0.conv1.weight   torch.Size([64, 64, 1, 1])
FPN.bottom_up.layer1.0.bn1.weight   torch.Size([64])
FPN.bottom_up.layer1.0.bn1.bias   torch.Size([64])
FPN.bottom_up.layer1.0.bn1.running_mean   torch.Size([64])
FPN.bottom_up.layer1.0.bn1.running_var   torch.Size([64])
FPN.bottom_up.layer1.0.conv2.weight   torch.Size([64, 64, 3, 3])
FPN.bottom_up.layer1.0.bn2.weight   torch.Size([64])
FPN.bottom_up.layer1.0.bn2.bias   torch.Size([64])
FPN.bottom_up.layer1.0.bn2.running_mean   torch.Size([64])
FPN.bottom_up.layer1.0.bn2.running_var   torch.Size([64])
FPN.bottom_up.layer1.0.conv3.weight   torch.Size([256, 64, 1, 1])
FPN.bottom_up.layer1.0.bn3.weight   torch.Size([256])
FPN.bottom_up.layer1.0.bn3.bias   torch.Size([256])
FPN.bottom_up.layer1.0.bn3.running_mean   torch.Size([256])
FPN.bottom_up.layer1.0.bn3.running_var   torch.Size([256])
FPN.bottom_up.layer1.1.conv1.weight   torch.Size([64, 256, 1, 1])
FPN.bottom_up.layer1.1.bn1.weight   torch.Size([64])
FPN.bottom_up.layer1.1.bn1.bias   torch.Size([64])
FPN.bottom_up.layer1.1.bn1.running_mean   torch.Size([64])
FPN.bottom_up.layer1.1.bn1.running_var   torch.Size([64])
FPN.bottom_up.layer1.1.conv2.weight   torch.Size([64, 64, 3, 3])
FPN.bottom_up.layer1.1.bn2.weight   torch.Size([64])
FPN.bottom_up.layer1.1.bn2.bias   torch.Size([64])
FPN.bottom_up.layer1.1.bn2.running_mean   torch.Size([64])
FPN.bottom_up.layer1.1.bn2.running_var   torch.Size([64])
FPN.bottom_up.layer1.1.conv3.weight   torch.Size([256, 64, 1, 1])
FPN.bottom_up.layer1.1.bn3.weight   torch.Size([256])
FPN.bottom_up.layer1.1.bn3.bias   torch.Size([256])
FPN.bottom_up.layer1.1.bn3.running_mean   torch.Size([256])
FPN.bottom_up.layer1.1.bn3.running_var   torch.Size([256])
FPN.bottom_up.layer1.2.conv1.weight   torch.Size([64, 256, 1, 1])
FPN.bottom_up.layer1.2.bn1.weight   torch.Size([64])
FPN.bottom_up.layer1.2.bn1.bias   torch.Size([64])
FPN.bottom_up.layer1.2.bn1.running_mean   torch.Size([64])
FPN.bottom_up.layer1.2.bn1.running_var   torch.Size([64])
FPN.bottom_up.layer1.2.conv2.weight   torch.Size([64, 64, 3, 3])
FPN.bottom_up.layer1.2.bn2.weight   torch.Size([64])
FPN.bottom_up.layer1.2.bn2.bias   torch.Size([64])
FPN.bottom_up.layer1.2.bn2.running_mean   torch.Size([64])
FPN.bottom_up.layer1.2.bn2.running_var   torch.Size([64])
FPN.bottom_up.layer1.2.conv3.weight   torch.Size([256, 64, 1, 1])
FPN.bottom_up.layer1.2.bn3.weight   torch.Size([256])
FPN.bottom_up.layer1.2.bn3.bias   torch.Size([256])
FPN.bottom_up.layer1.2.bn3.running_mean   torch.Size([256])
FPN.bottom_up.layer1.2.bn3.running_var   torch.Size([256])
FPN.bottom_up.layer2.0.downsample.0.weight   torch.Size([512, 256, 1, 1])
FPN.bottom_up.layer2.0.downsample.1.weight   torch.Size([512])
FPN.bottom_up.layer2.0.downsample.1.bias   torch.Size([512])
FPN.bottom_up.layer2.0.downsample.1.running_mean   torch.Size([512])
FPN.bottom_up.layer2.0.downsample.1.running_var   torch.Size([512])
FPN.bottom_up.layer2.0.conv1.weight   torch.Size([128, 256, 1, 1])
FPN.bottom_up.layer2.0.bn1.weight   torch.Size([128])
FPN.bottom_up.layer2.0.bn1.bias   torch.Size([128])
FPN.bottom_up.layer2.0.bn1.running_mean   torch.Size([128])
FPN.bottom_up.layer2.0.bn1.running_var   torch.Size([128])
FPN.bottom_up.layer2.0.conv2.weight   torch.Size([128, 128, 3, 3])
FPN.bottom_up.layer2.0.bn2.weight   torch.Size([128])
FPN.bottom_up.layer2.0.bn2.bias   torch.Size([128])
FPN.bottom_up.layer2.0.bn2.running_mean   torch.Size([128])
FPN.bottom_up.layer2.0.bn2.running_var   torch.Size([128])
FPN.bottom_up.layer2.0.conv3.weight   torch.Size([512, 128, 1, 1])
FPN.bottom_up.layer2.0.bn3.weight   torch.Size([512])
FPN.bottom_up.layer2.0.bn3.bias   torch.Size([512])
FPN.bottom_up.layer2.0.bn3.running_mean   torch.Size([512])
FPN.bottom_up.layer2.0.bn3.running_var   torch.Size([512])
FPN.bottom_up.layer2.1.conv1.weight   torch.Size([128, 512, 1, 1])
FPN.bottom_up.layer2.1.bn1.weight   torch.Size([128])
FPN.bottom_up.layer2.1.bn1.bias   torch.Size([128])
FPN.bottom_up.layer2.1.bn1.running_mean   torch.Size([128])
FPN.bottom_up.layer2.1.bn1.running_var   torch.Size([128])
FPN.bottom_up.layer2.1.conv2.weight   torch.Size([128, 128, 3, 3])
FPN.bottom_up.layer2.1.bn2.weight   torch.Size([128])
FPN.bottom_up.layer2.1.bn2.bias   torch.Size([128])
FPN.bottom_up.layer2.1.bn2.running_mean   torch.Size([128])
FPN.bottom_up.layer2.1.bn2.running_var   torch.Size([128])
FPN.bottom_up.layer2.1.conv3.weight   torch.Size([512, 128, 1, 1])
FPN.bottom_up.layer2.1.bn3.weight   torch.Size([512])
FPN.bottom_up.layer2.1.bn3.bias   torch.Size([512])
FPN.bottom_up.layer2.1.bn3.running_mean   torch.Size([512])
FPN.bottom_up.layer2.1.bn3.running_var   torch.Size([512])
FPN.bottom_up.layer2.2.conv1.weight   torch.Size([128, 512, 1, 1])
FPN.bottom_up.layer2.2.bn1.weight   torch.Size([128])
FPN.bottom_up.layer2.2.bn1.bias   torch.Size([128])
FPN.bottom_up.layer2.2.bn1.running_mean   torch.Size([128])
FPN.bottom_up.layer2.2.bn1.running_var   torch.Size([128])
FPN.bottom_up.layer2.2.conv2.weight   torch.Size([128, 128, 3, 3])
FPN.bottom_up.layer2.2.bn2.weight   torch.Size([128])
FPN.bottom_up.layer2.2.bn2.bias   torch.Size([128])
FPN.bottom_up.layer2.2.bn2.running_mean   torch.Size([128])
FPN.bottom_up.layer2.2.bn2.running_var   torch.Size([128])
FPN.bottom_up.layer2.2.conv3.weight   torch.Size([512, 128, 1, 1])
FPN.bottom_up.layer2.2.bn3.weight   torch.Size([512])
FPN.bottom_up.layer2.2.bn3.bias   torch.Size([512])
FPN.bottom_up.layer2.2.bn3.running_mean   torch.Size([512])
FPN.bottom_up.layer2.2.bn3.running_var   torch.Size([512])
FPN.bottom_up.layer2.3.conv1.weight   torch.Size([128, 512, 1, 1])
FPN.bottom_up.layer2.3.bn1.weight   torch.Size([128])
FPN.bottom_up.layer2.3.bn1.bias   torch.Size([128])
FPN.bottom_up.layer2.3.bn1.running_mean   torch.Size([128])
FPN.bottom_up.layer2.3.bn1.running_var   torch.Size([128])
FPN.bottom_up.layer2.3.conv2.weight   torch.Size([128, 128, 3, 3])
FPN.bottom_up.layer2.3.bn2.weight   torch.Size([128])
FPN.bottom_up.layer2.3.bn2.bias   torch.Size([128])
FPN.bottom_up.layer2.3.bn2.running_mean   torch.Size([128])
FPN.bottom_up.layer2.3.bn2.running_var   torch.Size([128])
FPN.bottom_up.layer2.3.conv3.weight   torch.Size([512, 128, 1, 1])
FPN.bottom_up.layer2.3.bn3.weight   torch.Size([512])
FPN.bottom_up.layer2.3.bn3.bias   torch.Size([512])
FPN.bottom_up.layer2.3.bn3.running_mean   torch.Size([512])
FPN.bottom_up.layer2.3.bn3.running_var   torch.Size([512])
FPN.bottom_up.layer3.0.downsample.0.weight   torch.Size([1024, 512, 1, 1])
FPN.bottom_up.layer3.0.downsample.1.weight   torch.Size([1024])
FPN.bottom_up.layer3.0.downsample.1.bias   torch.Size([1024])
FPN.bottom_up.layer3.0.downsample.1.running_mean   torch.Size([1024])
FPN.bottom_up.layer3.0.downsample.1.running_var   torch.Size([1024])
FPN.bottom_up.layer3.0.conv1.weight   torch.Size([256, 512, 1, 1])
FPN.bottom_up.layer3.0.bn1.weight   torch.Size([256])
FPN.bottom_up.layer3.0.bn1.bias   torch.Size([256])
FPN.bottom_up.layer3.0.bn1.running_mean   torch.Size([256])
FPN.bottom_up.layer3.0.bn1.running_var   torch.Size([256])
FPN.bottom_up.layer3.0.conv2.weight   torch.Size([256, 256, 3, 3])
FPN.bottom_up.layer3.0.bn2.weight   torch.Size([256])
FPN.bottom_up.layer3.0.bn2.bias   torch.Size([256])
FPN.bottom_up.layer3.0.bn2.running_mean   torch.Size([256])
FPN.bottom_up.layer3.0.bn2.running_var   torch.Size([256])
FPN.bottom_up.layer3.0.conv3.weight   torch.Size([1024, 256, 1, 1])
FPN.bottom_up.layer3.0.bn3.weight   torch.Size([1024])
FPN.bottom_up.layer3.0.bn3.bias   torch.Size([1024])
FPN.bottom_up.layer3.0.bn3.running_mean   torch.Size([1024])
FPN.bottom_up.layer3.0.bn3.running_var   torch.Size([1024])
FPN.bottom_up.layer3.1.conv1.weight   torch.Size([256, 1024, 1, 1])
FPN.bottom_up.layer3.1.bn1.weight   torch.Size([256])
FPN.bottom_up.layer3.1.bn1.bias   torch.Size([256])
FPN.bottom_up.layer3.1.bn1.running_mean   torch.Size([256])
FPN.bottom_up.layer3.1.bn1.running_var   torch.Size([256])
FPN.bottom_up.layer3.1.conv2.weight   torch.Size([256, 256, 3, 3])
FPN.bottom_up.layer3.1.bn2.weight   torch.Size([256])
FPN.bottom_up.layer3.1.bn2.bias   torch.Size([256])
FPN.bottom_up.layer3.1.bn2.running_mean   torch.Size([256])
FPN.bottom_up.layer3.1.bn2.running_var   torch.Size([256])
FPN.bottom_up.layer3.1.conv3.weight   torch.Size([1024, 256, 1, 1])
FPN.bottom_up.layer3.1.bn3.weight   torch.Size([1024])
FPN.bottom_up.layer3.1.bn3.bias   torch.Size([1024])
FPN.bottom_up.layer3.1.bn3.running_mean   torch.Size([1024])
FPN.bottom_up.layer3.1.bn3.running_var   torch.Size([1024])
FPN.bottom_up.layer3.2.conv1.weight   torch.Size([256, 1024, 1, 1])
FPN.bottom_up.layer3.2.bn1.weight   torch.Size([256])
FPN.bottom_up.layer3.2.bn1.bias   torch.Size([256])
FPN.bottom_up.layer3.2.bn1.running_mean   torch.Size([256])
FPN.bottom_up.layer3.2.bn1.running_var   torch.Size([256])
FPN.bottom_up.layer3.2.conv2.weight   torch.Size([256, 256, 3, 3])
FPN.bottom_up.layer3.2.bn2.weight   torch.Size([256])
FPN.bottom_up.layer3.2.bn2.bias   torch.Size([256])
FPN.bottom_up.layer3.2.bn2.running_mean   torch.Size([256])
FPN.bottom_up.layer3.2.bn2.running_var   torch.Size([256])
FPN.bottom_up.layer3.2.conv3.weight   torch.Size([1024, 256, 1, 1])
FPN.bottom_up.layer3.2.bn3.weight   torch.Size([1024])
FPN.bottom_up.layer3.2.bn3.bias   torch.Size([1024])
FPN.bottom_up.layer3.2.bn3.running_mean   torch.Size([1024])
FPN.bottom_up.layer3.2.bn3.running_var   torch.Size([1024])
FPN.bottom_up.layer3.3.conv1.weight   torch.Size([256, 1024, 1, 1])
FPN.bottom_up.layer3.3.bn1.weight   torch.Size([256])
FPN.bottom_up.layer3.3.bn1.bias   torch.Size([256])
FPN.bottom_up.layer3.3.bn1.running_mean   torch.Size([256])
FPN.bottom_up.layer3.3.bn1.running_var   torch.Size([256])
FPN.bottom_up.layer3.3.conv2.weight   torch.Size([256, 256, 3, 3])
FPN.bottom_up.layer3.3.bn2.weight   torch.Size([256])
FPN.bottom_up.layer3.3.bn2.bias   torch.Size([256])
FPN.bottom_up.layer3.3.bn2.running_mean   torch.Size([256])
FPN.bottom_up.layer3.3.bn2.running_var   torch.Size([256])
FPN.bottom_up.layer3.3.conv3.weight   torch.Size([1024, 256, 1, 1])
FPN.bottom_up.layer3.3.bn3.weight   torch.Size([1024])
FPN.bottom_up.layer3.3.bn3.bias   torch.Size([1024])
FPN.bottom_up.layer3.3.bn3.running_mean   torch.Size([1024])
FPN.bottom_up.layer3.3.bn3.running_var   torch.Size([1024])
FPN.bottom_up.layer3.4.conv1.weight   torch.Size([256, 1024, 1, 1])
FPN.bottom_up.layer3.4.bn1.weight   torch.Size([256])
FPN.bottom_up.layer3.4.bn1.bias   torch.Size([256])
FPN.bottom_up.layer3.4.bn1.running_mean   torch.Size([256])
FPN.bottom_up.layer3.4.bn1.running_var   torch.Size([256])
FPN.bottom_up.layer3.4.conv2.weight   torch.Size([256, 256, 3, 3])
FPN.bottom_up.layer3.4.bn2.weight   torch.Size([256])
FPN.bottom_up.layer3.4.bn2.bias   torch.Size([256])
FPN.bottom_up.layer3.4.bn2.running_mean   torch.Size([256])
FPN.bottom_up.layer3.4.bn2.running_var   torch.Size([256])
FPN.bottom_up.layer3.4.conv3.weight   torch.Size([1024, 256, 1, 1])
FPN.bottom_up.layer3.4.bn3.weight   torch.Size([1024])
FPN.bottom_up.layer3.4.bn3.bias   torch.Size([1024])
FPN.bottom_up.layer3.4.bn3.running_mean   torch.Size([1024])
FPN.bottom_up.layer3.4.bn3.running_var   torch.Size([1024])
FPN.bottom_up.layer3.5.conv1.weight   torch.Size([256, 1024, 1, 1])
FPN.bottom_up.layer3.5.bn1.weight   torch.Size([256])
FPN.bottom_up.layer3.5.bn1.bias   torch.Size([256])
FPN.bottom_up.layer3.5.bn1.running_mean   torch.Size([256])
FPN.bottom_up.layer3.5.bn1.running_var   torch.Size([256])
FPN.bottom_up.layer3.5.conv2.weight   torch.Size([256, 256, 3, 3])
FPN.bottom_up.layer3.5.bn2.weight   torch.Size([256])
FPN.bottom_up.layer3.5.bn2.bias   torch.Size([256])
FPN.bottom_up.layer3.5.bn2.running_mean   torch.Size([256])
FPN.bottom_up.layer3.5.bn2.running_var   torch.Size([256])
FPN.bottom_up.layer3.5.conv3.weight   torch.Size([1024, 256, 1, 1])
FPN.bottom_up.layer3.5.bn3.weight   torch.Size([1024])
FPN.bottom_up.layer3.5.bn3.bias   torch.Size([1024])
FPN.bottom_up.layer3.5.bn3.running_mean   torch.Size([1024])
FPN.bottom_up.layer3.5.bn3.running_var   torch.Size([1024])
FPN.bottom_up.layer4.0.downsample.0.weight   torch.Size([2048, 1024, 1, 1])
FPN.bottom_up.layer4.0.downsample.1.weight   torch.Size([2048])
FPN.bottom_up.layer4.0.downsample.1.bias   torch.Size([2048])
FPN.bottom_up.layer4.0.downsample.1.running_mean   torch.Size([2048])
FPN.bottom_up.layer4.0.downsample.1.running_var   torch.Size([2048])
FPN.bottom_up.layer4.0.conv1.weight   torch.Size([512, 1024, 1, 1])
FPN.bottom_up.layer4.0.bn1.weight   torch.Size([512])
FPN.bottom_up.layer4.0.bn1.bias   torch.Size([512])
FPN.bottom_up.layer4.0.bn1.running_mean   torch.Size([512])
FPN.bottom_up.layer4.0.bn1.running_var   torch.Size([512])
FPN.bottom_up.layer4.0.conv2.weight   torch.Size([512, 512, 3, 3])
FPN.bottom_up.layer4.0.bn2.weight   torch.Size([512])
FPN.bottom_up.layer4.0.bn2.bias   torch.Size([512])
FPN.bottom_up.layer4.0.bn2.running_mean   torch.Size([512])
FPN.bottom_up.layer4.0.bn2.running_var   torch.Size([512])
FPN.bottom_up.layer4.0.conv3.weight   torch.Size([2048, 512, 1, 1])
FPN.bottom_up.layer4.0.bn3.weight   torch.Size([2048])
FPN.bottom_up.layer4.0.bn3.bias   torch.Size([2048])
FPN.bottom_up.layer4.0.bn3.running_mean   torch.Size([2048])
FPN.bottom_up.layer4.0.bn3.running_var   torch.Size([2048])
FPN.bottom_up.layer4.1.conv1.weight   torch.Size([512, 2048, 1, 1])
FPN.bottom_up.layer4.1.bn1.weight   torch.Size([512])
FPN.bottom_up.layer4.1.bn1.bias   torch.Size([512])
FPN.bottom_up.layer4.1.bn1.running_mean   torch.Size([512])
FPN.bottom_up.layer4.1.bn1.running_var   torch.Size([512])
FPN.bottom_up.layer4.1.conv2.weight   torch.Size([512, 512, 3, 3])
FPN.bottom_up.layer4.1.bn2.weight   torch.Size([512])
FPN.bottom_up.layer4.1.bn2.bias   torch.Size([512])
FPN.bottom_up.layer4.1.bn2.running_mean   torch.Size([512])
FPN.bottom_up.layer4.1.bn2.running_var   torch.Size([512])
FPN.bottom_up.layer4.1.conv3.weight   torch.Size([2048, 512, 1, 1])
FPN.bottom_up.layer4.1.bn3.weight   torch.Size([2048])
FPN.bottom_up.layer4.1.bn3.bias   torch.Size([2048])
FPN.bottom_up.layer4.1.bn3.running_mean   torch.Size([2048])
FPN.bottom_up.layer4.1.bn3.running_var   torch.Size([2048])
FPN.bottom_up.layer4.2.conv1.weight   torch.Size([512, 2048, 1, 1])
FPN.bottom_up.layer4.2.bn1.weight   torch.Size([512])
FPN.bottom_up.layer4.2.bn1.bias   torch.Size([512])
FPN.bottom_up.layer4.2.bn1.running_mean   torch.Size([512])
FPN.bottom_up.layer4.2.bn1.running_var   torch.Size([512])
FPN.bottom_up.layer4.2.conv2.weight   torch.Size([512, 512, 3, 3])
FPN.bottom_up.layer4.2.bn2.weight   torch.Size([512])
FPN.bottom_up.layer4.2.bn2.bias   torch.Size([512])
FPN.bottom_up.layer4.2.bn2.running_mean   torch.Size([512])
FPN.bottom_up.layer4.2.bn2.running_var   torch.Size([512])
FPN.bottom_up.layer4.2.conv3.weight   torch.Size([2048, 512, 1, 1])
FPN.bottom_up.layer4.2.bn3.weight   torch.Size([2048])
FPN.bottom_up.layer4.2.bn3.bias   torch.Size([2048])
FPN.bottom_up.layer4.2.bn3.running_mean   torch.Size([2048])
FPN.bottom_up.layer4.2.bn3.running_var   torch.Size([2048])
RPN.rpn_conv.weight   torch.Size([256, 256, 3, 3])
RPN.rpn_conv.bias   torch.Size([256])
RPN.rpn_cls_score.weight   torch.Size([6, 256, 1, 1])
RPN.rpn_cls_score.bias   torch.Size([6])
RPN.rpn_bbox_offsets.weight   torch.Size([12, 256, 1, 1])
RPN.rpn_bbox_offsets.bias   torch.Size([12])
RCNN.fc1.weight   torch.Size([1024, 12544])
RCNN.fc1.bias   torch.Size([1024])
RCNN.fc2.weight   torch.Size([1024, 1024])
RCNN.fc2.bias   torch.Size([1024])
RCNN.pred_cls.weight   torch.Size([2, 1024])
RCNN.pred_cls.bias   torch.Size([2])
RCNN.pred_delta.weight   torch.Size([8, 1024])
RCNN.pred_delta.bias   torch.Size([8])

state_dict打印完毕

目前存在的问题是,不知道为什么

del backbone_dict['state_dict']['fc.weight']

代码是错误的,报错是KeyError。

改了一下代码,变成del backbone_dict['state_dict']['RCNN.fc1.weight']之后就不报错了,但是打印之后发现没变化,是del只是暂时删除吗?还是没明白源代码是想要删除什么,就不知道怎么改代码比较好....

5.

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【Rust 日报】2021-05-16 Rust 六岁啦

    2021年5月15日是Rust六岁生日(从2015年 1.0 版本算起),在这过去的六年里发生了许多变化,但Rust没有什么不同,依然没有基金会,没有Const...

    MikeLoveRust
  • 2021-05-16:时间复杂度必须是logN,如何求阶乘从右向左第一个不为零的数?

    2021-05-16:时间复杂度必须是logN,如何求阶乘从右向左第一个不为零的数?

    福大大架构师每日一题
  • ​2021-05-16:时间复杂度必须是logN,如何求阶乘从右向左第一个不为零的数?

    2021-05-16:时间复杂度必须是logN,如何求阶乘从右向左第一个不为零的数?

    福大大架构师每日一题
  • H7-TOOL的APP固件升级至V2.05,上位机升级至V2.05,支持CAN助手,新增华芯微特SWM和杰发科技AC78X脱机烧录(2021-05-16)

    说明: 1、增加CAN助手功能。 2、串口助手中新增串口示波器功能。 3、lua增加CAN接口API。 4、lua增加读文件接口API, f_read,...

    armfly
  • 使用my2sql来恢复mysql数据

    使用说明来源原作者:my2sql的GitHub地址:https://github.com/liuhr/my2sql

    wangwei-dba
  • 一杯茶的功夫就把日志搜索引擎性能调优了?!

    Beaver 是由日志易自主研发、安全可控的搜索引擎,由 Master、Broker 和 Datanode 三部分组成,已广泛应用于存储和分析大型分布式系统生成...

    日志易
  • Spring 拦截器流程及多个拦截器的顺序

    拦截器是 Spring MVC 中的组件,它可以在进入请求方法前做一些操作,也可以在请求方法后和渲染视图后做一些事情。

    码农UP2U
  • AKShare-股票数据-调查平均持仓

    持仓调查的数据是市场参与者心理、行为表现的结果。市场行为会因为交易规则、政策面消息、媒体噪声等因素的变化而变化。若排除以上因素,在稳定、可重复的博弈环境下,市场...

    数据科学实战
  • 又肝了3天,整理了80个Python DateTime 例子,必须收藏!

    日常工作中,用 Python 处理时间格式的数据是非常常见的,今天就来分享 DateTime 相关的示例

    周萝卜
  • Kafka之消费者模式(六)

    前面系统的介绍了Kafka的生产者模式以及常用命令的操作,和它的监控的信息查看。其实不管是在协议层的维度,还是在MQ的维度,它的模式都是生产者与消...

    无涯WuYa
  • [计算机视觉论文速递] 2018-05-16

    这篇文章有4篇论文速递信息,涉及单目图像深度估计、6-DoF跟踪、图像合成和动作捕捉等方向(含1篇CVPR 2018论文和1篇ICRA 2018论文)。

    Amusi
  • Percona Toolkit系列 — pt-heartbeat

    说起MySQL主从延迟,相信大家都不陌生,关于主从延迟的监控,可以通过命令SHOW SLAVE STATUS去实现,但是这种方式在某些情况下并不是那么可靠(具体...

    brightdeng@DBA
  • HUDI preCombinedField 总结

    总结 HUDI preCombinedField,分两大类总结,一类是SQL,一类是程序,HUDI0.9版本支持SQL建表和增删改查,当前版本为0.8.0,可用...

    董可伦
  • 一次完整的通话过程SIP报文分析

    主叫方(1004,Yate客户端,端口号:52110) -> 通过FreeSWITCH(端口号:5070)呼叫 -> 被叫方(1000,ZoIPer客户端,端口...

    菩提树下的杨过
  • MINIO搭建单机以及集群

    Minio是Apache License v2.0下发布的对象存储服务器。它与Amazon S3云存储服务兼容。它最适合存储非结构化数据,如照片,视频,...

    小陈运维
  • 国产数据库|TiDB 5.0 快速体验

    TiDB 是平凯星辰 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactio...

    JiekeXu之路
  • JDK8中新的日期时间工具类真的很好用,还不清楚的快进来看看吧,建议收藏

      最近刚好有空给大家整理下JDK8的特性,这个在实际开发中的作用也是越来越重了,本文重点讲解下新的日期时间API。

    用户4919348
  • logrus自定义日志输出格式

    所以,实现自定义日志格式,本质上就是实现Formatter接口,然后通过SetFormatter方式将其告知logrus。

    跑马溜溜的球
  • 使用Jenkins Operator在k8s中部署Jenkins

    Kubernetes Operator是一种特定于应用的控制器,可扩展Kubernetes API的功能,来代表Kubernetes用户创建、配置和管理复杂应用...

    仙人技术

扫码关注云+社区

领取腾讯云代金券