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
21 changes: 21 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ Session.vim
*~
# auto-generated tag files
tags


### Node template
# Logs
logs
Expand Down Expand Up @@ -83,6 +85,9 @@ Icon
# Thumbnails
._*

# Shell


# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
Expand Down Expand Up @@ -244,3 +249,19 @@ nohup.out
*.pbtxt
*.record
bin/
*.jpg
*.jpeg
*.png

# envs variable
upload_model.sh
generate_color_classifier_dataset.sh
get_object_by_fabric.sh
create_od_train_record.sh
create_bottom_tfrecord.sh
create_full_tfrecord.sh
create_top_tfrecord.sh
create_top_full_tfrecord.sh
get_object_by_fabric.sh
get_object_by_color.sh

26 changes: 20 additions & 6 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
0.0.1==0.0.1
absl-py==0.1.11
appnope==0.1.0
astor==0.6.2
bleach==1.5.0
boto3==1.5.6
botocore==1.8.20
Expand All @@ -8,6 +11,8 @@ decorator==4.1.2
docutils==0.14
entrypoints==0.2.3
enum34==1.1.6
gast==0.2.0
grpcio==1.10.0
html5lib==0.9999999
ipykernel==4.6.1
ipython==6.2.1
Expand All @@ -19,39 +24,48 @@ jsonschema==2.6.0
jupyter-client==5.1.0
jupyter-core==4.3.0
lxml==4.0.0
Markdown==2.6.9
Markdown==2.6.11
MarkupSafe==1.0
matplotlib==2.0.2
mistune==0.7.4
nbconvert==5.3.1
nbformat==4.4.0
nltk==3.2.4
notebook==5.1.0
numpy==1.13.3
numpy==1.14.2
olefile==0.44
opencv-python==3.3.0.10
pandas==0.22.0
pandocfilters==1.4.2
parso==0.1.0
pexpect==4.2.1
pickleshare==0.7.4
Pillow==4.2.1
preprocessing==0.1.13
prompt-toolkit==1.0.15
protobuf==3.4.0
protobuf==3.5.2
ptyprocess==0.5.2
Pygments==2.2.0
pymongo==3.6.0
pymongo==3.6.1
pyparsing==2.2.0
python-dateutil==2.6.1
pytz==2017.2
pyzmq==16.0.2
s3transfer==0.1.12
simplegeneric==0.8.1
six==1.11.0
stylelens-dataset==0.0.4
sphinx-rtd-theme==0.2.4
stylelens-admin==0.0.3
stylelens-dataset==0.0.31
stylelens-s3==0.0.2
tensorboard==1.6.0
tensorflow==1.3.0
tensorflow-gpu==1.6.0
tensorflow-tensorboard==0.1.7
termcolor==1.1.0
terminado==0.6
testpath==0.3.1
tornado==4.5.2
traitlets==4.3.2
wcwidth==0.1.7
Werkzeug==0.12.2
Werkzeug==0.14.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#! /bin/bash
source activate bl-magi
export PYTHONPATH=$PYTHONPATH:`pwd`/../../../tensorflow:`pwd`/../../../tensorflow/slim:
export TRAIN_DIR_PATH='/home/lion/attr_dataset/category_model/model/train1'
export EVAL_DIR_PATH='/home/lion/attr_dataset/category_model/model/eval1'
export DATASET_DIR_PATH='/home/lion/attr_dataset/category_model/data/dataset1'

python /home/lion/bl-magi/tensorflow/slim/eval_image_classifier.py \
--alsologtostderr\
--eval_dir=$EVAL_DIR_PATH\
--checkpoint_path=$TRAIN_DIR_PATH\
--dataset_dir=$DATASET_DIR_PATH\
--dataset_name=category\
--dataset_split_name=validation\
--model_name=inception_v3
19 changes: 19 additions & 0 deletions stylelens/attr_classification/category_model/test_model/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#! /bin/bash
source activate bl-magi
export PYTHONPATH=$PYTHONPATH:`pwd`/../../../tensorflow:`pwd`/../../../tensorflow/slim:
export MODEL_PATH='/home/lion/attr_dataset/category_model/model/train1/model.ckpt-769143'
export LABEL_PATH='/home/lion/attr_dataset/category_model/data/dataset/labels.txt'
export DATA_PATH='/home/lion/bl-magi/stylelens/attr_classification/category_model/test_images1/'

