关注“PandaCVer”公众号

>>>深度学习Tricks,第一时间送达<<<

目录

一、规范写作标准格式

二、明确论文投稿流程

三、了解论文修改意见

四、论文投稿相关建议


一、规范写作标准格式

Abstract 摘要:文章的简介和概述目的、方法、结果、结论。

Keyword 关键词:3 ~ 5 个本文最相关的词语,可以从标题和摘要中提取。

Main text 正文:包括 introduction 、method(方法学)、results(结果)、discussion 。

Reference 参考文献:文章的参考文献,需要按照杂志社要求更改参考文献的格式。

注意,文章的图表需要按照期刊的要求制作,放在文章参考文献后。Figure legend 图注和 Table legend 表注,需要你对图表中的关键内容和标识的介绍描述。

二、明确论文投稿流程

筛选期刊需要考虑以下 4 个维度:影响因子、期刊领域、审稿或见刊时间是否在你的预期以及版面费。

全部权衡后可以放心选刊。在投递后,期刊编辑先进行初审,初审通过后派发给审稿人,2~4 日内审稿人给予修稿意见。

三、了解论文修改意见

责任编辑会根据审稿人的意见给出一些修改建议,包括:拒稿(Rejected);大修(Major Revision);小修(Minor Revision);录用(Accepted)。

投稿系统中通常会显示以下 3 类状态:

(1)Required review completed:已收集到足够数量的审稿人意见

(2)Decision in Process:责任编辑正在酝酿意见

(3)Rejected/Major Revision/Minor Revision/Accepted:最终意见

四、论文投稿相关建议

(一)正视投稿

对于第一次投稿的同学们来说,投稿、改稿也是一个提高自身学术表达水平的过程。因此,不要把投稿视为研究的剩余物,而要把投稿视为学术生活的一个重要组成部分,认真研究如何投稿。

(二)固定阅读

每一类刊物、每一本刊物,都有自己的历史、风格,通过固定阅读,你可以知晓这些刊物的术取向和选稿要求,做到知彼知己、心中有数。有了必要的阅读积累,再与期刊编辑沟通,便有了更多的共享知识,也会更加顺畅。

(三)不要海投

很多期刊都严禁一稿多投,而且无的放矢的海投也绝非良策。最好平时就有意识地阅读一些学术刊物,从研究阶段就熟悉、了解这些刊物,最后成文、投稿就会更加自然、顺畅。对于有些综合刊物,建议投递打印稿。

(四)经常开会

很多时候,学术期刊约稿不是“看人”,而是“看文”,学刊编辑经常旁听会议,如果你的文章很棒,又恰好符合在场学刊的选题需求的话,他们会主动来找你约稿的。

(五)多方核实

现在很多刊物都有经费支持,甚至还有国家社科基金资助,一般来说,多数刊物不收版面费。网络上的投稿一定要辨明真假。一般来说,那些带有不规律的数字的邮箱、域名多半是假的。一定要多方核实,不要轻易上当。

