资源简介

初学神经网络,网上下载了好多猫狗分类的代码都是各种问题,最大的就是版本不兼容,代码有问题。这里我放一个已经调试好的,并且给出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.xml
     文件         294  2020-12-16 17:45  cat_dog\.idea\misc.xml
     文件         273  2020-12-16 17:45  cat_dog\.idea\modules.xml
     文件        7736  2020-12-16 19:30  cat_dog\.idea\workspace.xml
     文件        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个文件信息

评论

共有 条评论