get_mnist.sh学习

目录

第一行脚本解释器

第二行注释

第三行符号用法

第八行if用法


这是caffe里面,下载mnist数据集用到的脚本,在此记录下,也当学习一下shell,如下是脚本内容,为后续方便,添加了行号。

 

#!/usr/bin/env sh
# This scripts downloads the mnist data and unzips it.
DIR="$( cd "$(dirname "$0")" ; pwd -P )"
cd "$DIR"
echo "Downloading..."
for fname in train-images-idx3-ubyte train-labels-idx1-ubyte t10k-images-idx3-ubyte t10k-labels-idx1-ubyte
do
    if [ ! -e $fname ]; then
        wget --no-check-certificate http://yann.lecun.com/exdb/mnist/${fname}.gz
        gunzip ${fname}.gz
    fi
done

第一行脚本解释器

#!/usr/bin/env sh

第一行指定用到的脚本解释器(菜鸟教程),Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux 的 Shell 种类众多,常见的有:

  • Bourne Shell(/usr/bin/sh或/bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh)
  • ……

#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。

第二行注释

前面加了#号,是注释,这里这行注释描述了本脚本的功能

第三行符号用法

在读第三行之前,需要知道两个基本用法:

  • 双引号中$ / " '这四个符号为特殊符号,其它符号作为普通字符处理。其中$表示变量
  • $(cmd)意为执行cmd,之前也写作``

第三行是获取脚本路径的常用语句,具体参考了https://blog.csdn.net/u012336923/article/details/50312741

3. DIR="$( cd "$(dirname "$0")" ; pwd -P )"

从中间往外看:

最中间$0表示添加到shell的第0个参数,也就是shell自身的名称。如该脚本中,我输出$0,则值为get_mnist.sh,注意是带后缀的~

dirname "$0"获取该脚本所在目录,如果现在就在这个目录,会输出.

cd "$(dirname "$0")"表示进入脚本所在目录

$(cd "$(dirname "$0")" ; pwd -P )如前面所说$(cmd)意为执行cmd,这里分号分割开,说明是执行两句,分别是进入脚本目录和获取脚本目录的路径,pwd -P表示屏蔽符号连接,获取物理路径。所以$(cd "$(dirname "$0")" ; pwd -P )为进入脚本路径,并获取脚本所在物理路径。

DIR="$( cd "$(dirname "$0")" ; pwd -P )",将脚本路径赋值给DIR

为了验证如上说法,我写了个test脚本

#!/usr/bin/env sh
# This is for test!

echo "$0"
echo "$(dirname "$0")"
DIR="$( cd "$(dirname "$0")" ; pwd -P )"
echo "$DIR"

运行后的输出分别是

test.sh
.
/Users/tiantian/caffe/data/mnist

第八行if用法

if [ ! -e $fname ]; then
        wget --no-check-certificate http://yann.lecun.com/exdb/mnist/${fname}.gz
        gunzip ${fname}.gz
fi

-e $fname 如果fname存在则为真,前面加了叹号则反过来。也就是如果fname存在,则为假,执行then后面的语句,下载gz包,并解压

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
chinese_mnist.csv 是一个数据集文件,其中包含了用于手写汉字识别的数据。这个数据集是基于MNIST数据集扩展的,MNIST数据集常用于手写数字识别研究。而chinese_mnist.csv则是用来进行手写汉字识别的研究。 该数据集包含了一系列手写汉字的图像数据和对应标签。图像数据以像素值的形式表示,每个图像都是28x28像素。而标签则是对应每个图像所代表的汉字的Unicode码。Unicode码是一种国际编码标准,它为每个字符都分配了一个唯一的数值。 通过使用这个数据集,研究人员可以训练机器学习模型来对手写汉字进行自动识别。他们可以使用图像数据进行训练,并输入对应的Unicode码作为标签。随后,他们可以通过这些训练好的模型来预测新的手写汉字。 使用这个数据集进行手写汉字识别的研究可以有多个应用。例如,它可以应用于自动识别手写汉字的输入法,提高输入准确性。此外,它还可以应用于汉字字符识别的自动化检测系统,如在自动识别身份证上的姓名、地址等信息。这些都是基于手写汉字识别的技术应用的重要方向。 总之,chinese_mnist.csv是一个用于手写汉字识别研究的数据集文件,包含手写汉字的图像数据和对应的标签。通过这个数据集,研究人员可以训练机器学习模型来实现自动识别手写汉字,从而应用于各种领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值