資源簡介
初學(xué)神經(jīng)網(wǎng)絡(luò),網(wǎng)上下載了好多貓狗分類的代碼都是各種問題,最大的就是版本不兼容,代碼有問題。這里我放一個已經(jīng)調(diào)試好的,并且給出tensorflow版本和keras與python的版本,后來的小伙伴就可以不用踩坑了、
里面內(nèi)置了一個小小的測試庫,貓狗分類全庫太大,只取了十幾張。需要的可以去官網(wǎng)下載。
tensorflow==2.2 keras==2.4.2 Python==3.8 cuda==10.1 顯卡:GTX1650 Win10 Pytharm社區(qū)版
代碼片段和文件信息
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個文件信息
評論
共有 條評論