未提供项目说明

pyklopp的Python项目详细描述


皮克洛普MaintenancePython 3.6Python 3.7Python 3.6Tests

厌倦了将模型原型的所有超参数配置记录到磁盘吗?在

Pyklopp是一个初始化、训练和评估Pythorch模型的工具(目前用于有监督的问题)。 它保存所有相关的超参数、计时和模型配置。 您的原型化可以简化为定义模型、数据集和所需的参数。在

Important note:我们正在经历一个架构上的变化,从编写配置json文件到编写给定jsonschema的元数据文件。 因此,为了保持实验的可重复性并针对当前的pyklopp设计进行编程,请在您的实验中引用精确的pyklopp版本。 E、 为了你的环境.yml

dependencies:-pip:-pyklopp==0.3.0

Workflow sketch for developing a model and running it with pyklopp.

安装

您可以使用以下命令从PyPi安装一个版本:pip install pyklopp。在

要安装最新的开发版本,您可以克隆存储库并调用poetry build(安装poetry)。 然后您可以使用构建的包,并通过pip install dist/xxx.whl在当前环境中使用pip安装它。在

定义模型和数据集

二手进口:

^{pr2}$

在纯python文件中指定模型,例如:

# my_model.py# Your model can be any pytorch module# Make sure to not define it locally (e.g. within the get_model()-function)classLeNet(nn.Module):def__init__(self,output_size):super(LeNet,self).__init__()self.conv1=nn.Conv2d(3,6,5)self.conv2=nn.Conv2d(6,16,5)self.fc1=nn.Linear(16*5*5,120)self.fc2=nn.Linear(120,84)self.fc3=nn.Linear(84,output_size)defforward(self,x):out=F.relu(self.conv1(x))out=F.max_pool2d(out,2)out=F.relu(self.conv2(out))out=F.max_pool2d(out,2)out=out.view(out.size(0),-1)out=F.relu(self.fc1(out))out=F.relu(self.fc2(out))out=self.fc3(out)returnout# This is your model-instantiation function# It receives an assembled configuration keyword argument list and should return an instance of your modeldefget_model(**kwargs):output_size=int(kwargs['output_size'])returnLeNet(output_size)

调用pyklopp初始化它:pyklopp init my_model.get_model --save='test/model.pth' --config='{"output_size": 10}'cifar10上训练它:

  • pyklopp train test/model.pth cifar10.py --save='test/trained.pth' --config='{"batch_size": 100}'
  • pyklopp train test/model.pth torchvision.datasets.cifar.CIFAR10 --save 'test/trained.pth' --config='{"dataset_root": "/media/data/set/cifar10"}'

示例

# Initializing & Saving: mymodel.py
pyklopp init foo --save='mymodel1/model.pth'
pyklopp init foo --config='{"python_seed_initial": 100}' --save='mymodel2/model.pth'# Training
pyklopp train path/to/mymodel.pth mnist
pyklopp train path/to/mymodel.pth mnist --config='{"batch_size": 100, "learning_rate": 0.01}'
# foo.py - Your model initialization functiondefinit(**kwargs):input_size=kwargs['input_size']output_size=kwargs['output_size']returnpypaddle.sparse.MaskedDeepFFN(input_size,output_size,[100,100])
# mnist.py - Your dataset loading functionsdeftrain_loader(**kwargs):batch_size=kwargs['batch_size']mnist_train_loader,mnist_test_loader,_,selected_root=pypaddle.util.get_mnist_loaders(batch_size,'/media/data/set/mnist')returnmnist_train_loaderdeftest_loader(**kwargs):batch_size=kwargs['batch_size']mnist_train_loader,mnist_test_loader,_,selected_root=pypaddle.util.get_mnist_loaders(batch_size,'/media/data/set/mnist')returnmnist_test_loader

发展

  • dist/中创建轮子文件:poetry build
  • 使用pip在当前环境中安装wheel:pip install path/to/pyklopp/dist/pyklopp-0.1.0-py3-none-any.whl

在本地运行CI映像

安装最新的gitlab runner(12.3或更高版本):

# For Debian/Ubuntu/Mint
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash

# For RHEL/CentOS/Fedora
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash

apt-get update
apt-get install gitlab-runner

$ gitlab-runner -v
Version:      12.3.0

执行作业testsgitlab-runner exec docker test-python3.6

在本地运行github操作

{emm}安装。 运行act

在本地运行预提交检查

poetry run pre-commit run --all-files

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring启动启用HTTPS   actionscript 3 java中的这个[“var”+“name”]   java只匹配给定集合中一个字符的一个匹配项   java Hibernate:防止角色表中出现多个相同的条目   javajersey+Spring注入servlet请求   java HtmlEditor javafx失去焦点   java Apache Wicket AjaxRequestTarget ListView组件未刷新或更新   mysql java。无法将lang.String转换为java。sql。时间戳   java将巨大的整数文件(在一行中)拆分为具有内存限制的已排序块   安卓如何完全关闭proguard?   安装Eclipse和Android SDK后的java“无AVD可用”消息   java动态显示图像视图   java在Spring中还有哪些WebsocketClient实现?   java Glassfish需要很长时间才能重新启动   使用Java简单串行连接器将pc与arduino连接   java如何在camel文件组件配置中结合readLockCheckInterval和maxMessagesPerPoll?   单击Android时的java预览图像   java如何将字节数组转换为ByteArrayOutputStream