tensorflow之使用shell脚本定义自己的图片标签

本文介绍了一种使用Shell脚本自动为深度学习项目中的图片数据集打上分类标签的方法,该方法通过递归遍历文件夹并提取路径作为标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直比较欣赏外国人的不管数据工作如何简单都会使用代码来操作数据。

学习谷歌的深度学习tensorflow一直认为给自己的数据库图片打上分类标签是一种费力事。

所以就尝试着写一些shell脚本来进行数据的脚本操作。以下代码是我为深度学习自动标签分类的代码。

############################################
#! /bin/bash -
#Author:zhaoqinghui
#Data  :2016.05.11 
#============ get the file name =========== 
INIT_PATH="./image";
#==========================================

function ergodic(){
  for file in `ls $1`
  do
    if [ -d $1"/"$file ]
    then
      ergodic $1"/"$file
    else
      local path=$1"/"$file 
      local name=$file      
      local size=`du --max-depth=1 $path|awk '{print $1}'` 
      #echo $name  $size $path 
      label=`echo ${path%/*}`
      #label=$`echo ${label%/*}`
      #label=$`echo ${label#*/}`
      label=`echo ${label#*/}`
      label=`echo ${label#*/}`
      echo  $path $label >> mytrain.txt
      echo 'save succuss'  $path
    fi
  done
}
IFS=$'\n' #防止有空格时出错
ergodic $INIT_PATH



### Linux Shell 脚本与AI集成 在Linux环境中,Shell脚本可以作为连接传统命令行工具和现代人工智能应用之间的桥梁。虽然Shell本身不是专为机器学习设计的语言,但通过调用外部程序和服务,能够实现一些简单的AI功能。 #### 使用Python进行图像识别并返回结果至Shell 考虑到Python拥有强大的库支持如TensorFlow、PyTorch等,在Shell脚本中可以通过`subprocess`模块或者直接执行Python脚本来完成特定的任务。下面是一个利用预训练模型对图片分类的例子: ```bash #!/bin/bash # 定义变量存储待处理图片路径 IMAGE_PATH="$1" # 执行Python脚本传递参数 python3 <<EOF import sys from tensorflow.keras.applications.resnet50 import ResNet50, preprocess_input, decode_predictions from tensorflow.keras.preprocessing import image import numpy as np def predict_image(img_path): model = ResNet50(weights='imagenet') img = image.load_img(img_path, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) preds = model.predict(x) decoded_preds = decode_predictions(preds, top=3)[0] for entry in decoded_preds: print(f"{entry[1]} ({round(entry[2]*100,2)}%)") predict_image(sys.argv[1]) EOF ``` 此段代码展示了如何在一个Bash脚本里嵌入Python逻辑来加载ResNet50模型并对给定的图片做出预测[^2]。 #### 自动化数据收集过程 对于某些应用场景而言,可能需要定期抓取网络上的公开数据集供后续分析使用。这里给出一个简单例子说明怎样编写定时任务去下载MNIST手写数字数据库: ```bash #!/bin/bash cd /path/to/save/dataset || exit wget http://yann.lecun.com/exdb/mnist/train-idx3-ubyte.gz ``` 上述脚本可以在crontab中设置成周期性任务自动运行,从而保持本地副本最新[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值