当前位置: 首页 > news >正文

印刷厂网站模板在线图片编辑尺寸大小

印刷厂网站模板,在线图片编辑尺寸大小,什么是网络营销的重要组成部分,广州网站建设开发设计什么是深度学习#xff1f; 作为对机器学习的一种深入方法#xff0c;深度学习受到了人类大脑和其生物神经网络的启发。它包括深层神经网络、递归神经网络、卷积神经网络和深度信念网络等架构#xff0c;这些架构由多层组成#xff0c;数据必须通过这些层才能最终产生输出。… 什么是深度学习 作为对机器学习的一种深入方法深度学习受到了人类大脑和其生物神经网络的启发。它包括深层神经网络、递归神经网络、卷积神经网络和深度信念网络等架构这些架构由多层组成数据必须通过这些层才能最终产生输出。深度学习旨在改进人工智能并使许多应用成为可能它被应用于计算机视觉、语音识别、自然语言处理、音频识别和药物设计等多个领域。 什么是 Keras Keras 是一个用 Python 编写的开源神经网络库。它是一个高级 API并可以在 TensorFlow、CNTK 和 Theano 上运行。Keras 专注于支持快速实验和原型设计同时在 CPU 和 GPU 上无缝运行。它用户友好、模块化且可扩展。 乳腺癌分类 – 目标 我们将在一个 IDC 数据集上构建一个乳腺癌分类器可以准确地将组织学图像分类为良性或恶性。 关于 Python 项目 – 乳腺癌分类 在这个 Python 项目中我们将构建一个分类器以 80% 的乳腺癌组织学图像数据集进行训练。其中我们将保留 10% 的数据用于验证。使用 Keras我们将定义一个 CNN卷积神经网络并将其命名为 CancerNet然后在我们的图像上进行训练。最后我们将构建一个混淆矩阵来分析模型的性能。 IDC 是浸润性导管癌这是一种在乳管中开始并在管外侵犯乳腺纤维或脂肪组织的癌症它是最常见的乳腺癌形式占所有乳腺癌诊断的 80%。而组织学是研究组织微观结构的学科。 数据集 我们将使用来自 Kaggle 的 IDC_regular 数据集乳腺癌组织学图像数据集。这个数据集包含从 162 份乳腺癌整体装片扫描图像中提取的 277524 个 50x50 尺寸的图像块。其中有 198738 个测试结果为 IDC 阴性78786 个测试结果为 IDC 阳性。数据集公开发布你可以在这里下载。为此你需要至少 3.02GB 的磁盘空间。 此数据集中的文件名如下 8863_idx5_x451_y1451_class0 这里8863_idx5 是患者编号451 和 1451 是裁剪图像的 x 和 y 坐标0 是类别标签0 表示 IDC 缺失。 链接: 基于深度学习的乳腺癌分类 源代码与数据集 前提条件 你需要安装一些 Python 包才能运行这个高级 Python 项目。你可以使用 pip 安装 pip install numpy opencv-python pillow tensorflow keras imutils scikit-learn matplotlib高级 Python 项目 – 乳腺癌分类的步骤 下载压缩包。在你选择的位置解压缩它并进入该位置。 乳腺癌检测 Python 项目 现在在内部的 breast-cancer-classification 目录中创建目录 datasets- 在此目录下创建目录 original: mkdir datasets mkdir datasets\original下载数据集。 在 original 目录中解压缩数据集。为了观察该目录的结构我们将使用 tree 命令 cd breast-cancer-classification\breast-cancer-classification\datasets\original tree项目中的原始结构 我们为每个患者编号有一个目录。在每个这样的目录中我们有存放良性和恶性图像的 0 和 1 目录。 config.py: 这里包含了一些我们构建数据集和训练模型时所需的配置。你可以在 cancernet 目录中找到它。 import os INPUT_DATASET datasets/original BASE_PATH datasets/idc TRAIN_PATH os.path.sep.join([BASE_PATH, training]) VAL_PATH os.path.sep.join([BASE_PATH, validation]) TEST_PATH os.path.sep.join([BASE_PATH, testing]) TRAIN_SPLIT 0.8 VAL_SPLIT 0.1在这里我们声明了原始数据集的路径datasets/original新目录的路径datasets/idc以及使用基本路径声明的训练、验证和测试目录的路径。我们还声明 80% 的整个数据集将用于训练而其中的 10% 将用于验证。 build_dataset.py: 此脚本将根据上述比例将数据集分割为训练集、验证集和测试集- 80% 用于训练其中 10% 用于验证20% 用于测试。使用 Keras 的 ImageDataGenerator我们将提取图像批处理以避免一次性将整个数据集加载到内存中。 from cancernet import config from imutils import paths import random, shutil, os originalPathslist(paths.list_images(config.INPUT_DATASET)) random.seed(7) random.shuffle(originalPaths) indexint(len(originalPaths)*config.TRAIN_SPLIT) trainPathsoriginalPaths[:index] testPathsoriginalPaths[index:] indexint(len(trainPaths)*config.VAL_SPLIT) valPathstrainPaths[:index] trainPathstrainPaths[index:] datasets[(training, trainPaths, config.TRAIN_PATH),(validation, valPaths, config.VAL_PATH),(testing, testPaths, config.TEST_PATH) ] for (setType, originalPaths, basePath) in datasets:print(fBuilding {setType} set)if not os.path.exists(basePath):print(fBuilding directory {basePath})os.makedirs(basePath)for path in originalPaths:filepath.split(os.path.sep)[-1]labelfile[-5:-4]labelPathos.path.sep.join([basePath,label])if not os.path.exists(labelPath):print(fBuilding directory {labelPath})os.makedirs(labelPath)newPathos.path.sep.join([labelPath, file])shutil.copy2(path, newPath)机器学习 Python 项目 在此脚本中我们将从 config、imutils、random、shutil 和 os 导入。我们构建一个原始图像路径的列表然后将列表打乱。接着我们通过将列表长度乘以 0.8 来计算索引以便可以截取该列表以创建训练和测试数据集的子列表。然后我们进一步计算索引将训练数据集的 10% 用于验证剩下的用于训练自己。 现在datasets 是一个包含训练集、验证集和测试集信息的列表。这些信息包括路径和基本路径。对于此列表中的每个 set 类型、路径和基本路径我们将打印如‘构建测试集’。如果基本路径不存在我们将创建目录。对于 originalPaths 中的每个路径我们将提取文件名和类别标签。然后我们将构建标签目录0 或 1的路径-如果它还不存在我们将明确创建该目录。现在我们将构建目标图像的路径并将其复制到这里-它所属的位置。 运行脚本 build_dataset.py py build_dataset.py构建数据集 cancernet.py: 我们将构建的网络是一个 CNN卷积神经网络并命名为 CancerNet。该网络执行以下操作 使用 3x3 CONV 滤波器将这些滤波器堆叠在一起执行最大池化使用深度分离卷积更高效占用较少内存 from keras.models import Sequential from keras.layers.normalization import BatchNormalization from keras.layers.convolutional import SeparableConv2D from keras.layers.convolutional import MaxPooling2D from keras.layers.core import Activation from keras.layers.core import Flatten from keras.layers.core import Dropout from keras.layers.core import Dense from keras import backend as K class CancerNet:staticmethoddef build(width,height,depth,classes):modelSequential()shape(height,width,depth)channelDim-1if K.image_data_format()channels_first:shape(depth,height,width)channelDim1model.add(SeparableConv2D(32, (3,3), paddingsame,input_shapeshape))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(MaxPooling2D(pool_size(2,2)))model.add(Dropout(0.25))model.add(SeparableConv2D(64, (3,3), paddingsame))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(SeparableConv2D(64, (3,3), paddingsame))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(MaxPooling2D(pool_size(2,2)))model.add(Dropout(0.25))model.add(SeparableConv2D(128, (3,3), paddingsame))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(SeparableConv2D(128, (3,3), paddingsame))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(SeparableConv2D(128, (3,3), paddingsame))model.add(Activation(relu))model.add(BatchNormalization(axischannelDim))model.add(MaxPooling2D(pool_size(2,2)))model.add(Dropout(0.25))model.add(Flatten())model.add(Dense(256))model.add(Activation(relu))model.add(BatchNormalization())model.add(Dropout(0.5))model.add(Dense(classes))model.add(Activation(softmax))return model在本脚本中我们使用 Sequential API 构建 CancerNet并使用 SeparableConv2D 实现深度卷积。CancerNet 类有一个静态方法 build它接受四个参数- 图像的宽度和高度、深度每个图像的颜色通道数以及网络将在其间预测的类别数对于我们来说这一数字为 20 和 1。 在此方法中我们初始化 model 和 shape。使用 channels_first 时我们更新 shape 和通道维度。 现在我们将定义三个 DEPTHWISE_CONV RELU POOL 层每一层都有更高的堆叠和更多的滤波器。softmax 分类器输出每个类别的预测百分比。最后我们返回模型。 train_model.py: 此脚本用于训练和评估我们的模型。在这里我们将从 keras、sklearn、cancernet、config、imutils、matplotlib、numpy 和 os 导入。 import matplotlib matplotlib.use(Agg) from keras.preprocessing.image import ImageDataGenerator from keras.callbacks import LearningRateScheduler from keras.optimizers import Adagrad from keras.utils import np_utils from sklearn.metrics import classification_report from sklearn.metrics import confusion_matrix from cancernet.cancernet import CancerNet from cancernet import config from imutils import paths import matplotlib.pyplot as plt import numpy as np import os NUM_EPOCHS40; INIT_LR1e-2; BS32 trainPathslist(paths.list_images(config.TRAIN_PATH)) lenTrainlen(trainPaths) lenVallen(list(paths.list_images(config.VAL_PATH))) lenTestlen(list(paths.list_images(config.TEST_PATH))) trainLabels[int(p.split(os.path.sep)[-2]) for p in trainPaths] trainLabelsnp_utils.to_categorical(trainLabels) classTotalstrainLabels.sum(axis0) classWeightclassTotals.max()/classTotals trainAug ImageDataGenerator(rescale1/255.0,rotation_range20,zoom_range0.05,width_shift_range0.1,height_shift_range0.1,shear_range0.05,horizontal_flipTrue,vertical_flipTrue,fill_modenearest) valAugImageDataGenerator(rescale1 / 255.0) trainGen trainAug.flow_from_directory(config.TRAIN_PATH,class_modecategorical,target_size(48,48),color_modergb,shuffleTrue,batch_sizeBS) valGen valAug.flow_from_directory(config.VAL_PATH,class_modecategorical,target_size(48,48),color_modergb,shuffleFalse,batch_sizeBS) testGen valAug.flow_from_directory(config.TEST_PATH,class_modecategorical,target_size(48,48),color_modergb,shuffleFalse,batch_sizeBS) modelCancerNet.build(width48,height48,depth3,classes2) optAdagrad(lrINIT_LR,decayINIT_LR/NUM_EPOCHS) model.compile(lossbinary_crossentropy,optimizeropt,metrics[accuracy]) Mmodel.fit_generator(trainGen,steps_per_epochlenTrain//BS,validation_datavalGen,validation_stepslenVal//BS,class_weightclassWeight,epochsNUM_EPOCHS) print(Now evaluating the model) testGen.reset() pred_indicesmodel.predict_generator(testGen,steps(lenTest//BS)1) pred_indicesnp.argmax(pred_indices,axis1) print(classification_report(testGen.classes, pred_indices, target_namestestGen.class_indices.keys())) cmconfusion_matrix(testGen.classes,pred_indices) totalsum(sum(cm)) accuracy(cm[0,0]cm[1,1])/total specificitycm[1,1]/(cm[1,0]cm[1,1]) sensitivitycm[0,0]/(cm[0,0]cm[0,1]) print(cm) print(fAccuracy: {accuracy}) print(fSpecificity: {specificity}) print(fSensitivity: {sensitivity}) N NUM_EPOCHS plt.style.use(ggplot) plt.figure() plt.plot(np.arange(0,N), M.history[loss], labeltrain_loss) plt.plot(np.arange(0,N), M.history[val_loss], labelval_loss) plt.plot(np.arange(0,N), M.history[acc], labeltrain_acc) plt.plot(np.arange(0,N), M.history[val_acc], labelval_acc) plt.title(Training Loss and Accuracy on the IDC Dataset) plt.xlabel(Epoch No.) plt.ylabel(Loss/Accuracy) plt.legend(loclower left) plt.savefig(plot.png)总结 在这个 Python 项目中我们学习了如何使用 IDC 数据集浸润性导管癌的组织学图像构建一个乳腺癌分类器并为此创建了 CancerNet 网络。我们使用 Keras 实现了这一点。希望你喜欢这个 Python 项目。 参考资料 资料名称链接Kaggle IDC 数据集链接Keras 文档链接TensorFlow 官方文档链接Python for Data Science Handbook链接PyImageSearch 深度学习教程链接《深度学习》 - Ian Goodfellow链接Medium 深度学习文章链接DataFlair Python 项目链接《利用深度学习对抗癌症》 -.scalatest链接维基百科 - 乳腺癌链接中国深度学习社区链接深度学习读书会链接Deep Learning Book by Yoshua Bengio链接 关于数据集 背景 浸润性导管癌IDC是所有乳腺癌中最常见的亚型。为了对整个组织样本进行侵袭性分级病理学家通常专注于包含 IDC 的区域。因此自动侵袭性分级的常见预处理步骤之一是划定整个组织切片中 IDC 的确切区域。 内容 原始数据集包含 162 张乳腺癌BCa标本的整个组织切片图像扫描倍率为 40 倍。从中提取了 277,524 个大小为 50 x 50 的 patches198,738 个 IDC 阴性78,786 个 IDC 阳性。每个 patch 的文件名格式为u_xX_yY_classC.png —— 例如 10253_idx5_x1351_y1101_class0.png。其中u 是患者 ID10253_idx5X 是该 patch 裁剪位置的 x 坐标Y 是该 patch 裁剪位置的 y 坐标C 表示类别0 为非 IDC1 为 IDC。 致谢 原始文件位于http://gleason.case.edu/webdata/jpi-dl-tutorial/IDC_regular_ps50_idx5.zip 引用文献https://www.ncbi.nlm.nih.gov/pubmed/27563488 和 http://spie.org/Publications/Proceedings/Paper/10.1117/12.2043872 启发 乳腺癌是女性中最常见的癌症形式而浸润性导管癌IDC是乳腺癌中最常见的类型。准确识别和分类乳腺癌亚型是一项重要的临床任务自动化方法可用于节省时间并减少错误。
http://www.w-s-a.com/news/693842/

