kamangir commited on
Commit ·
13ce165
1
Parent(s): dad539d
validating single image predict for fashion_mnist - kamangir/bolt#692
Browse files- abcli/fashion_mnist.sh +8 -5
- abcli/image_classifier.sh +23 -20
- image_classifier/__init__.py +1 -1
abcli/fashion_mnist.sh
CHANGED
|
@@ -10,8 +10,8 @@ function abcli_fashion_mnist() {
|
|
| 10 |
if [ $task == "help" ] ; then
|
| 11 |
abcli_help_line "$abcli_cli_name fashion_mnist ingest" \
|
| 12 |
"ingest fashion_mnist data."
|
| 13 |
-
abcli_help_line "$abcli_cli_name fashion_mnist predict
|
| 14 |
-
"run fashion_mnist saved/object model name_1 predict on
|
| 15 |
abcli_help_line "$abcli_cli_name fashion_mnist save [name_1] [object_1] [force]" \
|
| 16 |
"[force] save fashion_mnist [in object_1] [as name_1]."
|
| 17 |
abcli_help_line "$abcli_cli_name fashion_mnist train [validate]" \
|
|
@@ -35,8 +35,12 @@ function abcli_fashion_mnist() {
|
|
| 35 |
fi
|
| 36 |
|
| 37 |
if [ "$task" == "predict" ] ; then
|
| 38 |
-
|
|
|
|
|
|
|
|
|
|
| 39 |
|
|
|
|
| 40 |
if [ "$(abcli_keyword_is $data_object validate)" == true ] ; then
|
| 41 |
local output_object=$abcli_object_name
|
| 42 |
|
|
@@ -47,8 +51,7 @@ function abcli_fashion_mnist() {
|
|
| 47 |
abcli_select $output_object ~trail
|
| 48 |
fi
|
| 49 |
|
| 50 |
-
|
| 51 |
-
image-classifier \
|
| 52 |
$data_object \
|
| 53 |
$(abcli_clarify_arg "$3" fashion-mnist) \
|
| 54 |
${@:4}
|
|
|
|
| 10 |
if [ $task == "help" ] ; then
|
| 11 |
abcli_help_line "$abcli_cli_name fashion_mnist ingest" \
|
| 12 |
"ingest fashion_mnist data."
|
| 13 |
+
abcli_help_line "$abcli_cli_name fashion_mnist predict data_1 [name_1] [data=filename/*object/url,model=object/*saved]" \
|
| 14 |
+
"run fashion_mnist saved/object model name_1 predict on filename/object/url data_1."
|
| 15 |
abcli_help_line "$abcli_cli_name fashion_mnist save [name_1] [object_1] [force]" \
|
| 16 |
"[force] save fashion_mnist [in object_1] [as name_1]."
|
| 17 |
abcli_help_line "$abcli_cli_name fashion_mnist train [validate]" \
|
|
|
|
| 35 |
fi
|
| 36 |
|
| 37 |
if [ "$task" == "predict" ] ; then
|
| 38 |
+
# Args
|
| 39 |
+
# $2: data_1: data for prediction
|
| 40 |
+
# $3: name_1: model name
|
| 41 |
+
# $4: options: data=filename/*object/url,model=object/*saved
|
| 42 |
|
| 43 |
+
local data_object=$(abcli_clarify_object "$2" $abcli_object_name)
|
| 44 |
if [ "$(abcli_keyword_is $data_object validate)" == true ] ; then
|
| 45 |
local output_object=$abcli_object_name
|
| 46 |
|
|
|
|
| 51 |
abcli_select $output_object ~trail
|
| 52 |
fi
|
| 53 |
|
| 54 |
+
abcli_image_classifier predict \
|
|
|
|
| 55 |
$data_object \
|
| 56 |
$(abcli_clarify_arg "$3" fashion-mnist) \
|
| 57 |
${@:4}
|
abcli/image_classifier.sh
CHANGED
|
@@ -12,8 +12,8 @@ function abcli_image_classifier() {
|
|
| 12 |
"describe model object_1."
|
| 13 |
abcli_help_line "$abcli_cli_name image_classifier install" \
|
| 14 |
"install image_classifier."
|
| 15 |
-
abcli_help_line "$abcli_cli_name image_classifier predict
|
| 16 |
-
"run
|
| 17 |
abcli_help_line "$abcli_cli_name image_classifier save [name_1] [object_1] [force]" \
|
| 18 |
"[force] save image_classifier [in object_1] [as name_1]."
|
| 19 |
abcli_help_line "$abcli_cli_name image_classifier train object_1" \
|
|
@@ -48,15 +48,6 @@ function abcli_image_classifier() {
|
|
| 48 |
return
|
| 49 |
fi
|
| 50 |
|
| 51 |
-
if [ "$task" == "predict" ] ; then
|
| 52 |
-
abcli_huggingface predict \
|
| 53 |
-
image-classifier \
|
| 54 |
-
$2 \
|
| 55 |
-
$(abcli_clarify_arg "$3" image-classifier) \
|
| 56 |
-
${@:4}
|
| 57 |
-
return
|
| 58 |
-
fi
|
| 59 |
-
|
| 60 |
if [ "$task" == "save" ] ; then
|
| 61 |
abcli_huggingface save \
|
| 62 |
image-classifier \
|
|
@@ -69,36 +60,48 @@ function abcli_image_classifier() {
|
|
| 69 |
}
|
| 70 |
|
| 71 |
function abcli_image_classifier_predict() {
|
| 72 |
-
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
-
abcli_download object $model_object
|
| 76 |
abcli_download object $data_object
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
|
| 78 |
-
abcli_log "image_classifier($
|
| 79 |
|
| 80 |
if [ ! -f "$abcli_object_root/$data_object/test_images.pyndarray" ] ; then
|
| 81 |
python3 -m image_classifier \
|
| 82 |
preprocess \
|
| 83 |
--infer_annotation 0 \
|
| 84 |
-
--model_path $
|
| 85 |
--objects $abcli_object_root/$data_object \
|
| 86 |
--output_path $abcli_object_root/$data_object \
|
| 87 |
--purpose predict \
|
| 88 |
${@:3}
|
| 89 |
fi
|
| 90 |
|
| 91 |
-
cp -v
|
| 92 |
-
cp -v
|
| 93 |
|
| 94 |
python3 -m image_classifier \
|
| 95 |
predict \
|
| 96 |
--data_path $abcli_object_root/$data_object \
|
| 97 |
-
--model_path $
|
| 98 |
--output_path $abcli_object_path \
|
| 99 |
${@:4}
|
| 100 |
|
| 101 |
-
|
| 102 |
}
|
| 103 |
|
| 104 |
function abcli_image_classifier_train() {
|
|
|
|
| 12 |
"describe model object_1."
|
| 13 |
abcli_help_line "$abcli_cli_name image_classifier install" \
|
| 14 |
"install image_classifier."
|
| 15 |
+
abcli_help_line "$abcli_cli_name image_classifier predict data_1 [name_1] [data=filename/*object/url,model=object/*saved]" \
|
| 16 |
+
"run fashion_mnist saved/object model name_1 predict on filename/object/url data_1."
|
| 17 |
abcli_help_line "$abcli_cli_name image_classifier save [name_1] [object_1] [force]" \
|
| 18 |
"[force] save image_classifier [in object_1] [as name_1]."
|
| 19 |
abcli_help_line "$abcli_cli_name image_classifier train object_1" \
|
|
|
|
| 48 |
return
|
| 49 |
fi
|
| 50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
if [ "$task" == "save" ] ; then
|
| 52 |
abcli_huggingface save \
|
| 53 |
image-classifier \
|
|
|
|
| 60 |
}
|
| 61 |
|
| 62 |
function abcli_image_classifier_predict() {
|
| 63 |
+
# Args
|
| 64 |
+
# $1: data_1: data for prediction
|
| 65 |
+
# $2: name_1: model name
|
| 66 |
+
# $3: options: data=filename/*object/url,model=object/*saved
|
| 67 |
+
|
| 68 |
+
local data_object=$(abcli_clarify_object "$1")
|
| 69 |
+
|
| 70 |
+
local model_path=$(abcli_huggingface get_model_path image-classifier "$2" "$3")
|
| 71 |
+
|
| 72 |
+
local options=$3
|
| 73 |
+
local model_source=$(abcli_option "$options" "model" saved)
|
| 74 |
|
|
|
|
| 75 |
abcli_download object $data_object
|
| 76 |
+
if [ "$model_source" == "object" ] ; then
|
| 77 |
+
local model_object=TBD
|
| 78 |
+
abcli_download object $model_object
|
| 79 |
+
fi
|
| 80 |
|
| 81 |
+
abcli_log "image_classifier($model_path).predict($data_object)"
|
| 82 |
|
| 83 |
if [ ! -f "$abcli_object_root/$data_object/test_images.pyndarray" ] ; then
|
| 84 |
python3 -m image_classifier \
|
| 85 |
preprocess \
|
| 86 |
--infer_annotation 0 \
|
| 87 |
+
--model_path $model_path \
|
| 88 |
--objects $abcli_object_root/$data_object \
|
| 89 |
--output_path $abcli_object_root/$data_object \
|
| 90 |
--purpose predict \
|
| 91 |
${@:3}
|
| 92 |
fi
|
| 93 |
|
| 94 |
+
cp -v $abcli_object_root/$data_object/*.pyndarray .
|
| 95 |
+
cp -v $model_path/image_classifier/model/class_names.json .
|
| 96 |
|
| 97 |
python3 -m image_classifier \
|
| 98 |
predict \
|
| 99 |
--data_path $abcli_object_root/$data_object \
|
| 100 |
+
--model_path $model_path \
|
| 101 |
--output_path $abcli_object_path \
|
| 102 |
${@:4}
|
| 103 |
|
| 104 |
+
abcli_tag set . image_classifier,predict
|
| 105 |
}
|
| 106 |
|
| 107 |
function abcli_image_classifier_train() {
|
image_classifier/__init__.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
name = "image_classifier"
|
| 2 |
|
| 3 |
-
version = "1.1.
|
| 4 |
|
| 5 |
description = "fashion-mnist + hugging-face + awesome-bash-cli"
|
|
|
|
| 1 |
name = "image_classifier"
|
| 2 |
|
| 3 |
+
version = "1.1.134"
|
| 4 |
|
| 5 |
description = "fashion-mnist + hugging-face + awesome-bash-cli"
|