Pytorch框架基础

参考资料

pytorch框架基础

Pycharm 页面卡住解决方案

使用ps命令结合grep来查找PyCharm相关的进程

ps aux | grep pycharm
kill -9 [PID]

  关于怎么找这个卡住的进程,据初步观察,卡住进程打印的信息是最长的,此外,在卡住进程的打印信息结尾处会提示工程名称

TensorBoard

 记录loss

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter(comment='test_your_comment', filename_suffix="_test_your_filename_suffix")

writer.add_scalars("Loss", {
   "Valid": np.mean(valid_curve)}, iter_count)
writer.add_scalars("Loss", {
   "Train": loss.item()}, iter_count)

 记录feature_map


fmap_1_grid = vutils.make_grid(fmap_1, normalize=True, scale_each=True, nrow=8)
writer.add_image('feature map in conv1', fmap_1_grid, global_step=322)
writer.close()

 记录kernel

flag = 1
if flag:
    writer = SummaryWriter(comment='test_your_comment', filename_suffix="_test_your_filename_suffix")

    alexnet = models.alexnet(pretrained=True)

    kernel_num = -1
    vis_max = 1

    for sub_module in alexnet.modules():
        if isinstance(sub_module, nn.Conv2d):
            kernel_num += 1
            if kernel_num > vis_max:
                break
            kernels = sub_module.weight
            c_out, c_int, k_w, k_h = tuple(kernels.shape)

            for o_idx in range(c_out):
                kernel_idx = kernels[o_idx, :, :, :].unsqueeze(1)   # make_grid需要 BCHW,这里拓展C维度
                kernel_grid = vutils.make_grid(kernel_idx, normalize=True, scale_each=True, nrow=c_int)
                writer.add_image('{}_Convlayer_split_in_channel'.format(kernel_num), kernel_grid, global_step=o_idx)

            kernel_all = kernels.view(-1, 3, k_h, k_w)  # 3, h, w
            kernel_grid = vutils.make_grid(kernel_all, normalize=True, scale_each=True, nrow=8)  # c, h, w
            writer.add_image('{}_all'.format(kernel_num), kernel_grid, global_step=322)

            print("{}_convlayer shape:{}".format(kernel_num, tuple(kernels.shape)))

    writer.close()

 启动tensorboard

tensorboard --logdir=logs --port=6006  #指定文件路径 指定端口

GPU的使用

 多GPU训练时,利用环境变量指定可见GPU

gpu_list = [0,1]
gpu_list_str = ','.join(map(str, gpu_list))
os.environ.setdefault("CUDA_VISIBLE_DEVICES", gpu_list_str)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

在这里插入图片描述

正则化weight_decay

在这里插入图片描述

optim_wdecay = torch.optim.SGD(net_weight_decay.parameters(), lr=lr_init, momentum=0.9, weight_decay=1e-2)

相关推荐

  1. 基于 PyTorch 框架写一个图片分类模型

    2023-12-31 22:36:01       16 阅读
  2. PytorchPytorch入门基础

    2023-12-31 22:36:01       14 阅读
  3. Pytorch整体框架学习

    2023-12-31 22:36:01       43 阅读
  4. 机器学习框架PyTorch

    2023-12-31 22:36:01       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-31 22:36:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-31 22:36:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-31 22:36:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-31 22:36:01       18 阅读

热门阅读

  1. 接口和抽象类

    2023-12-31 22:36:01       41 阅读
  2. C语言:void*概述(垃圾桶)

    2023-12-31 22:36:01       40 阅读
  3. 企微私域工具:打造高效客户管理新模式

    2023-12-31 22:36:01       46 阅读
  4. Spring Boot应用整合Prometheus

    2023-12-31 22:36:01       33 阅读
  5. TimescaleDB分布式集群搭建

    2023-12-31 22:36:01       31 阅读
  6. ElasticSearch Nested类型全文检索、聚合查询

    2023-12-31 22:36:01       39 阅读
  7. 9. 进程

    9. 进程

    2023-12-31 22:36:01      29 阅读
  8. 使用axios发送get和post请求

    2023-12-31 22:36:01       42 阅读
  9. STL容器——map

    2023-12-31 22:36:01       41 阅读