# -------------------------------------------------------------------------
# Swin Transfromer
# https://arxiv.org/abs/2103.14030import torch
import torch.nn as nn
import torch.nn.functional as Ffrom timm.models.layers import DropPath, to_2tuple, trunc_normal_class WindowAttention(nn.Module):r""" Window based multi-head self attention (W-MSA) module with relative position bias.It supports both of shifted and non-shifted window.Args:dim (int): Number of input channels.window_size (tuple[int]): The height and width of the window.num_heads (int): Number of attention heads.qkv_bias (bool, optional):  If True, add a learnable bias to query, key, value. Default: Trueqk_scale (float | None, optional): Override default qk scale of head_dim ** -0.5 if setattn_drop (float, optional): Dropout ratio of attention weight. Default: 0.0proj_drop (float, optional): Dropout ratio of output. Default: 0.0"""def __init__(self, dim, window_size, num_heads, qkv_bias=True, qk_scale=None, attn_drop=0., proj_drop=0.):super().__init__()self.dim = dimself.window_size = window_size  # Wh, Wwself.num_heads = num_headshead_dim = dim // num_headsself.scale = qk_scale or head_dim ** -0.5# define a parameter table of relative position biasself.relative_position_bias_table = nn.Parameter(torch.zeros((2 * window_size[0] - 1) * (2 * window_size[1] - 1), num_heads))  # 2*Wh-1 * 2*Ww-1, nH# get pair-wise relative position index for each token inside the windowcoords_h = torch.arange(self.window_size[0])coords_w = torch.arange(self.window_size[1])coords = torch.stack(torch.meshgrid([coords_h, coords_w]))  # 2, Wh, Wwcoords_flatten = torch.flatten(coords, 1)  # 2, Wh*Wwrelative_coords = coords_flatten[:, :, None] - coords_flatten[:, None, :]  # 2, Wh*Ww, Wh*Wwrelative_coords = relative_coords.permute(1, 2, 0).contiguous()  # Wh*Ww, Wh*Ww, 2relative_coords[:, :, 0] += self.window_size[0] - 1  # shift to start from 0relative_coords[:, :, 1] += self.window_size[1] - 1relative_coords[:, :, 0] *= 2 * self.window_size[1] - 1relative_position_index = relative_coords.sum(-1)  # Wh*Ww, Wh*Wwself.register_buffer("relative_position_index", relative_position_index)self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias)self.attn_drop = nn.Dropout(attn_drop)self.proj = nn.Linear(dim, dim)self.proj_drop = nn.Dropout(proj_drop)trunc_normal_(self.relative_position_bias_table, std=.02)self.softmax = nn.Softmax(dim=-1)def forward(self, x, mask=None):"""Args:x: input features with shape of (num_windows*B, N, C)mask: (0/-inf) mask with shape of (num_windows, Wh*Ww, Wh*Ww) or None"""B_, N, C = x.shapeqkv = self.qkv(x).reshape(B_, N, 3, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4)q, k, v = qkv[0], qkv[1], qkv[2]  # make torchscript happy (cannot use tensor as tuple)q = q * self.scaleattn = (q @ k.transpose(-2, -1))relative_position_bias = self.relative_position_bias_table[self.relative_position_index.view(-1)].view(self.window_size[0] * self.window_size[1], self.window_size[0] * self.window_size[1], -1)  # Wh*Ww,Wh*Ww,nHrelative_position_bias = relative_position_bias.permute(2, 0, 1).contiguous()  # nH, Wh*Ww, Wh*Wwattn = attn + relative_position_bias.unsqueeze(0)if mask is not None:nW = mask.shape[0]attn = attn.view(B_ // nW, nW, self.num_heads, N, N) + mask.unsqueeze(1).unsqueeze(0)attn = attn.view(-1, self.num_heads, N, N)attn = self.softmax(attn)else:attn = self.softmax(attn)attn = self.attn_drop(attn)# print(attn.dtype, v.dtype)x = (attn @ v).transpose(1, 2).reshape(B_, N, C)x = self.proj(x)x = self.proj_drop(x)return xdef window_reverse(windows, window_size, H, W):"""Args:windows: (num_windows*B, window_size, window_size, C)window_size (int): Window sizeH (int): Height of imageW (int): Width of imageReturns:x: (B, H, W, C)"""B = int(windows.shape[0] / (H * W / window_size / window_size))x = windows.view(B, H // window_size, W // window_size, window_size, window_size, -1)x = x.permute(0, 1, 3, 2, 4, 5).contiguous().view(B, H, W, -1)return xclass SwinTransformerLayer(nn.Module):r""" Swin Transformer Layer.Args:dim (int): Number of input channels.input_resolution (tuple[int]): Input resulotion.num_heads (int): Number of attention heads.window_size (int): Window size.shift_size (int): Shift size for SW-MSA.mlp_ratio (float): Ratio of mlp hidden dim to embedding dim.qkv_bias (bool, optional): If True, add a learnable bias to query, key, value. Default: Trueqk_scale (float | None, optional): Override default qk scale of head_dim ** -0.5 if set.drop (float, optional): Dropout rate. Default: 0.0attn_drop (float, optional): Attention dropout rate. Default: 0.0drop_path (float, optional): Stochastic depth rate. Default: 0.0act_layer (nn.Module, optional): Activation layer. Default: nn.GELUnorm_layer (nn.Module, optional): Normalization layer.  Default: nn.LayerNorm"""def __init__(self, dim, num_heads, window_size=7, shift_size=0,mlp_ratio=4., qkv_bias=True, qk_scale=None, drop=0., attn_drop=0., drop_path=0.,act_layer=nn.GELU, norm_layer=nn.LayerNorm):super().__init__()self.dim = dimself.num_heads = num_headsself.window_size = window_sizeself.shift_size = shift_sizeself.mlp_ratio = mlp_ratio# if min(self.input_resolution) <= self.window_size:#     # if window size is larger than input resolution, we don't partition windows#     self.shift_size = 0#     self.window_size = min(self.input_resolution)assert 0 <= self.shift_size < self.window_size, "shift_size must in 0-window_size"self.norm1 = norm_layer(dim)self.attn = WindowAttention(dim, window_size=to_2tuple(self.window_size), num_heads=num_heads,qkv_bias=qkv_bias, qk_scale=qk_scale, attn_drop=attn_drop, proj_drop=drop)self.drop_path = DropPath(drop_path) if drop_path > 0. else nn.Identity()self.norm2 = norm_layer(dim)mlp_hidden_dim = int(dim * mlp_ratio)self.mlp = Mlp(in_features=dim, hidden_features=mlp_hidden_dim, act_layer=act_layer, drop=drop)def create_mask(self, H, W):# calculate attention mask for SW-MSAimg_mask = torch.zeros((1, H, W, 1))  # 1 H W 1h_slices = (slice(0, -self.window_size),slice(-self.window_size, -self.shift_size),slice(-self.shift_size, None))w_slices = (slice(0, -self.window_size),slice(-self.window_size, -self.shift_size),slice(-self.shift_size, None))cnt = 0for h in h_slices:for w in w_slices:img_mask[:, h, w, :] = cntcnt += 1mask_windows = window_partition(img_mask, self.window_size)  # nW, window_size, window_size, 1mask_windows = mask_windows.view(-1, self.window_size * self.window_size)attn_mask = mask_windows.unsqueeze(1) - mask_windows.unsqueeze(2)attn_mask = attn_mask.masked_fill(attn_mask != 0, float(-100.0)).masked_fill(attn_mask == 0, float(0.0))return attn_maskdef forward(self, x):# reshape x[b c h w] to x[b l c]_, _, H_, W_ = x.shapePadding = Falseif min(H_, W_) < self.window_size or H_ % self.window_size!=0:Padding = True# print(f'img_size {min(H_, W_)} is less than (or not divided by) window_size {self.window_size}, Padding.')pad_r = (self.window_size - W_ % self.window_size) % self.window_sizepad_b = (self.window_size - H_ % self.window_size) % self.window_sizex = F.pad(x, (0, pad_r, 0, pad_b))# print('2', x.shape)B, C, H, W = x.shapeL = H * Wx = x.permute(0, 2, 3, 1).contiguous().view(B, L, C)  # b, L, c# create mask from init to forwardif self.shift_size > 0:attn_mask = self.create_mask(H, W).to(x.device)else:attn_mask = Noneshortcut = xx = self.norm1(x)x = x.view(B, H, W, C)# cyclic shiftif self.shift_size > 0:shifted_x = torch.roll(x, shifts=(-self.shift_size, -self.shift_size), dims=(1, 2))else:shifted_x = x# partition windowsx_windows = window_partition(shifted_x, self.window_size)  # nW*B, window_size, window_size, Cx_windows = x_windows.view(-1, self.window_size * self.window_size, C)  # nW*B, window_size*window_size, C# W-MSA/SW-MSAattn_windows = self.attn(x_windows, mask=attn_mask)  # nW*B, window_size*window_size, C# merge windowsattn_windows = attn_windows.view(-1, self.window_size, self.window_size, C)shifted_x = window_reverse(attn_windows, self.window_size, H, W)  # B H' W' C# reverse cyclic shiftif self.shift_size > 0:x = torch.roll(shifted_x, shifts=(self.shift_size, self.shift_size), dims=(1, 2))else:x = shifted_xx = x.view(B, H * W, C)# FFNx = shortcut + self.drop_path(x)x = x + self.drop_path(self.mlp(self.norm2(x)))x = x.permute(0, 2, 1).contiguous().view(-1, C, H, W)  # b c h wif Padding:x = x[:, :, :H_, :W_]  # reverse paddingreturn x