python test_category.py \
--model_path=$MODEL_PATH \
--model_name=inception_v3 \
--label_path=$LABEL_PATH \
--data_path=$DATA_PATH







Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
import glob
import os,re,sys
import argparse
import importlib
import cv2

import tensorflow as tf
from preprocessing import inception_preprocessing

slim = tf.contrib.slim

# prefix image size
image_size = 300

def run(args):
data_path = args.data_path
label_path = args.label_path

model_path = args.model_path
model_name = args.model_name
model_scope = model_name +'_arg_scope'

inception = importlib.import_module('nets.'+model_name)


with tf.Graph().as_default():
with slim.arg_scope(getattr(inception,model_scope)()):


files = glob.glob(data_path+os.path.sep+"*.jpg")
file_list = list()

for idx,f in enumerate(files):
f_string = tf.gfile.FastGFile(f, 'rb').read()
test_img = tf.image.decode_jpeg(f_string, channels=3)
processed_image = inception_preprocessing.preprocess_image(test_img, image_size, image_size, is_training=False)
#processed_images = tf.expand_dims(processed_image, 0)
file_list.append(os.path.basename(f))
if(idx == 0):
processed_images = [processed_image]
else:
processed_images.append(processed_image)
processed_images = tf.stack(processed_images,axis=0)

with open(label_path,'r') as rdata:
names = dict()
for row in rdata:
strip_row = row.strip()
split_row = strip_row.split(":")
if(len(split_row) == 2):
names[int(split_row[0])]=split_row[1]

print(names)

logits, _ = getattr(inception,model_name)(processed_images, num_classes=14, is_training=False)
probabilities = tf.nn.softmax(logits)
init_fn = slim.assign_from_checkpoint_fn(model_path, slim.get_model_variables('InceptionV3'))

with tf.Session() as sess:
init_fn(sess)


np_image, probabilities = sess.run([processed_images, probabilities])


print("\n======== DATA RESULT =======\n")
print("filename\t"+"\t".join(names.values()))

for idx,iter in enumerate(probabilities):
print(file_list[idx]+'\t' +'\t'.join([str(round(i,2)) for i in iter]))


if __name__ == '__main__':

parser = argparse.ArgumentParser()
parser.add_argument("--data_path",help="the path to test images")
parser.add_argument("--model_path")
parser.add_argument("--model_name")
parser.add_argument("--label_path")
if(len(sys.argv) != 5):
parser.print_help()
parser.exit()
args = parser.parse_args()
run(args)

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#! /bin/bash
source activate bl-magi
export PYTHONPATH=$PYTHONPATH:`pwd`/../../../tensorflow:`pwd`/../../../tensorflow/slim:
export TRAIN_DIR_PATH='/home/lion/attr_dataset/category_model/model/train1'
export DATASET_DIR_PATH='/home/lion/attr_dataset/category_model/data/dataset1'


python /home/lion/bl-magi/tensorflow/slim/train_image_classifier.py \
--train_dir=$TRAIN_DIR_PATH \
--dataset_dir=$DATASET_DIR_PATH \
--dataset_name=category \
--dataset_split_name=train \
--num_clones=7 \
--batch_size=42\
--model_name=inception_v3
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#! /bin/bash
source activate bl-magi
export PYTHONPATH=$PYTHONPATH:`pwd`/../../../tensorflow:`pwd`/../../../tensorflow/slim:
export TRAIN_DIR_PATH='/home/lion/attr_dataset/color_model/model/train1'
export EVAL_DIR_PATH='/home/lion/attr_dataset/color_model/model/eval1'
export DATASET_DIR_PATH='/home/lion/attr_dataset/color_model/data/dataset1'

python /home/lion/bl-magi/tensorflow/slim/eval_image_classifier.py \
--alsologtostderr\
--eval_dir=$EVAL_DIR_PATH\
--checkpoint_path=$TRAIN_DIR_PATH\
--dataset_dir=$DATASET_DIR_PATH\
--dataset_name=color\
--dataset_split_name=validation\
--model_name=inception_v3
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#! /bin/bash
source activate bl-magi
export PYTHONPATH=$PYTHONPATH:`pwd`/../../../tensorflow:`pwd`/../../../tensorflow/slim:
export TRAIN_DIR_PATH='/home/lion/attr_dataset/color_model/model/train2'
export EVAL_DIR_PATH='/home/lion/attr_dataset/color_model/model/eval2'
export DATASET_DIR_PATH='/home/lion/attr_dataset/color_model/data/dataset1'

