python zookeeper_Python zookeeper包_程序模块 - PyPI - Python中文网

缩放器

68747470733a2f2f696d672e736869656c64732e696f2f617a7572652d6465766f70732f6275696c642f706c756d657261692f6c6172712f31352e7376673f6c6f676f3d617a7572652d6465766f707368747470733a2f2f696d672e736869656c64732e696f2f617a7572652d6465766f70732f636f7665726167652f706c756d657261692f6c6172712f31352e7376673f6c6f676f3d617a7572652d6465766f707368747470733a2f2f696d672e736869656c64732e696f2f707970692f707976657273696f6e732f7a6f6f6b65657065722e73766768747470733a2f2f696d672e736869656c64732e696f2f707970692f762f7a6f6f6b65657065722e73766768747470733a2f2f696d672e736869656c64732e696f2f707970692f6c2f7a6f6f6b65657065722e73766768747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d626c61636b2d3030303030302e73766768747470733a2f2f77697468737065637472756d2e6769746875622e696f2f62616467652f62616467652e737667

一个用于管理深度学习模型、超参数和数据集的小型库,旨在使培训深度学习模型变得容易和可复制。

开始

zookeeper允许您使用click和TensorFlow Datasets构建命令行界面,用很少的锅炉板来训练深度学习模型。它可以帮助您以一种框架不可知和有效的方式构建您的机器学习项目。

ZooKER深受Tensor2Tensor和Fairseq启发,但被设计成一个库,使其轻量级和非常灵活。

安装pip install zookeeperpip install colorama # optional for colored console output

注册表

ZooKeeper跟踪数据预处理、模型和超参数,以便您可以从命令行按名称引用它们。

数据集和预处理

tensorflow数据集提供可以自动下载的many popular datasets。

在下面我们将使用MNIST,并为图像定义一个default预处理,该预处理将图像缩放到[0, 1],并对类标签使用一个热编码:importtensorflowastffromzookeeperimportcli,build_train,HParams,registry,PreprocessingclassImageClassification(Preprocessing):@propertydefkwargs(self):return{"input_shape":self.features["image"].shape,"num_classes":self.features["label"].num_classes,}definputs(self,data):returntf.cast(data["image"],tf.float32)defoutputs(self,data):returntf.one_hot(data["label"],self.features["label"].num_classes)@registry.register_preprocess("mnist")classdefault(ImageClassification):definputs(self,data):returnsuper().inputs(data)/255

型号

接下来我们将注册一个名为cnn的模型。我们将使用Keras API进行此操作:@registry.register_modeldefcnn(hp,input_shape,num_classes):returntf.keras.models.Sequential([tf.keras.layers.Conv2D(hp.filters[0],(3,3),activation=hp.activation,input_shape=input_shape),tf.keras.layers.MaxPooling2D((2,2)),tf.keras.layers.Conv2D(hp.filters[1],(3,3),activation=hp.activation),tf.keras.layers.MaxPooling2D((2,2)),tf.keras.layers.Conv2D(hp.filters[2],(3,3),activation=hp.activation),tf.keras.layers.Flatten(),tf.keras.layers.Dense(hp.filters[3],activation=hp.activation),tf.keras.layers.Dense(num_classes,activation="softmax"),])

超参数

对于每个模型,我们可以注册一个或多个超参数集,这些超参数集将在调用时传递给模型函数:@registry.register_hparams(cnn)classbasic(HParams):activation="relu"batch_size=32filters=[64,64,64,64]learning_rate=1e-3@propertydefoptimizer(self):returntf.keras.optimizers.Adam(self.learning_rate)

训练循环

为了训练上面注册的模型,我们需要编写一个自定义的训练循环。动物园管理员将把所有的东西都绑在一起:@cli.command()@build_train()deftrain(build_model,dataset,hparams,output_dir):"""Start model training."""model=build_model(hparams,**dataset.preprocessing.kwargs)model.compile(optimizer=hparams.optimizer,loss="categorical_crossentropy",metrics=["categorical_accuracy","top_k_categorical_accuracy"],)model.fit(dataset.train_data(hparams.batch_size),steps_per_epoch=dataset.train_examples//hparams.batch_size,validation_data=dataset.validation_data(hparams.batch_size),validation_steps=dataset.validation_examples//hparams.batch_size,)

这将注册名为train的click命令,该命令可以从命令行执行。

命令行界面

要使刚创建的文件可执行,我们将在底部添加以下行:if__name__=="__main__":cli()

如果要在单独的文件中注册模型,请确保在调用cli之前导入它们,以允许zookeeper正确注册它们。要将cli作为可执行命令安装,请签出click的^{} integration。

用法

ZooKeeper已经提供了prepare、plot和tensorboard命令,但现在还包括我们在上面创建的train命令:python examples/train.py --helpUsage: train.py [OPTIONS] COMMAND [ARGS]...Options:--help Show this message and exit.Commands:install-completion Install shell completion.plot Plot data examples.prepare Downloads and prepares datasets for reading.tensorboard Start TensorBoard to monitor model training.train Start model training.

为了训练我们刚刚注册的跑步模式:python examples/train.py train cnn --dataset mnist --hparams-set basic --hparams batch_size=64

多个参数用逗号分隔,字符串应不带引号:python examples/train.py train cnn --dataset mnist --hparams-set basic --hparams batch_size=32,actvation=relu

欢迎加入QQ群-->: 979659372

group.png

推荐PyPI第三方库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值