diff --git a/extra/quantize-all.sh b/extra/quantize-all.sh index 60ffde1..bfef21e 100755 --- a/extra/quantize-all.sh +++ b/extra/quantize-all.sh @@ -10,36 +10,48 @@ fi qtype0="q5_0" qtype1="q5_1" upload="$1" +declare -a filedex cd `dirname $0` cd ../ -./quantize ./models/ggml-tiny.en.bin ./models/ggml-tiny.en-${qtype1}.bin ${qtype1} -./quantize ./models/ggml-tiny.bin ./models/ggml-tiny-${qtype1}.bin ${qtype1} +# Let's loop across all the objects in the 'models' dir: +for i in ./models/*; do + # Check to see if it's a file or directory + if [ -d "$i" ]; then + # It's a directory! We should make sure it's not empty first: + if [ "$(ls -A $i)" ]; then + # Passed! Let's go searching for bin files (shouldn't need to go more than a layer deep here) + for f in "$i"/*.bin; do + # [Neuron Activation] + newfile=`echo "${f##*/}" | cut -d _ -f 1`; + if [ "$newfile" != "q5" ]; then + ./quantize "${f}" "${i:-4}/${i:9:${#i}-4}-${qtype1}.bin" ${qtype1}; + ./quantize "${f}" "${i:-4}/${i:9:${#i}-4}-${qtype0}.bin" ${qtype0}; + filedex+=( "${i:-4}/${i:9:${#i}-4}-${qtype1}.bin" "${i:-4}/${i:9:${#i}-4}-${qtype0}.bin" ) + fi + done + fi + else + # It's a file! Let's make sure it's the right type: + if [ "${i##*.}" == "bin" ]; then + # And we probably want to skip the testing files + if [ "${i:9:8}" != "for-test" ]; then + # [Neuron Activation] + ./quantize "${i}" "${i:-4}-${qtype1}.bin" ${qtype1}; + ./quantize "${i}" "${i:-4}-${qtype0}.bin" ${qtype0}; + filedex+=( "${i:-4}-${qtype1}.bin" "${i:-4}-${qtype0}.bin" ) + fi + fi + fi +done -./quantize ./models/ggml-base.en.bin ./models/ggml-base.en-${qtype1}.bin ${qtype1} -./quantize ./models/ggml-base.bin ./models/ggml-base-${qtype1}.bin ${qtype1} -./quantize ./models/ggml-small.en.bin ./models/ggml-small.en-${qtype1}.bin ${qtype1} -./quantize ./models/ggml-small.bin ./models/ggml-small-${qtype1}.bin ${qtype1} - -./quantize ./models/ggml-medium.en.bin ./models/ggml-medium.en-${qtype0}.bin ${qtype0} -./quantize ./models/ggml-medium.bin ./models/ggml-medium-${qtype0}.bin ${qtype0} - -./quantize ./models/ggml-large.bin ./models/ggml-large-${qtype0}.bin ${qtype0} if [ "$upload" == "1" ]; then - scp ./models/ggml-tiny.en-${qtype1}.bin root@linode0:/mnt/Data/ggml/ggml-model-whisper-tiny.en-${qtype1}.bin - scp ./models/ggml-tiny-${qtype1}.bin root@linode0:/mnt/Data/ggml/ggml-model-whisper-tiny-${qtype1}.bin - - scp ./models/ggml-base.en-${qtype1}.bin root@linode0:/mnt/Data/ggml/ggml-model-whisper-base.en-${qtype1}.bin - scp ./models/ggml-base-${qtype1}.bin root@linode0:/mnt/Data/ggml/ggml-model-whisper-base-${qtype1}.bin - - scp ./models/ggml-small.en-${qtype1}.bin root@linode0:/mnt/Data/ggml/ggml-model-whisper-small.en-${qtype1}.bin - scp ./models/ggml-small-${qtype1}.bin root@linode0:/mnt/Data/ggml/ggml-model-whisper-small-${qtype1}.bin - - scp ./models/ggml-medium.en-${qtype0}.bin root@linode0:/mnt/Data/ggml/ggml-model-whisper-medium.en-${qtype0}.bin - scp ./models/ggml-medium-${qtype0}.bin root@linode0:/mnt/Data/ggml/ggml-model-whisper-medium-${qtype0}.bin - - scp ./models/ggml-large-${qtype0}.bin root@linode0:/mnt/Data/ggml/ggml-model-whisper-large-${qtype0}.bin + for i in ${!filedex[@]}; do + if [ "${filedex[$i]:9:8}" != "for-test" ]; then + scp ${filedex[$i]} root@linode0:/mnt/Data/ggml/ggml-model-${filedex[$i]:9} + fi + done fi