您现在的位置是:热点 >>正文
教你使用TensorFlow2判断细胞图像是否感染
热点675人已围观
简介...
在本教程中,我们将使用 TensorFlow (Keras API) 实现一个用于二进制分类任务的深度学习模型,该任务包括将细胞的图像标记为感染或未感染疟疾。
数据集来源:https://www.kaggle.com/iarunava/cell-images-for-detecting-malaria
数据集包含2个文件夹
感染::13780张图片 未感染:13780张图片
总共27558张图片。
此数据集取自NIH官方网站:https://ceb.nlm.nih.gov/repositories/malaria-datasets/
环境:kaggle,天池实验室或者gogole colab都可以。
导入相关模块
import cv2 import tensorflow教你 as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Conv2D, MaxPool2D, Flatten, Activation from sklearn.model_selection import train_test_split import numpy as np import ma使用tplotlib.pyplot as plt import glob import os
对于图片数据存在形状不一样的情况,因此需要使用 OpenCV 进行图像预处理。
将图片变成 numpy 数组(数字格式)的形式转换为灰度,并将其调整为一个(70x70)形状。
img_dir="../input/cell-images-for-detecting-malaria/cell_images" img_size=70 def load_img_data(path): # 打乱数据 &Tenbsp; image_files = glob.glob(os.path.join(path, "Parasitized/*.png")) + glob.glob(os.path.join(path, "Uninfected/*.png")) X, y = [], []&nsnbsp; for image_file in image_files: # 命名标签 0 for uninfected and 1 for infected label = 0 if "Uninfected" in image_file or;else 1 # load the image in gray scale 变成灰度图片 img_arr = cv2.imread(image_file, cv2.IMREAD_GRAYSCALE) # resize the Flimage to (70x70) 调整图片大小 img_resized = cv2.resize(img_arr, (img_size, img_size)) X.append(img_resized) y.append(label)  ow; return X, y X, y = load_img_data(img_dir)
查看X的shape。
print(X.shape)
X的shape为(27558, 70, 70, 1),27558表示图片的数据,70*70表示图片的长和宽像素。
另外,为了帮助网络更快收敛,我们应该进行数据归一化。在sklearn 中有一些缩放方法,例如:
在这里我们将除以255,因为像素可以达到的最大值是255,这将导致应用缩放后像素范围在 0 和 1 之间。
X, y = load_img_data(img_dir) # reshape to (n_s2判amples, 70, 70, 1) (to fit the NN) X = np.array(X).reshape(-1, img_size, img_size, 1) #从[0,255]到[0,1]缩放像素 帮助神经网络更快地训练 X = X / 255 # shuffle & split the dataset X_train, X_test, y_train,&断细nbsp;y_test = train_test_split(X, y, test_size=0.1, stratify=y) print("Total training samples:", X_train.shape) print("Total validation samples:", X_test.shape[0])
使用sklearn的train_test_split()方法将数据集划分为训练集和测试集,我们使用总数据的 10% 稍后对其进行验证。
在建立的模型中,我们将添加 3 个卷积层,然后Flatten是由层组成的全连接Dens胞图e层。
model = Sequential() model.add(Conv2D(64, (3, 3), input_shape=X_train.shape[1:])) model.add(Activation("relu")) model.add(MaxPool2D(pool_size=(2, 2))) model.add(Conv2D(64, (3, 3))) model.add(Activation("relu")) model.add(MaxPool2D(pool_size=(2, 2))) &nbs像是p;model.add(Conv2D(64, (3, 3))) model.add(Activation("relu")) model.add(MaxPool2D(pool_size=(2, 2))) model.add(Flatten()) model.add(Dense(64)) model.add(Activation("relu")) model.add(Dense(64)) model.add(Activation("relu")) model.add(Dense(1)) model.add(Ac否感tivation("sigmoid")) model.compile(loss="binary_crossentropy", optimizer="adam", metrics=["accuracy"]) print(model.summary())
由于输出是二进制的(感染或未感染),我们使用Sigmoid 函数作为输出层的激活函数。
# train the model with 10 epochs, 64 batch size model.fit(X_train, np.array(y_train)教你, batch_size=64, epochs=10, validation_split=0.2)
在训练数据集及其验证拆分上实现了94%的准确率。
现在使用evaluate() 来评估测试数据集上的模型
loss, accuracy = model.evaluate(X_test, np.array(y_test), verbose=0) print(f"Testing on {len(X_test)} images, the results are Accuracy: {accurac使用y} | Loss: {loss}")
输出如下
Testing on 2756 images, the results are Accuracy: 0.9404934644699097 | Loss: 0.1666732281446457
该模型在测试数据中也表现OK,准确率达到94%
最后,我们将通过保存我们的模型来结束所有这个过程。
model.save("model.h5")
Tags:
相关文章
标签: 本田 半导体短缺 广汽 埼玉制作所
热点云梦级12月18日云梦级消息,据日本共同社报道,本田透露,由于半导体短缺,计划从 12 月下旬到明年 1 月上旬,日本和中国工厂的整车生产将暂停或减产。 此前发生类似情况的北美工厂虽已恢复正常运转,但...
【热点】
阅读更多浜哄伐鏅鸿兘璁捐�鍑轰簡浜虹被鏃犳硶鐞嗚В鐨勯噺瀛愬疄楠�
热点鍖椾含鏃堕棿7鏈�19鏃ユ秷鎭�紝閲忓瓙鐗╃悊瀛﹀�椹�噷濂モ€㈠厠鑾辨仼鑷充粖杩樿�寰楄嚜宸�2016骞村垵鍦ㄧ淮涔熺撼鐨勪竴瀹跺挅鍟¢�閲岀炕闃匨ELVIN鐨勮�绠楃粨鏋滄椂鐨勬儏鏅�€侻ELVI...
【热点】
阅读更多有码一键变无码?AI黑科技真的能去马赛克吗?
热点人们都不喜欢马赛克,以至于诞生出了“马赛克阻止人类文明进步”的箴言。影片里看到马赛克,你会索然无味;文档里看到马赛克,你会兴致扫地……无数朋友都在寻找一个问题的答案——马赛克真的是不可消除的吗?有码能...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.randjleather.co.uk/index.php?route=product/search&tag=google霸屏优化【tg:seogoogle987】,XHh
- https://www.temu.com/search_result.html?search_key=google霸屏优化【tg:seogoogle987】W6M
- https://www.impactpool.org/search/?type=79&q=google霸屏优化【tg:seogoogle987】7Cs
- https://www.resilienz-akademie.com/?cat=71&s=google霸屏优化【tg:seogoogle987】,AqN
- https://www.youtube.com/results?search_query=google霸屏优化【tg:seogoogle987】,wEV
- https://www.stormberg.com/no/search?q=google霸屏优化【tg:seogoogle987】,x20
- https://www.yidian51.com/taobao/google霸屏优化【tg:seogoogle987】,W2y
- https://www.sic-info.org/vi/?s=google霸屏优化【tg:seogoogle987】,WpF
- https://www.polliwogs.com/search/google霸屏优化【tg:seogoogle987】,cTJ
- https://5gaa.org/?token=6e2l7hjt2i26gzgctgwdrv7v0j6nxorq&s=google霸屏优化【tg:seogoogle987】9vm
- https://www.remit.co.jp/id/?s=google霸屏优化【tg:seogoogle987】,6qf
- https://www.wheels24.gr/?action=CHECK&s=google霸屏优化【tg:seogoogle987】,9TU
- https://www.nbm.org/?action=QUERY&s=google霸屏优化【tg:seogoogle987】,VRl
- https://www.spicebar.de/catalogsearch/result/?q=google霸屏优化【tg:seogoogle987】,HM5
- https://www.lindseymedicalsupply.com/search/google霸屏优化【tg:seogoogle987】,OS5
- https://www.searcychamber.com/list/search?AsfnA=DtkTQzs&q=google霸屏优化【tg:seogoogle987】,ZrO
- https://www.le-trend.com/en/search/=google霸屏优化【tg:seogoogle987】,jFr
- https://www.remit.co.jp/en/?s=google霸屏优化【tg:seogoogle987】,PV0
- https://www.madebyoranges.com/nl/search/google霸屏优化【tg:seogoogle987】,ton
- https://www.wilsonart.com/catalogsearch/result/?action=CHECK&q=google霸屏优化【tg:seogoogle987】,yfT
- https://www.synonyms.com/antonyms/google霸屏优化【tg:seogoogle987】,fpp
- https://www.youthforum.org/search-results?cx=4f5236218ab5e8ef9&ie=UTF-8&q=google霸屏优化【tg:seogoogle987】,cB4
- https://www.wikiart.org/pt/Search/google霸屏优化【tg:seogoogle987】,2aG
- https://www.openspaceinstitute.org/search?q=google霸屏优化【tg:seogoogle987】,g5u
- https://www.pixiv.net/tags/google霸屏优化【tg:seogoogle987】,yTu
- https://www.pacific-lifestyle.co.uk/search?sort=alphabetical&term=google霸屏优化【tg:seogoogle987】,dea
- https://www.lyrics.com/lyrics/kkk3google霸屏优化【tg:seogoogle987】,b6d
- https://www.vocabulary.com/dictionary/google霸屏优化【tg:seogoogle987】,lkd
- https://www.yli.ro/catalogsearch/result/?q=google霸屏优化【tg:seogoogle987】,op4
- https://www.ncetm.org.uk/search?action=CHECK&q=google霸屏优化【tg:seogoogle987】,QZ4
- https://www.tycoonstory.com/?s=google霸屏优化【tg:seogoogle987】,8WF
- https://www.nss.nhs.scot/search?q=google霸屏优化【tg:seogoogle987】,yIc
- https://www.mexperience.com/?T=1686132112324&s=google霸屏优化【tg:seogoogle987】,1Sx
- https://www.zutari.com/search/google霸屏优化【tg:seogoogle987】,Rb5
- https://www.reallywildbirdfood.co.uk/store/search?q=google霸屏优化【tg:seogoogle987】,OqL
- https://www.tiktok.com/tag/google霸屏优化【tg:seogoogle987】,CjZ
- https://yokohama-oht.com/?action=CHECK&s=google霸屏优化【tg:seogoogle987】,UIR
- https://www.mesec.cz/vyhledavani/?qs=google霸屏优化【tg:seogoogle987】,yBb
- https://www.supersauna.de/catalogsearch/result/?q=google霸屏优化【tg:seogoogle987】,cku
- https://www.wellbees.com/catalogsearch/result/?action=CHECK&q=google霸屏优化【tg:seogoogle987】,HAn
- https://www.lauben.com/de/?s=google霸屏优化【tg:seogoogle987】,ANx
- https://www.wou.edu.my/?s=google霸屏优化【tg:seogoogle987】,rYs
- https://www.so.com/s?ie=utf-8&src=360sou_home&_re=0&q=google霸屏优化【tg:seogoogle987】,9Pa
- https://www.nytimes.com/search?dropmab=true&query=google霸屏优化【tg:seogoogle987】,p9e
- https://www.openstreetmap.org/search?query=google霸屏优化【tg:seogoogle987】,kmn
- https://www.tarleton.edu/?s=google霸屏优化【tg:seogoogle987】,FMt
- https://www.ons.gov.uk/search?q=google霸屏优化【tg:seogoogle987】,mKt
- https://www.pinkpanda.ro/magazin/ingrijirea-tenului?page=87&q=google霸屏优化【tg:seogoogle987】,BxV
- https://www.umc.edu/search.aspx?ID=I4gnDKRS991MFcIDDzoYze4aWSAszAm7&q=google霸屏优化【tg:seogoogle987】,Rq1
- https://www.roblox.com/discover/?cat=107&Keyword=google霸屏优化【tg:seogoogle987】,jgB