PyTorch中神经网络的训练

torchtuples的Python项目详细描述


扭偶

Python packagePyPI ^{1}$ License

torchtuples是一个用于训练PyTorch模型的小python包。 它同样适用于numpy arraystorch tensorstorchtuples的主要优点之一是它以嵌套元组的形式处理数据(请参见example below)。在

安装

torchtuples依赖于应该从HERE安装的PyTorch。在

接下来,torchtuples可以与pip一起安装:

pip install torchtuples

对于最新版本,直接从github安装(考虑添加--force-reinstall):

^{pr2}$

或者通过克隆回购:

git clone https://github.com/havakv/torchtuples.git
cd torchtuples
python setup.py install

示例

importtorchfromtorchimportnnfromtorchtuplesimportModel,optim

用三组协变量x0x1和{}和一个目标{}组成一个数据集。 协变量在嵌套元组x中构造。在

n=500x0,x1,x2=[torch.randn(n,3)for_inrange(3)]y=torch.randn(n,1)x=(x0,(x0,x1,x2))

创建一个简单的ReLU网络,将张量x_tensor和元组x_tuple作为输入。请注意,x_tuple可以是任意长度。x_tuple中的张量通过一层lin_tuple,取平均值,并与x_tensor相连。 然后我们通过层lin_cat传递新的张量。在

classNet(nn.Module):def__init__(self):super().__init__()self.lin_tuple=nn.Linear(3,2)self.lin_cat=nn.Linear(5,1)self.relu=nn.ReLU()defforward(self,x_tensor,x_tuple):x=[self.relu(self.lin_tuple(xi))forxiinx_tuple]x=torch.stack(x).mean(0)x=torch.cat([x,x_tensor],dim=1)returnself.lin_cat(x)defpredict(self,x_tensor,x_tuple):x=self.forward(x_tensor,x_tuple)returntorch.sigmoid(x)

我们现在可以用

model=Model(Net(),nn.MSELoss(),optim.SGD(0.01))log=model.fit(x,y,batch_size=64,epochs=5)

并使用Net.predict方法进行预测

preds=model.predict(x)

或者使用Net.forward方法

preds=model.predict_net(x)

有关更多示例,请参见examples folder。在

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

推荐PyPI第三方库


热门话题
java Sonarqube测试覆盖率过滤器(jacoco)   java演示文稿将被取消,因为自创建以来显示度量已更改   java为什么Omnifaces Websocket<o:socket>不能与Websphere 9一起使用?   我试图读取java中的xml,但在我的系统中出现了一个错误   java异步支持未启用,即使默认情况下应该启用   java getThreadHandler方法无法从HandlerThread实例访问   带成员函数的多线程Java启动线程   java jar非法参数   java以编程方式注册@Component注释类   正则表达式如何在java中查找字符串中的长双精度数   具有多客户端的java ServerSocket   java JNI不适用于AppKit线程   java如何在用户选择目录元哈希值时输出该值?   java在春季上传阿拉伯文文件时,文件名以XML实体而不是阿拉伯文符号结束   java为什么我们需要在eclipse中作为远程服务器进行调试?   面向java的数据库计算PageRank   java在单击时切换到不同的活动