* MobileVLM native implementation * delete depthwise_conv_2d and permute_cpy relative code, replace the two by the existed functions, and opt ldp definition, support LLAMA_PERF option for CMake * move android script to example/llava directory * Fix the editor config checks --------- Co-authored-by: Chenxiaotao03 <chenxiaotao03@meituan.com>
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| model_dir="/Users/cxt/model/llm/mobileVLM/MobileVLM-1.7B_processed"
 | |
| projector_name="mmproj-model-f16.gguf"
 | |
| llama_name="ggml-model-q4_k.gguf"
 | |
| img_dir="/Users/cxt/model/llm"
 | |
| img_name="demo.jpg"
 | |
| prompt="A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: <image>\nWho is the author of this book? \nAnswer the question using a single word or phrase. ASSISTANT:"
 | |
| # img_name="cat.jpeg"
 | |
| # prompt="A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: <image>\nWhat is in the image? ASSISTANT:"
 | |
| 
 | |
| program_dir="build_64/bin"
 | |
| binName="llava-cli"
 | |
| n_threads=4
 | |
| 
 | |
| 
 | |
| deviceDir="/data/local/tmp"
 | |
| saveDir="output"
 | |
| if [ ! -d ${saveDir} ]; then
 | |
|     mkdir ${saveDir}
 | |
| fi
 | |
| 
 | |
| 
 | |
| function android_run() {
 | |
|     # # copy resource into device
 | |
|     # adb push ${model_dir}/${projector_name} ${deviceDir}/${projector_name}
 | |
|     # adb push ${model_dir}/${llama_name} ${deviceDir}/${llama_name}
 | |
|     adb push ${img_dir}/${img_name} ${deviceDir}/${img_name}
 | |
|     # copy program into device
 | |
|     adb push ${program_dir}/${binName} ${deviceDir}/${binName}
 | |
|     adb shell "chmod 0777 ${deviceDir}/${binName}"
 | |
| 
 | |
|     # run
 | |
|     adb shell "echo cd ${deviceDir} ${deviceDir}/${binName} \
 | |
|                                                  -m ${deviceDir}/${llama_name} \
 | |
|                                                  --mmproj ${deviceDir}/${projector_name} \
 | |
|                                                  -t ${n_threads} \
 | |
|                                                  --image ${deviceDir}/${img_name} \
 | |
|                                                  -p \"${prompt}\" \
 | |
|                                                  > ${deviceDir}/${modelName}_${projector_name}_${n_threads}_${img_name}.txt"
 | |
|     adb shell "cd ${deviceDir}; pwd; ${deviceDir}/${binName} \
 | |
|                                                  -m ${deviceDir}/${llama_name} \
 | |
|                                                  --mmproj ${deviceDir}/${projector_name} \
 | |
|                                                  -t ${n_threads} \
 | |
|                                                  --image ${deviceDir}/${img_name} \
 | |
|                                                  -p \"${prompt}\" \
 | |
|                                                  >> ${deviceDir}/${modelName}_${projector_name}_${n_threads}_${img_name}.txt 2>&1"
 | |
|     adb pull ${deviceDir}/${modelName}_${projector_name}_${n_threads}_${img_name}.txt ${saveDir}
 | |
| }
 | |
| 
 | |
| android_run
 | |
| 
 | |
| echo "android_run is Done!"
 |