Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions i2v/__main__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/usr/bin/env python
from pprint import pprint
import hashlib

from PIL import Image
import click

from . import make_i2v_with_chainer

@click.group()
@click.version_option()
def cli():
pass

@cli.command()
@click.option('--output', default='default')
@click.argument('images', nargs=-1)
def estimate_plausible_tags(images, output='default'):
"""Estimate plausible tags."""
illust2vec = make_i2v_with_chainer(
"illust2vec_tag_ver200.caffemodel", "tag_list.json")
image_sets = map(lambda x: {'value': x, 'sha256':sha256_checksum(x)}, images)
for idx, img_set in enumerate(image_sets):
img = Image.open(img_set['value'])
res = illust2vec.estimate_plausible_tags([img], threshold=0.5)
if isinstance(res[idx]['rating'], zip):
res[idx]['rating'] = list(res[idx]['rating'])
print("image: {}\nsha256: {}".format(
img_set['value'], img_set['sha256']))
if output == 'pprint':
pprint(res)
else:
print(res)


def sha256_checksum(filename, block_size=65536):
sha256 = hashlib.sha256()
with open(filename, 'rb') as f:
for block in iter(lambda: f.read(block_size), b''):
sha256.update(block)
return sha256.hexdigest()


if __name__ == '__main__':
cli()
6 changes: 1 addition & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
numpy
scipy
Pillow
scikit-image
chainer>=2.0.0
.
41 changes: 41 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/env python
from setuptools import setup, find_packages

with open('README.md') as f:
long_description = f.read()


setup(
name="illustration2vec",
version="2.0.1",
packages=find_packages(),
install_requires=[
'chainer>=4.1.0',
'click>=6.7',
'numpy>=1.14.3',
'Pillow>=5.1.0',
'scikit-image>=0.14.0',
],
author="rezoo",
author_email="rezoolab@gmail.com",
maintainer="Rachmadani Haryono",
maintainer_email="foreturiga@gmail.com",
description="A simple deep learning library for estimating a set of tags "
"and extracting semantic feature vectors from given illustrations.",
license="MIT License",
keywords="machine learning tag image illustration",
url="https://github.com/rezoo/illustration2vec/", # project home page, if any
project_urls={
"Bug Tracker": "https://github.com/rezoo/illustration2vec/issues",
},
long_description=long_description,
long_description_content_type='text/markdown',
zip_safe=True,
entry_points={'console_scripts': ['i2v = i2v.__main__:cli', ],},
extras_require={
'dev': [
'pdbpp>=0.9.2',
'ipython>=6.4.0',
],
},
)