Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
jph00 committed Jan 13, 2020
1 parent 982055a commit 114f307
Show file tree
Hide file tree
Showing 5 changed files with 182 additions and 0 deletions.
133 changes: 133 additions & 0 deletions bear_classifier.ipynb
@@ -0,0 +1,133 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from fastai2.vision.all import *\n",
"from fastai2.vision.widgets import *"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"learn_inf = torch.load('export.pkl')\n",
"btn_upload = widgets.FileUpload()\n",
"out_pl = widgets.Output()\n",
"lbl_pred = widgets.Label()\n",
"btn_run = widgets.Button(description='Classify', disabled=True)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def on_click_classify(change):\n",
" img = PILImage.create(btn_upload.data[-1])\n",
" out_pl.clear_output()\n",
" with out_pl: display(img.to_thumb(128,128))\n",
" pred,pred_idx,probs = learn_inf.predict(img)\n",
" lbl_pred.value = f'Prediction: {pred}; Probability: {probs[pred_idx]:.04f}'\n",
"\n",
"btn_run.on_click(on_click_classify)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def enable_btn(change): btn_run.disabled = False\n",
"btn_upload.observe(enable_btn, names=['data'])"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3777f9c9ee2d429f83261f9e305de1d5",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"VBox(children=(Label(value='Select your bear!'), FileUpload(value={'chapter1_cat_example.jpg': {'metadata': {'…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display(VBox([widgets.Label('Select your bear!'), btn_upload, btn_run, out_pl, lbl_pred]))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"jupytext": {
"split_at_heading": true
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.5"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": false,
"sideBar": true,
"skip_h1_title": true,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Binary file added bears/grizzly/00000030.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added export.pkl
Binary file not shown.
3 changes: 3 additions & 0 deletions requirements.txt
@@ -0,0 +1,3 @@
voila
fastai2
pillow<7
46 changes: 46 additions & 0 deletions setup.py
@@ -0,0 +1,46 @@
from packaging.version import parse
from configparser import ConfigParser
import setuptools
assert parse(setuptools.__version__)>=parse('36.2')

# note: all settings are in settings.ini; edit there, not here
config = ConfigParser(delimiters=['='])
config.read('settings.ini')
cfg = config['DEFAULT']

cfg_keys = 'version description keywords author author_email'.split()
expected = cfg_keys + "lib_name user branch license status min_python audience language".split()
for o in expected: assert o in cfg, "missing expected setting: {}".format(o)
setup_cfg = {o:cfg[o] for o in cfg_keys}

licenses = {
'apache2': ('Apache Software License 2.0','OSI Approved :: Apache Software License'),
}
statuses = [ '1 - Planning', '2 - Pre-Alpha', '3 - Alpha',
'4 - Beta', '5 - Production/Stable', '6 - Mature', '7 - Inactive' ]
py_versions = '2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8'.split()

requirements = cfg.get('requirements','').split()
lic = licenses[cfg['license']]
min_python = cfg['min_python']

setuptools.setup(
name = cfg['lib_name'],
license = lic[0],
classifiers = [
'Development Status :: ' + statuses[int(cfg['status'])],
'Intended Audience :: ' + cfg['audience'].title(),
'License :: ' + lic[1],
'Natural Language :: ' + cfg['language'].title(),
] + ['Programming Language :: Python :: '+o for o in py_versions[py_versions.index(min_python):]],
url = 'https://github.com/{}/{}'.format(cfg['user'],cfg['lib_name']),
packages = setuptools.find_packages(),
include_package_data = True,
install_requires = requirements,
python_requires = '>=' + cfg['min_python'],
long_description = open('README.md').read(),
long_description_content_type = 'text/markdown',
zip_safe = False,
entry_points = { 'console_scripts': cfg.get('console_scripts','').split() },
**setup_cfg)

0 comments on commit 114f307

Please sign in to comment.