python /home/lion/bl-magi/tensorflow/slim/eval_image_classifier.py \
--alsologtostderr\
--eval_dir=$EVAL_DIR_PATH\
--checkpoint_path=$TRAIN_DIR_PATH\
--dataset_dir=$DATASET_DIR_PATH\
--dataset_name=color\
--dataset_split_name=validation\
--model_name=inception_v3
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#! /bin/bash
source activate bl-magi
export PYTHONPATH=$PYTHONPATH:`pwd`/../../../tensorflow:`pwd`/../../../tensorflow/slim:
export TRAIN_DIR_PATH='/home/lion/attr_dataset/color_model/model/train1'
export DATASET_DIR_PATH='/home/lion/attr_dataset/color_model/data/dataset1'
export CHECKPOINT_PATH='/home/lion/attr_dataset/color_model/data/checkpoints/inception_v3.ckpt'


python /home/lion/bl-magi/tensorflow/slim/train_image_classifier.py \
--train_dir=$TRAIN_DIR_PATH \
--dataset_dir=$DATASET_DIR_PATH \
--dataset_name=color \
--dataset_split_name=train \
--num_clones=6 \
--batch_size=192 \
--model_name=inception_v3 \
--checkpoint_path=/home/lion/attr_dataset/color_model/data/checkpoints1/inception_v3.ckpt \
--checkpoint_exclude_scopes=InceptionV3/Logits,InceptionV3/AuxLogits \
--trainable_scopes=InceptionV3/Logits,InceptionV3/AuxLogits
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#! /bin/bash
source activate bl-magi
export PYTHONPATH=$PYTHONPATH:`pwd`/../../../tensorflow:`pwd`/../../../tensorflow/slim:
export TRAIN_DIR_PATH='/home/lion/attr_dataset/color_model/model/train2'
export DATASET_DIR_PATH='/home/lion/attr_dataset/color_model/data/dataset1'


python /home/lion/bl-magi/tensorflow/slim/train_image_classifier.py \
--train_dir=$TRAIN_DIR_PATH \
--dataset_dir=$DATASET_DIR_PATH \
--dataset_name=color \
--dataset_split_name=train \
--num_clones=2 \
--batch_size=30 \
--learning_rate=0.01 \
--model_name=inception_v3 \
--max_num_of_steps=1000000
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#! /bin/bash
source activate bl-magi
export PYTHONPATH=$PYTHONPATH:`pwd`/../../tensorflow:`pwd`/../tensorflow/slim:
export TRAIN_DIR_PATH='/home/lion/attr_dataset/fabric_model/model/train'
export EVAL_DIR_PATH='/home/lion/attr_dataset/fabric_model/model/eval'
export DATASET_DIR_PATH='/home/lion/attr_dataset/fabric_model/data/dataset'

python /home/lion/bl-magi/tensorflow/slim/eval_image_classifier.py \
--alsologtostderr\
--eval_dir=$EVAL_DIR_PATH\
--checkpoint_path=$TRAIN_DIR_PATH\
--dataset_dir=$DATASET_DIR_PATH\
--dataset_name=fabric\
--dataset_split_name=validation\
--model_name=inception_v3
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#! /bin/bash
source activate bl-magi
export PYTHONPATH=$PYTHONPATH:`pwd`/../../tensorflow:`pwd`/../tensorflow/slim:
export TRAIN_DIR_PATH='/home/lion/attr_dataset/fabric_model/model/train'
export DATASET_DIR_PATH='/home/lion/attr_dataset/fabric_model/data/dataset'

python /home/lion/bl-magi/tensorflow/slim/train_image_classifier.py \
--train_dir=$TRAIN_DIR_PATH\
--dataset_dir=$DATASET_DIR_PATH\
--dataset_name=fabric\
--dataset_split_name=train\
--num_clones 7 \
--model_name=inception_v3\
--checkpoint_path=/home/lion/attr_dataset/fabric_model/data/checkpoints/inception_v3.ckpt\
--checkpoint_exclude_scopes=InceptionV3/Logits,InceptionV3/AuxLogits\
--trainable_scopes=InceptionV3/Logits,InceptionV3/AuxLogits
Submodule bl-text-classifier added at 718490
Loading