研发工具
rndtools的Python项目详细描述
安装
pip install rndtools
小型Keras模型培训框架
当您调用train_model函数时,此框架将很少执行 有用的东西:1。它创建不存在1的DRs。它 自动将体系结构保存到atrchitecture.json,1中。情节 模型图1。保存python源代码get_model_function和 training_function,1。在每个历元绘制损失和Accuray图之后, 一。在每个epoch之后保存csv文件和学习历史。一。保存一些 模型的元信息,例如:1。处理时间1。最好的 列车和试验损失1。模型创建日期
你应该做什么:
实现load_data函数。
实现返回编译的keras模型的函数。函数应该 没有任何参数。示例:
def get_model(): model = Sequential() model.add(Dense(12, input_dim=8, init='uniform', activation='relu')) model.add(Dense(8, init='uniform', activation='relu')) model.add(Dense(1, init='uniform', activation='sigmoid')) model.compile( optimizer=Adam(), loss='binary_crossentropy', metrics=['accuracy'] ) return model
实现训练模型的功能。函数应返回模型 历史。示例:``` def train(data,model,model_文件夹, 回调=无:如果回调为无:回调=[]
history = model.fit(data.X, data.Y, nb_epoch=150, batch_size=10, callbacks=callbacks) return history
``Pay attention to callbacks parameter. There are some extra callbacks that you should add to model callbacks. Also note that as in数据parameter function pass what加载数据` 函数返回。
示例:
>>> import rndtools as rnd >>> rnd.train.train_model( model_dir, get_model_function=get_model, training_function=train, loading_data_function=load_data ) Model path: /home/rd/notebooks/documents-detector/damian/models/in_the_wild/unet_mrz/7 ------------------------------ Creating dirs... ------------------------------ ------------------------------ Creating and compiling model... ------------------------------ ------------------------------ Saving architecture... ------------------------------ ------------------------------ Plotting model... ------------------------------ ------------------------------ Saving model source code... ------------------------------ ------------------------------ Loading data... ------------------------------ ------------------------------ Instantiating callbacks... ------------------------------ ------------------------------ Training model... ------------------------------ Epoch 1/1000 Finished!
零件生成器中的数据集
有时数据太多,存储起来有问题 记忆。然后您可以使用将数据集分成几个部分 DatasetInPartsGenerator将依次加载此部分,因此 内存中只有部分数据集。
管道
管道由步骤组成。每个步骤都是一个元组(步骤名,步骤类)。管道示例:
pipeline = Pipeline( ( 'grayscale', Grayscale() ), ( 'threshold', Threshold() ), ( 'blur', Blur( sigma=1.5 ) ), ( 'watershed', Watershed( min_distance=5, threshold_rel=0.1 ) ), show_progressbar=True )
要创建自己的步骤,只需从Step继承并实现 transform方法:
from rndtools.pipeline import Step class CustomStep(Step): def transform(self, params): pass