File size: 3,028 Bytes
c18b721 08633e0 c18b721 08633e0 c18b721 513b119 c18b721 513b119 c18b721 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
#! /usr/bin/env bash
function abcli_image_classifier() {
local task=$(abcli_unpack_keyword "$1" help)
if [ "$task" == "help" ] ; then
abcli_help_line "$abcli_cli_name image_classifier describe object_1" \
"describe model object_1."
abcli_help_line "$abcli_cli_name image_classifier predict object_1 object_2" \
"run image_classifier model object_1 predict on data object_2."
abcli_help_line "$abcli_cli_name image_classifier train object_1" \
"train image_classifier on data object_1."
if [ "$(abcli_keyword_is $2 verbose)" == true ] ; then
python3 -m fashion_mnist.image_classifier --help
fi
return
fi
if [[ $(type -t abcli_image_classifier_$task) == "function" ]] ; then
abcli_image_classifier_$task ${@:2}
return
fi
if [ "$task" == "describe" ] ; then
local model_object_name="$2"
abcli_download $model_object_name
python3 -m fashion_mnist.image_classifier \
describe \
--model_path $abcli_object_root/$model_object_name \
${@:3}
return
fi
abcli_log_error "-fashion_mnist: image-classifier: $task: command not found."
}
function abcli_image_classifier_predict() {
local model_object=$(abcli_clarify_object "$1")
local data_object=$(abcli_clarify_object "$2")
abcli_download object $model_object
abcli_download object $data_object
abcli_log "image_classifier($model_object).predict($data_object)"
if [ ! -f "$abcli_object_root/$data_object/test_images.pyndarray" ] ; then
python3 -m fashion_mnist.image_classifier \
preprocess \
--infer_annotation 0 \
--model_path $abcli_object_root/$model_object \
--objects $abcli_object_root/$data_object \
--output_path $abcli_object_root/$data_object \
--purpose predict \
${@:3}
fi
cp -v ../$data_object/*.pyndarray .
cp -v ../$model_object/class_names.json .
python3 -m fashion_mnist.image_classifier \
predict \
--data_path $abcli_object_root/$data_object \
--model_path $abcli_object_root/$model_object \
--output_path $abcli_object_path \
${@:4}
}
function abcli_image_classifier_train() {
local data_object=$(abcli_clarify_object "$1" $abcli_object_name)
abcli_download object $data_object
local options=$2
local do_color=$(abcli_option_int "$options" "color" 0)
local do_convnet=$(abcli_option_int "$options" "convnet" 0)
local do_validate=$(abcli_option_int "$options" "validate" 0)
local extra_args=""
if [ "$do_validate" == true ] ; then
local extra_args="--epochs 2"
fi
python3 -m fashion_mnist.image_classifier \
train \
--color $do_color \
--convnet $do_convnet \
--data_path $abcli_object_root/$data_object \
--model_path $abcli_object_path \
$extra_args \
${@:3}
} |