image-classifier / abcli /fashion_mnist.sh
kamangir
validating single image predict for fashion_mnist - kamangir/bolt#692
cd2efd1
#! /usr/bin/env bash
function fashion_mnist() {
abcli_fashion_mnist $@
}
function abcli_fashion_mnist() {
local task=$(abcli_unpack_keyword $1 help)
if [ $task == "help" ] ; then
abcli_help_line "$abcli_cli_name fashion_mnist ingest" \
"ingest fashion_mnist data."
abcli_help_line "$abcli_cli_name fashion_mnist predict data_1 [name_1] [data=filename/*object/url,model=object/*saved]" \
"run fashion_mnist saved/object model name_1 predict on filename/object/url data_1."
abcli_help_line "$abcli_cli_name fashion_mnist save [name_1] [object_1] [force]" \
"[force] save fashion_mnist [in object_1] [as name_1]."
abcli_help_line "$abcli_cli_name fashion_mnist train [validate]" \
"train fashion_mnist [for validation]."
if [ "$(abcli_keyword_is $2 verbose)" == true ] ; then
python3 -m image_classifier.fashion_mnist --help
fi
return
fi
if [ "$task" == "ingest" ] ; then
python3 -m image_classifier.fashion_mnist \
ingest \
--output_path $abcli_object_path \
${@:2}
abcli_tag set . fashion_mnist
return
fi
if [ "$task" == "predict" ] ; then
local data_object=$(abcli_clarify_object "$2" $abcli_object_name)
local model_name=$(abcli_clarify_arg "$3" fashion-mnist)
local options=$4
local data_source=$(abcli_option "$options" "data" object)
if [ "$(abcli_keyword_is $data_object validate)" == true ] && [ "$data_source" == "object" ] ; then
local output_object=$abcli_object_name
abcli_select - ~trail
abcli_fashion_mnist ingest
local data_object=$abcli_object_name
abcli_select $output_object ~trail
fi
abcli_log "fashion_mnist($model_name).predict($data_object): $options"
abcli_image_classifier predict \
$data_object \
$model_name \
$options \
${@:5}
abcli_tag set . fashion_mnist
return
fi
if [ "$task" == "save" ] ; then
abcli_huggingface save \
image-classifier \
$(abcli_clarify_arg "$2" fashion-mnist) \
${@:3}
return
fi
if [ "$task" == "train" ] ; then
local model_object=$abcli_object_name
local options=$2
local do_validate=$(abcli_option_get_unpacked "$options" "validate" 0)
abcli_select - ~trail
abcli_fashion_mnist ingest
local data_object=$abcli_object_name
abcli_log "fashion_mnist.train($data_object): $options"
abcli_select $model_object ~trail
abcli_image_classifier_train \
$data_object \
~color,~convnet,validate=$do_validate \
${@:3}
abcli_tag set . fashion_mnist
return
fi
abcli_log_error "-fashion_mnist: $task: command not found."
}