Tensorflow models 使用官方神经网路模型训练自己的数据

部署运行你感兴趣的模型镜像

官方连接

Tensorflow models 使用官方神经网路模型训练自己的数据

Mobilennet使用方法

Tensorflow models公式library neural network来训练自己的模型
開発環境
Anacoda3
Python 3.6
Pip 19.3.1
cudatoolkit 10.1.243
cudnn 7.6.5
tensorflow-gpu 1.14.0

TensorFlow Research Models为研究开发模型公开募集的项目
在github上models/research/的研究项目里
Frameworks / APIs with Models
Maintainer(s)  sguada, nathansilberman来管理管理范围下记

slimTensorFlow-Slim Image Classification Model LibraryA lightweight high-level API of TensorFlow for defining, training and evaluating image classification models• Inception V1/V2/V3/V4• Inception-ResNet-v2• ResNet V1/V2• VGG 16/19• MobileNet V1/V2/V3• NASNet-A_Mobile/Large• PNASNet-5_Large/Mobile

训练详细可根据官方网站来进行调整

TFRecord训练数据做成

本人使用food101的公开数据集根据个人喜好更改数据集即可

Slim/
Datasets/ 
文件夹下
	download_and_convert_flowers.py
复制文件重新命名保存
cp download_and_convert_flowers.py convert_food101.py
source修正

1.
# The number of images in the validation set. 
_NUM_VALIDATION = 350
 
# Seed for repeatability. 
_RANDOM_SEED = 0
 
# The number of shards per dataset split.  
_NUM_SHARDS = 5
2. # 把数据集换成自己的
 flower_root = os.path.join(dataset_dir, 'food101')
3. # 数据保存名字也换成自己的
def _get_dataset_filename(dataset_dir, split_name, shard_id):
  output_filename = 'food101_%s_%05d-of-%05d.tfrecord' % (
      split_name, shard_id, _NUM_SHARDS)
  return os.path.join(dataset_dir, output_filename)
4. 
# 数据再次下载已经没有必要comment out
#dataset_utils.download_and_uncompress_tarball(_DATA_URL, dataset_dir)
photo_filenames, class_names = _get_filenames_and_classes(dataset_dir)
class_names_to_ids = dict(zip(class_names, range(len(class_names)))
5.
#这一行是输出后会删除原始数据一定要comment out
#_clean_up_temporary_files(dataset_dir)
  print('\nFinished converting the Fruits dataset!')

回到下面文件夹下更改文件
Slim/
	download_and_convert_data.py


#追加
from datasets import convert_food101

#追加

elif FLAGS.dataset_name == 'food101':
  download_and_convert_mnist.run(FLAGS.dataset_dir)

制作Shell脚本 perform.sh

python download_and_convert_data.py \
--dataset_name=food101 \
--dataset_dir=/food101/ #自己的数据保存地址

実行
Sh perform.sh
执行完成后会自动保存在下面文件夹内
/food101/
TFRecord的格式

訓練

Slim/
	Datasets/
			flowers.py
flowers.py文件复制重命名保存为food101.py
更改food101.py的数据

#改为自己的数据集
_FILE_PATTERN = 'food101_%s_*.tfrecord'

#需要训练和测试的图像数我的总数居是4000
SPLITS_TO_SIZES = {'train': 3000, 'validation': 1000}

#我只训练food101中的4个分类
_NUM_CLASSES = 4

Slim/
	Datasets/
			dataset_factory.py
更改文件dataset_factory.py
#追加
from datasets import food101

#追加
datasets_map = {
    'cifar10': cifar10,
    'flowers': flowers,
    'imagenet': imagenet,
    'mnist': mnist,
    'visualwakewords': visualwakewords,
    'food101': food101,
}

Shell脚本作成 perform_train.sh
export TF_FORCE_GPU_ALLOW_GROWTH=true
python train_image_classifier.py \
--train_dir=./my_save_model/food101-models/mobilenet_v2_140_02 \
--dataset_name=food101 \
--dataset_split_name=train \
--dataset_dir=datasets/record/ \
--model_name=mobilenet_v2_140 \
--max_number_of_steps=60000 \
--preprocessing_name="mobilenet_v2_140" \
--learning_rate=0.045 \
--label_smoothing=0 \
--moving_average_decay=0.9999 \
--batch_size=20  \
--num_clones=1  \
--learning_rate_decay_factor=0.98 \
--num_epochs_per_decay=2.5

実行
Sh perform_train.sh #訓練開始

好了数据可以训练了
我用的是mobilenet_v2_140模型来进行训练大家可以改为自己喜欢的模型

后续会陆续更新
如有错误还希望大家指正

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值