资源简介
初学神经网络,网上下载了好多猫狗分类的代码都是各种问题,最大的就是版本不兼容,代码有问题。这里我放一个已经调试好的,并且给出tensorflow版本和keras与python的版本,后来的小伙伴就可以不用踩坑了、
里面内置了一个小小的测试库,猫狗分类全库太大,只取了十几张。需要的可以去官网下载。
tensorflow==2.2 keras==2.4.2 Python==3.8 cuda==10.1 显卡:GTX1650 Win10 Pytharm社区版
代码片段和文件信息
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL‘] = ‘2‘
import numpy as np
from keras import callbacks
from keras.models import Sequential model_from_yaml load_model
from keras.layers import Dense Conv2D Flatten Dropout MaxPool2D
from keras.optimizers import Adam SGD RMSprop
from keras.preprocessing import image
from keras.utils import np_utils plot_model
from sklearn.model_selection import train_test_split
from keras.applications.resnet50 import preprocess_input decode_predictions
import datetime
import random
os.environ[“CUDA_VISIBLE_DEVICES“] = “0“
# gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.9)
# tf.ConfigProto(gpu_options=gpu_options)
import tensorflow as tf
#from keras.backend.tensorflow_backend import set_session
from tensorflow.python.keras.backend import set_session
set_session
#from tensorflow.compat.v1.keras.backend import set_session
tf.compat.v1.disable_eager_execution()
# config = tf.ConfigProto()
#config = tf.ConfigProto(allow_soft_placement=True)
config = tf.compat.v1.ConfigProto(allow_soft_placement=True)
config.gpu_options.allocator_type = ‘BFC‘ #A “Best-fit with coalescing“ algorithm simplified from a version of dlmalloc.
config.gpu_options.per_process_gpu_memory_fraction = 0.4
config.gpu_options.allow_growth = True
set_session(tf.compat.v1.Session(config=config))
# config = tf.ConfigProto(allow_soft_placement=True)
# 最多占gpu资源的70%
# gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
# 开始不会给tensorflow全部gpu资源 而是按需增加
# config.gpu_options.allow_growth = True
# sess = tf.Session(config=config)
np.random.seed(7)
img_h img_w = 150 150
image_size = (150 150)
# nbatch_size = 256
nbatch_size = 12
nepochs = 48
nb_classes = 2
npy_size = 2000
def img2npy():
train_idx = 2
npy_idx = 2
path = ‘.//Dataset//kaggle_cats_dogs//train6000/‘
files = os.listdir(path)
print(“shuffle ing...“ )
random.shuffle(files)
images = []
labels = []
print(“npy generating ...“ )
for f in files:
train_idx = train_idx +1
img_path = path + f
img = image.load_img(img_path target_size=image_size)
img_array = image.img_to_array(img)
images.append(img_array)
if ‘cat‘ in f:
labels.append(0)
else:
labels.append(1)
if train_idx % npy_size == 0 and train_idx or train_idx == len(files):
print(“train_idx = “ + str(train_idx) +“;total = “ + str(len(files)))
data = np.array(images)
labels = np.array(labels)
labels = np_utils.to_categorical(labels 2)
np.save(‘./Dataset/data_{}.npy‘.format(npy_idx) data)
np.save(‘./Dataset/labels_{}.npy‘.format(npy_idx) labels)
images = []
labels = []
npy_idx = npy_idx + 1
print(“preprocessing training data done.“ )
# return data labels
def t
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-12-16 18:56 cat_dog\
目录 0 2020-12-16 19:30 cat_dog\.idea\
文件 452 2020-12-16 17:45 cat_dog\.idea\cat_dog.iml
目录 0 2020-12-16 17:45 cat_dog\.idea\inspectionProfiles\
文件 174 2020-12-16 17:45 cat_dog\.idea\inspectionProfiles\profiles_settings.xm
文件 294 2020-12-16 17:45 cat_dog\.idea\misc.xm
文件 273 2020-12-16 17:45 cat_dog\.idea\modules.xm
文件 7736 2020-12-16 19:30 cat_dog\.idea\workspace.xm
文件 6666 2020-12-16 18:56 cat_dog\cat_dog.py
目录 0 2020-12-16 18:47 cat_dog\Dataset\
文件 6210128 2020-12-16 18:41 cat_dog\Dataset\data_0.npy
文件 5940128 2020-12-16 18:47 cat_dog\Dataset\data_1.npy
文件 5670128 2020-12-16 18:47 cat_dog\Dataset\data_2.npy
目录 0 2019-04-17 12:47 cat_dog\Dataset\kaggle_cats_dogs\
目录 0 2019-04-17 12:47 cat_dog\Dataset\kaggle_cats_dogs\train6000\
文件 12414 2013-09-20 10:05 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.0.jpg
文件 16880 2013-09-20 10:05 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.1.jpg
文件 34315 2013-09-20 10:05 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.10.jpg
文件 24692 2013-09-20 10:07 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.2.jpg
文件 37971 2013-09-20 10:08 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.3.jpg
文件 20625 2013-09-20 10:08 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.4.jpg
文件 5382 2013-09-20 10:09 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.5.jpg
文件 21413 2013-09-20 10:10 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.6.jpg
文件 36934 2013-09-20 10:10 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.7.jpg
文件 23081 2013-09-20 10:11 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.8.jpg
文件 16220 2013-09-20 10:11 cat_dog\Dataset\kaggle_cats_dogs\train6000\cat.9.jpg
文件 21632 2013-09-20 10:00 cat_dog\Dataset\kaggle_cats_dogs\train6000\dog.1669.jpg
文件 26097 2013-09-20 10:00 cat_dog\Dataset\kaggle_cats_dogs\train6000\dog.1670.jpg
文件 40747 2013-09-20 10:00 cat_dog\Dataset\kaggle_cats_dogs\train6000\dog.1671.jpg
文件 36640 2013-09-20 10:00 cat_dog\Dataset\kaggle_cats_dogs\train6000\dog.1672.jpg
文件 23094 2013-09-20 10:00 cat_dog\Dataset\kaggle_cats_dogs\train6000\dog.1673.jpg
............此处省略49个文件信息
评论
共有 条评论