由于自己在啃代码,所以不自己写了,只给链接。
参考
参考
官网官方
参考
参考
参考
参考
parse.add_argument('--max_len', type=int, default = 100, help='文本截取长度')
parse.add_argument('--glove840_path',type=str, default='../TextClassification_based_on_textCNN/Dataset/glove.840B.300d.txt',help='词向量路径')
parse.add_argument('--batch_size', type=int, default = 32, help='一个批次训练样本个数')
parse.add_argument('--embed_size', type=int, default = 300, help='词向量维度')
parse.add_argument('--hidden_size', type=int, default = 300, help='隐藏层维度')
parse.add_argument('--output_size', type=int, default = 3, help='最终的标签Label数')
parse.add_argument('--lr', type=float, default = 0.0004 , help='学习率')
parse.add_argument('--num_epochs', type=int, default = 10 , help='训练迭代次数')
args = parse.parse_args(args = [])
在pytorch中直接run的话:
args.max_len 使用的就是 default 指定的值。当然,也可以在下面的Terminal 执行给定给的。
torch.cat是将两个张量(tensor)拼接在一起,cat是concatnate的意思,即拼接,联系在一起。
参考
当网络中有 dropout,bn 的时候。训练的要记得 net.train(), 测试 要记得 net.eval()。
参考1
参考2
参考3
批处理中,写上就完事。
参考
参考2
菜鸟教程
return_str=True 值的就是返回的是字符串了。 False 返回的应该就是列表了.
print(test_feature_line)
# 转换大小写开分词存入列表
mt = MosesTokenizer(lang='en')
test_feature_line = [mt.tokenize(line.lower(), return_str=True) for line in test_feature_line]
print(test_feature_line)
參考
torch.Tensor默认是torch.FloatTensor是32位浮点类型数据,torch.LongTensor是64位整型!
TensorDataset 可以用来对 tensor 进行打包,就好像 python 中的 zip 功能。该类通过每一个 tensor 的第一个维度进行索引。因此,该类中的 tensor 第一维度必须相等。
TensorDataset:
分片输出:
结果:
遍历输出:
结果:
DataLoader的使用:
DataLoader的基本使用,:
batch_size (int, optional) – how many samples per batch to load (default: 1).
#shuffle (bool, optional) – set to True to have the data reshuffled at every epoch (default: False).
num_workers (int, optional) – how many subprocesses to use for data loading. 0 means that the data will be loaded in the main process. (default: 0)
nn.Conv2d(1, 16, kernel_size=3, stride=2, padding=1)
hree=np.arange(18).reshape(2, 3, 3)
print(three.transpose().shape)
print(three.transpose(1, 0, 2).shape)
print(three.transpose(1, 2, 0).shape)
torchvision是pytorch的一个图形库
transform = transforms.Compose(
[transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))])
ToTensor()能够把灰度范围从0-255变换到0-1之间,而后面的transform.Normalize()则把0-1变换到(-1,1).
参考1
参考2
参考
参考
def findFiles(path): return glob.glob(path)
print(findFiles('data/names/*.txt'))
参考
print(string.ascii_letters)
print(string.digits)
輸出:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
os.path.splitext() 将文件名和扩展名分开:列表形式,如:
os.path.splitext(filename)[0]
os.path.split() 返回文件的路径和文件名
参考
参考
import torch
a = torch.randn((3,5))
print(a)
_, pre = a.topk(1, dim=1, largest=True)
print(_)
print(pre)
参考
很棒的知乎教程 https://zhuanlan.zhihu.com/p/37217734