# chat-base-transformer **Repository Path**: goodshred/chat-base-transformer ## Basic Information - **Project Name**: chat-base-transformer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-12 - **Last Updated**: 2024-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 深度学习项目代码结构 [一个完整的Pytorch深度学习项目代码结构及项目发布指南](https://blog.csdn.net/ARPOSPF/article/details/129162213) ```text --project_name/ ----data/:数据 ----checkpoints/:保存训练好的模型 ----logs/:日志 ----model_hub/:预训练模型权重 --------chinese-bert-wwm-ext/: ----utils/:辅助模块,可以是日志、评价指标计算等等 --------utils.py --------metrics.py ----models/:模型 --------model.py ----configs/:配置文件 --------config.py ----datasets/:加载数据 --------data_loader.py ----main.py:主程序,包含训练、验证、测试和预测 ``` # python语法 [包名,模块名](https://blog.csdn.net/weixin_41923961/article/details/86616127) ## python __init__.py 该如何理解 在创建package的时候在文件夹下会出现一个__init__.py 的文件 init.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。 通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。 ## python __name__ 该如何理解 举个例子 ```text 比如小时候要轮流打扫教室,轮到自己的时候(模块被直接执行的时候),我们会说今天是“我”(__main__)值日,称呼其他人时,我们就会直接喊他们的名字。所以,“__main__”就相当于当事人,或者说第一人称的“我”。 ``` configs目录下有文件config.py和__init__.py(空文件,作用是将文件夹变为一个Python模块,以便被别的模块引用,IDE中可以没有该文件,IDE编译时会智能给加上),内容如下 ```python name="config.py中的变量name" print(__name__) if __name__=='__main__': print("i am config.py") ``` 如果在configs目录下运行命令:python config.py,执行结果如下: ```text __main__ i am config.py ``` ---------- cmd目录下有文件import_config.py,内容如下: ```python from configs.config import name if __name__ == '__main__': print("import_metrics_utils.py:" + __name__) print("metrics.py中的变量name:" + name) ``` 如果在cmd目录下运行命令:python import_config.py,执行结果如下: ```text configs.config import_metrics_utils.py:__main__ metrics.py中的变量name:config.py中的变量name ```