关于算法改进及论文投稿可关注并留言博主的CSDN/QQ

>>>>一起交流!互相学习!共同进步!<<<<

论文投稿指南——收藏|SCI写作投稿发表全流程相关推荐

  1. 论文投稿指南——收藏|SCI论文怎么投?(Accepted)

    >>>深度学习Tricks,第一时间送达<<< 目录 01 Submitted to Journal投稿 02 Manuscript received 03 Wit ...

  2. 论文投稿指南——收藏|SCI论文投稿注意事项(提高命中率)

    关注"PandaCVer"公众号 >>>深度学习Tricks,第一时间送达<<< 目录 一.第一作者和通信作者 二.作者地址标署 三.如何挑选审 ...

  3. 【IEEE】IEEE论文从投稿到发表全流程案例说明

    [IEEE]IEEE论文从投稿到发表全流程案例说明 1.选期刊-写论文 2.投稿 3.论文状态变化和应对流程 4.版权转移 5.自动更新orcid确认 6.预印版成果发行邮件 7.校对(校样) 8.收 ...

  4. 【论文投稿指南】SCI论文投稿后,还需要做啥?

    论文投稿后最开心的时刻莫过于收到论文被期刊接收的录用发表通知啦!但论文被接收还不是这一流程的最终点,接下来还有版权与版面费处理.清样校对.发表与检索.宣传分享与追踪引用等一系列重要工作要进行,可千万不 ...

  5. 论文投稿指南——收藏|如何选择SCI期刊(含选刊必备神器)

    >>>深度学习Tricks,第一时间送达<<< 目录 一.Elsevier Journal Finder 二.Journal Suggester 三.Journal ...

  6. SCI图片制作排版全流程及论文配图规范

    目录 引言 一.图片尺寸与格式要求 二.图片处理和组图排版的流程 1. 确定排版 2. 用PS处理位图 3. 生成矢量统计图 4. 用AI制作模式图并处理 5. 用AI制作排版组图 6. 导出为.ti ...

  7. 论文投稿指南——我的第一篇SCI是怎么发表的?

    深度学习Tricks,第一时间送达 目录 有很多小伙伴问我的首篇 SCI 是如何发表的,我的方法特别适合新手小白!

  8. 收藏 | 计算机顶会论文投稿指南

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转载于:黑泪(浙江大学 DCD 实验室) @知乎 来源 | htt ...

  9. 如何保留5个有效数字输出c不4舍5入_SCI 论文投稿前必须检查的 16 个细节,内附8大SCI写作神器...

    提示:点击上方"中洪博元"↑免费订阅本刊 科研工具丨作图丨实验丨SCI丨统计分析丨国自然 写论文,特别是 SCI 论文,需要注意的地方太多,各种细节,容易顾此失彼.在投稿前,我会将 ...

