易于在pytorch中训练神经网络的高级库。

pytorch-argus的Python项目详细描述


argus

ARGUS是PyTorch神经网络训练的易用柔性库。

安装

来自PIP:

pip install pytorch-argus

来源:

git clone https://github.com/lRomul/argus
cd argus
python setup.py install

示例

简单的图像分类示例:

importtorchfromtorchimportnnimporttorch.nn.functionalasFfrommnist_utilsimportget_data_loadersfromargusimportModel,load_modelfromargus.callbacksimportMonitorCheckpoint,EarlyStopping,ReduceLROnPlateauclassNet(nn.Module):def__init__(self,n_classes,p_dropout=0.5):super().__init__()self.conv1=nn.Conv2d(1,10,kernel_size=5)self.conv2=nn.Conv2d(10,20,kernel_size=5)self.conv2_drop=nn.Dropout2d(p=p_dropout)self.fc1=nn.Linear(320,50)self.fc2=nn.Linear(50,n_classes)defforward(self,x):x=F.relu(F.max_pool2d(self.conv1(x),2))x=F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)),2))x=x.view(-1,320)x=F.relu(self.fc1(x))x=F.dropout(x,training=self.training)x=self.fc2(x)returnxclassMnistModel(Model):nn_module=Netoptimizer=torch.optim.SGDloss=torch.nn.CrossEntropyLossif__name__=="__main__":train_loader,val_loader=get_data_loaders()params={'nn_module':{'n_classes':10,'p_dropout':0.1},'optimizer':{'lr':0.01},'device':'cpu'}model=MnistModel(params)callbacks=[MonitorCheckpoint(dir_path='mnist',monitor='val_accuracy',max_saves=3),EarlyStopping(monitor='val_accuracy',patience=9),ReduceLROnPlateau(monitor='val_accuracy',factor=0.5,patience=3)]model.fit(train_loader,val_loader=val_loader,max_epochs=50,metrics=['accuracy'],callbacks=callbacks,metrics_on_train=True)delmodelmodel=load_model('mnist/model-last.pth')

pytorch-cnn-finetune中的make_model一起使用argus。

fromcnn_finetuneimportmake_modelfromargusimportModelclassCnnFinetune(Model):nn_module=make_modelparams={'nn_module':{'model_name':'resnet18','num_classes':10,'pretrained':False,'input_size':(256,256)},'optimizer':('Adam',{'lr':0.01}),'loss':'CrossEntropyLoss','device':'cuda'}model=CnnFinetune(params)

您可以找到其他示例here

Kaggle解决方案

  1. 2019年免费音频标签的第一名解决方案(MEL频谱图,与APEX混合精确训练)
    https://github.com/lRomul/argus-freesound
  2. TGS盐鉴定挑战第14名解决方案(分段,平均老师)
    https://github.com/lRomul/argus-tgs-salt
  3. 第50位快速解决方案,绘制!涂鸦识别挑战(梯度积累,50米图像训练)
    https://github.com/lRomul/argus-quick-draw
  4. Kaggle空客船舶检测挑战第66位解决方案(实例分割)
    https://github.com/OniroAI/Universal-segmentation-baseline-Kaggle-Airbus-Ship-Detection
  5. 座头鲸识别的解决方案(度量学习:弧面,中心损失)
    https://github.com/lRomul/argus-humpback-whale
  6. vsb电源线故障检测(1d conv)解决方案
    https://github.com/lRomul/argus-vsb-power

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

推荐PyPI第三方库


热门话题
如何在java中调用Paint组件方法   多层次POM中的java覆盖依赖项/插件管理   java模式识别   JavaSpringMVC+Log4j2定义了Log4j2。未标识非类路径位置中的属性文件   java我们如何将IntelliJ IDEA中的maven和gradle项目与源代码浏览支持集成?   Maven mvn exec:java在Windows上工作,但不是Ubuntu 20   java在Jaxb2Marshaller上使用带有packagesToScan属性的JAXBElement时没有端点适配器   java删除方法和节点   java如何为某些场景创建正则表达式模式   java如何通过gridView中的intent()传递ArrayList数据。setOnItemClickListener()   java UnsupportedClassVersionError 1.7/1.5   java为什么JVM参数是http。tomcat servlet没有使用proxyHost?   java将ArrayList从字母顺序排序到最频繁/最不频繁   java动态字段列表迭代   java如何将字节转换为位?   hadoop java。mapreduce作业中的lang.NullPointerException   javasocketIO无法与Android中的LocationListener一起使用   java在卸载时清除内部存储   java池回收错误2个精灵同时碰撞到一个精灵