未提供项目说明

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如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像