{ "info": { "author": "Daichi Yoshikawa", "author_email": "daichi.yoshikawa@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Scientific/Engineering :: Artificial Intelligence" ], "description": "dnnet\n=====\nImplementation of Deep Neural Network with numpy.\nLess dependencies, easier to use.\n\n# Table of Contents\n* Brief tour of dnnet; Introduce small examples, supported methodologies\n* Installation\n* Example; Run sample scripts\n* Use in your project\n\n# Brief tour of dnnet\n## Quick glance of usage\n\nUser can creates instance of NeuralNetwork, add layer one by one,
\nfinalize model, set optimizer, execute model fitting, and save model.\n\nIn the below, some arguments are not specified to simplify the example.\n```\nmodel = NeuralNetwork(input_shape=(1, 28, 28), dtype=np.float32)\n\nmodel.add(ConvolutionLayer(filter_shape=(32, 3, 3))\nmodel.add(BatchNormLayer())\nmodel.add(ActivationLayer(activation=Activation.Type.relu))\nmodel.add(DropoutLayer(drop_ratio=0.25))\n\nmodel.add(AffineLayer(output_shape=10)\nmodel.add(ActivationLayer(activation=Activation.Type.softmax)\nmodel.compile()\n\noptimizer = AdaGrad(learning_rate=1e-3, weight_decay=1e-3)\nlearning_curve = model.fit(\n x=x, y=y, epochs=5, batch=size=100, optimizer=optimizer,\n loss_function=LossFunction.Type.multinomial_cross_entropy)\nmodel.save(path='./data/output', name='conv_net.dat')\n```\n\nUser can also load model, and predict output.\n```\nmodel.load(path='./data/output', name='conv_net.dat')\ny = model.predict(x)\n```\n\n## Supported Methods\n### Layers\n* Affine\n* Convolution\n* Activation\n* Pool\n* Batch Normalization\n* Dropout\n\n### Activation Functions\n* Sigmoid\n* ReLU\n* ELU\n* Tanh\n* Softmax\n\n### Optimization Methods\n* SGD\n* Momentum\n* AdaGrad\n* Adam\n* AdaDelta\n* RMSProp\n* SMORMS3\n\n### Weight Initialization Methods\n* Xavier's method\n* He's method\n* Default\n\n### Loss Functions\n* MultinomialCrossEntropy for multinomial classification.\n* BinomialCrossEntropy for binary classification.\n* SquaredError for regression.\n\n# Installation\n## Requisites\n* python 3.4 or later\n* numpy 1.12.0 or later\n* matplotlib\n\n## Install dnnet by pip.\n```\npip install dnnet\n```\n\n## Install dnnet from source.\ndnnet doesn't require any complicated path-settings.
\nYou just download scripts from github, place it wherever you like,
\nand you add some lines like below in your scripts.\n\n```\nimport sys\nsys.path.append('')\n\nfrom dnnet.neuralnet import NeuralNetwork\n```\n\n## Setup environment from scratch (Optional)\nIn this section, setting up python environment from scratch is described.
\n\"From scratch\" means that you're supposed to use brand-new computer,
\nno python packages (even python itself!) and relevant libraries are installed.\n\nIt may also be useful when you start new python project. In this case,
\nyou will partially execute the following steps.\n\n### Setup Python Virtual Environment\n#### Assumption\n* Use python3\n* Make directory for pyenv in \"/home//Documents\"\n* Root directory of your python virtual env is in \"/home//Work/py352_ws\"\n* \"/home//Work/py352_ws/\" is your working directory\n\n#### Setup procedure\n* Install required packages\n```\n$ sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev\n```\n* Install tkinter(This is required to use matplotlib in virtualenv)\n```\n$ sudo apt-get install python3-tk python-tk tk-dev\n```\n* Install pyenv\n```\n $ cd ~\n $ git clone git://github.com/yyuu/pyenv.git ./pyenv\n $ mkdir -p ./pyenv/versions ./pyenv/shims\n```\n* Set paths\nAdd the following description in ~/.bashrc\n```\nexport PYENV_ROOT=${HOME}/Documents/pyenv\nif [ -d \"${PYENV_ROOT}\" ]; then\n export PATH=${PYENV_ROOT}/bin:$PATH\n eval \"$(pyenv init -)\"\nfi\n```\nAnd then execute the follows.\n```\n $ exec $SHELL -l\n $ . ~/.bashrc\n```\n* Install pyenv-virtualenv\n```\n $ cd $PYENV_ROOT/plugins\n $ git clone git://github.com/yyuu/pyenv-virtualenv.git\n```\n* Install python 3.5.2\n\nIf you're going to use theano in the resulting env,\n```\nenv PYTHON_CONFIGURE_OPTS=--enable-shared pyenv install 3.5.2\n```\nelse ...\n```\n $ pyenv install 3.5.2\n```\n* Setup local pyenv\n```\n $ mkdir -p ~/Work/py352_ws\n $ pyenv virtualenv 3.5.2 \n```\n can be like py352_env, python3_env, or anything you like.
\nHere, it's assumed that you named the environment as \"py352_env\".\n```\n $ cd ~/Work/py352_ws\n $ pyenv local py352_env\n $ pip install --upgrade pip\n```\n\n# Example\n## MNIST\n* Run neural network for mnist.\n```\ncd /examples/mnist\npython mnist.py\n```\nIf you get an error \"ImportError: Python is not installed as a framework.\",\nit might be because of matplotlib issue.(This happened to me when working with MacOS.)\n\nIn the case, please try the follow.\n```\ncd ~/.matplotlib\necho \"backend: TkAgg\" >> matplotlibrc\n```\n\n# Use in your project\n## If you pip installed dnnet\n```\nfrom dnnet.neuralnet import NeuralNetwork\n```\n\n## If you git cloned dnnet\n```\nimport sys\nsys.path.append('')\n\nfrom dnnet.neuralnet import NeuralNetwork\n```\n\nFor example, if dnnet directory is in ~/Work/dnnet,\ndo like below.\n```\nimport os\nimport sys\nsys.path.append(os.path.join(os.getenv('HOME'), 'Work/dnnet'))\n\nfrom dnnet.neuralnet import NeuralNetwork\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/daichi-yoshikawa/dnnet", "keywords": "", "license": "BSD-3-Clause", "maintainer": "", "maintainer_email": "", "name": "dnnet", "package_url": "https://pypi.org/project/dnnet/", "platform": "", "project_url": "https://pypi.org/project/dnnet/", "project_urls": { "Homepage": "https://github.com/daichi-yoshikawa/dnnet" }, "release_url": "https://pypi.org/project/dnnet/0.9.1/", "requires_dist": null, "requires_python": ">=3.4", "summary": "Deep Neural Network.", "version": "0.9.1" }, "last_serial": 4897057, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "8cf2968d56563c1a574535bfc81fa492", "sha256": "e4af8dd9a5704e70c7b961ec4f9502d4988d5ab7d6d087279b3aab7413d67c03" }, "downloads": -1, "filename": "dnnet-0.9.0.tar.gz", "has_sig": false, "md5_digest": "8cf2968d56563c1a574535bfc81fa492", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 22806, "upload_time": "2019-03-02T23:19:28", "url": "https://files.pythonhosted.org/packages/de/9d/9165add37b7670a69ffc066bd63572dd7e2ff537b8c9987c6c7786b330ac/dnnet-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "2dce5184320c34760c0c331b6d460eab", "sha256": "feea5df84ef2773548733bbae655753ce54e8a688c89291a82c717a5d3fa1301" }, "downloads": -1, "filename": "dnnet-0.9.1.tar.gz", "has_sig": false, "md5_digest": "2dce5184320c34760c0c331b6d460eab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 23920, "upload_time": "2019-03-05T02:11:09", "url": "https://files.pythonhosted.org/packages/e0/9f/82f6b3f539e906abc8cb0357212134f4bf2e333f23ffe233187b339ce191/dnnet-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2dce5184320c34760c0c331b6d460eab", "sha256": "feea5df84ef2773548733bbae655753ce54e8a688c89291a82c717a5d3fa1301" }, "downloads": -1, "filename": "dnnet-0.9.1.tar.gz", "has_sig": false, "md5_digest": "2dce5184320c34760c0c331b6d460eab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 23920, "upload_time": "2019-03-05T02:11:09", "url": "https://files.pythonhosted.org/packages/e0/9f/82f6b3f539e906abc8cb0357212134f4bf2e333f23ffe233187b339ce191/dnnet-0.9.1.tar.gz" } ] }