# tfpack **Repository Path**: aidings/tfpack ## Basic Information - **Project Name**: tfpack - **Description**: tensorflow2.0训练框架 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-25 - **Last Updated**: 2020-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TF2.0训练框架 ### [wiki]() ### 安装 `pip install git+https://gitlab.vmic.xyz/11110558/tfpack.git@版本号`
- 依赖库: `tensorflow` > 2.0, `opencv-python` ### 脚本使用 - 1. DataFlow继承使用 ```python from tfpack import TFDataFlow import numpy as np class XXXDataFlow(TFDataFlow): def load(self, data_path): # load img_dirs and img_labs from file return np.array(img_dirs), np.array(img_labs) def parse(self, img_dir, img_lab): # load image and augumentation the image return image, label ``` - 2. Trainer继承使用 ```python from tfpack import Trainer class XXXTrainer(Trainer): def loss(self, ypred, ytrue): # define your loss return loss def accuracy(self, ypred, ytrue): # define your accuracy return acc ``` - 3. 训练 ```python dataflow = XXXDataFlow(batch_size=32, parallel_size=8) train_dataset = dataflow(train_list) test_dataset = dataflow(test_list) #define your model and optimizer model = MobileNetV3() optimizer = tf.keras.optimizer.SGD(lr=0.001) model_dir = './XXX' # build trainer trainer = XXXTrainer(model=model, optimizer=optimizer) # train your model trainer.fit(train_dataset, test_dataset, model_dir=model_dir) ``` - 4. 查看训练loss和acc ``` tensorboard --logdir='./XXX' --bind_all ``` - 5. 小函数 - 5.1 `utils.conv_name_dict(input)`: input:(str/list/dict), 其中str文件路径,每一行都是一个标签,返回为name_dict为 name:class_id - 5.2 `utils.one_hot(str_labs, name_dict)`: str_labs:(int/str/list),返回为one_hot标签 - 5.3 `utils.process_classify(line, name_dict)`: line:文本行,返回为(图像路径,图像标签) - 5.4 `TFDataFlow.imread(img_dir, size)`: img_dir:Tensor,返回向量图像 - 6. 查看模型输入输出 ```bash saved_model_cli show --dir [saved_model_path] --all ```