Metadata-Version: 2.1
Name: xml2pytorch
Version: 0.0.10
Summary: Using xml to define pytorch neural networks
Home-page: https://github.com/yfzhoucs/xml2pytorch
Author: Yifan Zhou
Author-email: yfzhou.cs@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
Requires-Dist: torch (>=0.4.1)
Requires-Dist: numpy (>=1.15.1)

# xml2pytorch
Using xml to define pytorch neural networks
## What can it Do
With xml2pytorch, you can easily define neural networks in xml, and then declare them in pytorch.

RNN and LSTM are not supported currently.
## Installation
### Environment
OS independent. Python3. (Not tested on Python2, but it should work.)
### Install requirements
torch>=0.4.1
numpy>=1.15.1
### Installing by pip3
pip3 install xml2pytorch
## Quick Start
### How to declare the CNN defined by a xml file
```
import torch
import xml2pytorch as xm

# declare the net defined in .xml
net = xm.convertXML(xml_filename)    

# input a random tensor
x = torch.randn(1, 3, 32, 32)
y = net(x)
print(y)
```
### How to define a simple CNN in xml
```
<graph>
	<net>
		<layer>
			<net_style>Conv2d</net_style>
			<in_channels>3</in_channels>
			<out_channels>6</out_channels>
			<kernel_size>5</kernel_size>
		</layer>	
		<layer>
			<net_style>ELU</net_style>
		</layer>	
		<layer>
			<net_style>MaxPool2d</net_style>
			<kernel_size>2</kernel_size>
			<stride>2</stride>
			<activation>logsigmoid</activation>
		</layer>
		<layer>
			<net_style>Conv2d</net_style>
			<in_channels>6</in_channels>
			<out_channels>16</out_channels>
			<kernel_size>5</kernel_size>
			<activation>relu</activation>
		</layer>	
		<layer>
			<net_style>MaxPool2d</net_style>
			<kernel_size>2</kernel_size>
			<stride>2</stride>
			<activation>relu</activation>
		</layer>
		<layer>
			<net_style>reshape</net_style>
			<dimensions>[-1, 16*5*5]</dimensions>
		</layer>
		<layer>
			<net_style>Linear</net_style>
			<in_features>400</in_features> 
			<out_features>120</out_features>
			<activation>tanh</activation>
		</layer>
		<layer>
			<net_style>Linear</net_style>
			<in_features>120</in_features> 
			<out_features>84</out_features>
			<activation>sigmoid</activation>
		</layer>
		<layer>
			<net_style>Linear</net_style>
			<in_features>84</in_features>
			<out_features>10</out_features>
			<activation>softmax</activation>
		</layer>
	</net>
</graph>
```