最新文章

  1. [译] 什么是 JavaScript 生成器?如何使用生成器?
  2. linux常见问题解答汇总
  3. Python 文件读取与写入操作方法
  4. 微信公众号--消息回复
  5. android Q版本外部存储问题以及获取空间大小问题
  6. Python_48re模块的sub方法
  7. 中关村windows11 32位专业版镜像v2021.07
  8. java高级教程_Java高级教程02
  9. e语言mysql中文_大佬们E语言连接MYSQL输出中文乱码怎么破
  10. 23.多线程 实现的两种方式
  11. pc-bsd安装教程_桌面用户的BSD:PC-BSD的回顾
  12. python和java学哪个好-Python VS Java,学哪个更有前途?
  13. 2.安装 Android SDK
  14. 【从Northwind学习数据库】数据更新
  15. leaflet保存pm绘图geojson数据
  16. 记一个eclipse快捷键Alt+Shift+L
  17. SAP外围系统配置问题之创建和导入bussiness system-找不到应有的bussiness system
  18. 主机win10与虚拟机win7相互ping通方法
  19. Android(三)原生开发基本知识
  20. android bugly 符号表,Bugly的符号表工具使用总结-iOS

热门文章

  1. Echarts中国地图背景颜色渐变
  2. 偷,偷的爽啊。。。。
  3. [强化学习代码笔记]Python复习
  4. net core站点部署到ubuntu,错误信息System.TypeInitializationException: The type initializer for 'Gdip' threw an
  5. 22-函数与string 对象
  6. 大厂SQL题1-月活、每日登录次数、留存率、连续登录N天
  7. 如何使UI自动化项目成功?
  8. EDI的含义,作用方式以及主要优势
  9. b2DebugDraw到底是什么
  10. 华硕fx53vd 键盘_GTX1050+七代i7 华硕FX53VD震撼来袭