1.工程文件简介
python没有一个完整的主函数和命令行来运行(相对于c++而言 int main(*arg,...))
但是每一个脚本(.py)程序都有一个--name--
if __name__ == '__main__':
#假如你要运行这个脚本 可以再这下面写主要流程
2.命令行
1.python无疑是提供了一个库argparse 来实现命令行读取
parser = argparse.ArgumentParser(description='Chinese Text Classification')
创建一个命令对象
2.add_argument 函数
parse.add_argument
1.name or flag :--model这些
2.required :你是否需要指定 默认为false 假如为true 你必须要实现 前面name赋值
3.default:假如为false 那就是default
4.help:就是以往别人输错 你给的提供信息
3 parser.parse_args()
这个无疑是增加参数
args = parser.parse_args()
4.实战阅读
python
parser = argparse.ArgumentParser(description='Chinese Text Classification')
parser.add_argument('--model', type=str, required=True, help='choose a model: TextCNN, TextRNN, FastText, TextRCNN, TextRNN_Att, DPCNN, Transformer')
parser.add_argument('--embedding', default='embedding_SougouNews.npz', type=str)
parser.add_argument('--word', default=False, type=bool, help='True for word, False for char')
args = parser.parse_args()
model_name = args.model #TextCNN, TextRNN,
if model_name == 'FastText':
from utils_fasttext import build_dataset, build_iterator, get_time_dif
embedding = 'random'
else:
from utils import build_dataset, build_iterator, get_time_dif
#
.....
vocab, train_data, dev_data, test_data = build_dataset(config, args.word)
首先它建立了args命令集合,那我们有个参数为args.model,args.embedding,args.word
分别赋值.
1.这个random为字面意思 随便赋值 可以换成string
2.无疑 model 你自己选 args.embedding='embedding_SougouNews.npz'和args.word =False