相关文章:

  • 效果建网站的公凡科网登陆
  • 网站域名续费多少钱在线制作图片软件
  • 济南城乡住房建设厅网站中国会议营销网站
  • 展示类网站cms网站seo方法
  • 莒县做网站的公司设计师网站模版
  • 顺德顺的网站建设备份的网站建设方案书
  • 如何做网站广告山东电商网站建设
  • 新手建什么网站赚钱吗WordPress搜狗不收录
  • 石家庄招聘哪个网站做的好网站设计建设公司服务商
  • 建设公司网站大概需要多少钱建站平台和网站开发的区别
  • 淄川区住房和城乡建设局网站门户网站模板源码下载
  • 室内设计公司 网站建设建站塔山双喜
  • 网站建设属于什么经营范围销售网站开发业务
  • 企业建站系统平台优秀网站作品截图
  • 杭州品牌网站制作wordpress多域名移动主题
  • 北京网站网站建设icp备案 网站备案
  • 长春网站公司哪家好电子商务网站建设作文
  • 网站开发php程序员网上店铺怎么运营
  • mip网站怎么做匹配h5婚纱摄影网站模板
  • 怎么注册建设公司网站域名历史价格查询
  • 爱站网seo工具包互联网软件开发工程师
  • 百度站长工具平台登录郑州seo规则
  • 财税公司做网站精品建站教程
  • 建设区块链网站区块链开发平台有哪些
  • 青年人爱看的网站ie显示wordpress网页不完整
  • 优惠券推广网站怎么做青岛正规网站建设哪家便宜
  • 怎么搞一个服务器建设网站wordpress页眉编辑
  • 计算机企业网站建设论文流量平台是什么意思
  • 成都建设网站公司哪家好上海有名的广告公司
  • 收录优美图片找不到了整站seo优化一般多少钱