{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# [ALASKA2 Image Steganalysis 隐写数据识别](https://www.kaggle.com/competitions/alaska2-image-steganalysis/overview)\n\n**隐写术 Steganography 即在其他非机密文本或数据中隐藏消息或信息的做法。**\n\n\n    “隐写术通常是指允许将信息隐藏在无害的类似封面对象内的技术和方法。生成的隐写对象尽可能类似于原始封面对象。因此，它可以通过可能受到窃听者窃听的不安全通信通道发送。”\n\n* 隐写术意味着可以用于数字水印和数字标记/版权的相同技术在数字图像中隐藏信息。任何人都可以使用它隐藏信息、绕过证券、联系特定的人、发送恶意内容等。\n\n* 如今，由于数字图像在网络上的大量存在，隐写术主要用于数字图像 Internet上，普遍采用的JPEG压缩方案对图像修改，我们希望借助机器学习的方法来对隐写图片进行识别。\n\n**任务描述**\n\n* 在比赛中，您将创建一种高效可靠的方法来检测隐藏在看似无害的数字图像中的秘密数据。这些图像不是限制数据源，而是用多达50种不同的摄像机（从智能手机到全格式高端）采集的，并以不同的方式处理。成功的项目将包括具有最小误报的稳健检测算法。\n\n* 执法人员需要更好的方法来打击使用隐藏信息的犯罪分子。希望数据科学界和其他研究人员可以提供更好的自动化检测方法。更准确的方法可以帮助抓获通讯隐藏在众目睽睽之下的犯罪分子。\n\n\n### **数据集描述：**\n\n该数据集包含大量未更改的图像，称为“封面”图像，以及使用三种隐写算法（JMiPOD、JUNIWARD、UERD）之一隐藏信息的相应示例。\n\n* 这些算法的目标是在保持图像质量的同时，在图像中嵌入附加信息，通常是通过对图像的 DCT 系数进行微调来实现。下面是每种算法的简要说明：\n\n    * JMiPOD（Jpeg Minimum Embedding Difference）：JMiPOD 算法旨在对 JPEG 图像进行隐写处理，以嵌入秘密信息。它通过微调 JPEG 压缩过程中的 DCT 系数来实现信息的隐藏。具体而言，JMiPOD 通过选择与原始 DCT 系数差异最小的嵌入 DCT 系数来实现信息的嵌入。\n\n    * JUNIWARD：JUNIWARD 是一种基于 JPEG 压缩的隐写算法，旨在在 JPEG 图像中嵌入附加信息。它通过微调 JPEG 压缩过程中的 DCT 系数来实现信息的隐藏。具体而言，JUNIWARD 通过改变 DCT 系数的值和正负号来嵌入秘密信息。\n\n    * UERD（Uniform Embedding Revisited Distortion）：UERD 是一种针对 JPEG 图像的隐写算法，用于在图像中嵌入附加信息。它通过微调 JPEG 压缩过程中的 DCT 系数来实现信息的隐藏。具体而言，UERD 通过在 DCT 系数中引入统一的嵌入扰动来嵌入秘密信息。\n\n* 比赛的目标是确定测试集中的哪些图像 ( Test/) 嵌入了隐藏信息。\n\n    请注意，为了使比赛更加真实，隐藏消息（有效负载）的长度将不提供。测试集上唯一可用的信息是：\n\n    * 每个嵌入算法都以相同的概率使用。（数据的数量分布一致）\n    * 有效载荷（消息长度）被调整，使得无论图像的内容如何，​​“难度”都大致相同。具有平滑内容的图像用于隐藏较短的消息，而高度纹理化的图像将用于隐藏更多的秘密位。有效载荷以相同的方式调整以用于测试和训练集。\n    * 每个非零 AC DCT 系数的平均消息长度为 0.4 位。\n    * 图像均使用以下三个 JPEG 质量因子之一压缩：95、90 或 75。\n\n### **文件描述：**\n    Cover/包含 75k 未更改的图像，用于训练。\n    JMiPOD/包含 75k 个应用于封面图像的 JMiPOD 算法示例。\n    JUNIWARD/包含 75k 个应用于封面图像的 JUNIWARD 算法示例。\n    UERD/包含 75k 个应用于封面图像的 UERD 算法示例。\n    Test/包含 5k 个测试集图像。这些是您要预测的图像。\n    sample_submission.csv包含格式正确的示例提交。","metadata":{}},{"cell_type":"code","source":"!pip install -q efficientnet\n!pip install efficientnet_pytorch","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:05:07.467286Z","iopub.execute_input":"2023-08-27T01:05:07.467924Z","iopub.status.idle":"2023-08-27T01:05:47.124863Z","shell.execute_reply.started":"2023-08-27T01:05:07.467795Z","shell.execute_reply":"2023-08-27T01:05:47.123640Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import skimage.io as sk\nfrom stegano import lsb #USED FOR PNG IMAGE\n\nimport math, re, os\n\nimport numpy as np \nimport pandas as pd \nfrom matplotlib import pyplot as plt \nfrom kaggle_datasets import KaggleDatasets \nimport torch \n# 导入pytorch库 \nimport torch.nn as nn \n# 导入神经网络模块 \nimport torchvision \n# 导入计算机视觉库 \nfrom sklearn import metrics \nfrom sklearn.model_selection import train_test_split \nimport cv2 \nimport matplotlib \nimport matplotlib.pyplot as plt \n\n%matplotlib inline","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:05:47.127578Z","iopub.execute_input":"2023-08-27T01:05:47.127969Z","iopub.status.idle":"2023-08-27T01:05:50.059243Z","shell.execute_reply.started":"2023-08-27T01:05:47.127929Z","shell.execute_reply":"2023-08-27T01:05:50.058200Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"在我们开始讨论原始数据集和隐写分析问题之前，让我们首先尝试使用一个名为隐写的python模块来执行隐写，这只是为了好玩，在执行隐写之后，我们将了解它是如何完成的。","metadata":{}},{"cell_type":"code","source":"image = sk.imread(\"../input/alaska2-image-steganalysis/Cover/00002.jpg\")","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:05:50.060902Z","iopub.execute_input":"2023-08-27T01:05:50.061631Z","iopub.status.idle":"2023-08-27T01:05:50.104822Z","shell.execute_reply.started":"2023-08-27T01:05:50.061586Z","shell.execute_reply":"2023-08-27T01:05:50.103870Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"secret = lsb.hide(\"../input/alaska2-image-steganalysis/Cover/00002.jpg\", \"I will be there but you can't find me even if I'm a very very very long sentence\")\nsecret.save(\"encoded.png\")","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:05:50.107386Z","iopub.execute_input":"2023-08-27T01:05:50.107753Z","iopub.status.idle":"2023-08-27T01:05:50.203625Z","shell.execute_reply.started":"2023-08-27T01:05:50.107716Z","shell.execute_reply":"2023-08-27T01:05:50.202538Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"img1 = sk.imread(\"../input/alaska2-image-steganalysis/Cover/00002.jpg\")\nimg2 = sk.imread(\"/kaggle/working/encoded.png\")\n\nfig,ax = plt.subplots(1,2,figsize=(18,8))\n    \nax[0].imshow(img1)\nax[1].imshow(img2)","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:05:50.205441Z","iopub.execute_input":"2023-08-27T01:05:50.205840Z","iopub.status.idle":"2023-08-27T01:05:50.922068Z","shell.execute_reply.started":"2023-08-27T01:05:50.205797Z","shell.execute_reply":"2023-08-27T01:05:50.920902Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Steagano还提供了一个函数，用于解码隐藏在图像中的消息，让我们试试看:","metadata":{}},{"cell_type":"code","source":"print(lsb.reveal(\"/kaggle/working/encoded.png\"))","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:05:50.923117Z","iopub.execute_input":"2023-08-27T01:05:50.923458Z","iopub.status.idle":"2023-08-27T01:05:50.950329Z","shell.execute_reply.started":"2023-08-27T01:05:50.923426Z","shell.execute_reply":"2023-08-27T01:05:50.949277Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# print(lsb.reveal(\"../input/alaska2-image-steganalysis/Cover/00003.jpg\"))","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:15:47.306415Z","iopub.execute_input":"2023-08-27T01:15:47.307167Z","iopub.status.idle":"2023-08-27T01:15:47.312118Z","shell.execute_reply.started":"2023-08-27T01:15:47.307130Z","shell.execute_reply":"2023-08-27T01:15:47.310951Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**现在我们可以看到我们隐藏的文本，但这里面到底发生了什么？**\n\n该模块使用了一种技术，在封面图像的某些部分创建一个隐蔽通道，与人类视觉系统（HVS）相比，这些部分的变化可能有点小。它将信息隐藏在图像数据的最低有效位（LSB）中。这种嵌入方法基本上基于这样一个事实，即图像中的最低有效位数可以被认为是随机噪声，因此对这些位进行微小的修改不太可能引起人眼的变化察觉。","metadata":{}},{"cell_type":"markdown","source":"# EDA(探索性数据分析)\n接下来借助可视化的方法，来分析一下图片和图片之间存在的差异：","metadata":{}},{"cell_type":"code","source":"import os\nimport numpy as np\nimport matplotlib.pyplot as plt\n\n# 定义文件路径和算法类型\nbase_path = '/kaggle/input/alaska2-image-steganalysis/'  # 数据集路径\nalgorithm = ('Cover(Unaltered)', 'JMiPOD', 'UERD', 'JUNIWARD')  # 算法类型，包括不同的图像处理方式\n\n# 创建一个4x4的图像展示区域\nfig, axes = plt.subplots(nrows=4, ncols=4, figsize=(11, 11))\n\n# 设置随机种子，以确保每次运行都得到相同的随机图像\nnp.random.seed(57)\n\n# 对每个算法展示随机选择的图像\nfor i, id in enumerate(np.random.randint(0, 75001, 4)):\n    id = '{:05d}'.format(id)\n    \n    # 构建不同算法的图像路径\n    cover_path = os.path.join(base_path, 'Cover', id + '.jpg')\n    jmipod_path = os.path.join(base_path, 'JMiPOD', id + '.jpg')\n    uerd_path = os.path.join(base_path, 'UERD', id + '.jpg')\n    juniward_path = os.path.join(base_path, 'JUNIWARD', id + '.jpg')\n    \n    # 读取图像文件\n    cover_img = plt.imread(cover_path)\n    jmipod_img = plt.imread(jmipod_path)\n    uerd_img = plt.imread(uerd_path)\n    juniward_img = plt.imread(juniward_path)\n    \n    # 在图像展示区域显示图像\n    axes[i, 0].imshow(cover_img)\n    axes[i, 1].imshow(jmipod_img)\n    axes[i, 2].imshow(uerd_img)\n    axes[i, 3].imshow(juniward_img)\n    \n    # 设置y轴标签为图像的文件名\n    axes[i, 0].set(ylabel=id + '.jpg')\n\n# 打印其中一个图像的形状（假设所有图像的形状相同）\nprint(cover_img.shape)\n\n# 设置每个子图的标题为对应的算法名称\nfor i, algo in enumerate(algorithm):\n    axes[0, i].set(title=algo)\n\n# 隐藏每个子图的刻度线\nfor ax in axes.flat:\n    ax.set(xticks=[], yticks=[])\n\n# 显示图像展示区域\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:05:50.951951Z","iopub.execute_input":"2023-08-27T01:05:50.953057Z","iopub.status.idle":"2023-08-27T01:05:52.484373Z","shell.execute_reply.started":"2023-08-27T01:05:50.953018Z","shell.execute_reply":"2023-08-27T01:05:52.483451Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"在图像处理上，直方图是图像信息统计的有力工具。其实也就是统计一幅图某个亮度像素数量。\n\n**OpenCV 直方图绘制 calcHist() 参数解释：** \n\n* images：输入的图像的指针；\n\n* nimages：输入图像个数；\n\n* channels：需要统计直方图的第几通道；\n\n* mask：掩模，mask必须是一个8位（CV_8U）的数组并且和images的数组大小相同；\n\n* hist：直方图计算的输出值；\n\n* dims：输出直方图的维度（由channels指定）；\n\n* histSize：直方图中每个dims维度需要分成多少个区间（如果把直方图看作一个一个竖条的话，就是竖条的个数）；\n\n* ranges：统计像素值的区间；\n\n* uniform=true：是否对得到的直方图数组进行归一化处理\n\n* accumulate=false：在多个图像时，是否累积计算像素值的个数；","metadata":{}},{"cell_type":"markdown","source":"在隐写术分析中，我们经常会使用图像的颜色分布来分辨不同的图像或处理，因为嵌入了隐藏信息的图像可能会在颜色分布上显示出一些特殊的模式。对于每种颜色通道（红、绿、蓝），代码通过计算图像的直方图，得到像素值在不同亮度范围内的分布情况。cover_img、jmipod_img、uerd_img和juniward_img分别代表不同图像，它们可能包含了隐藏了信息的图像以及未隐藏信息的图像。直方图的计算将帮助我们理解图像的颜色分布情况。\n\n**横轴（x轴）：** 代表图像像素值的范围，从0到255。这个范围表示图像像素可能的取值，从全黑到全白。\n\n**纵轴（y轴）：** 代表图像中具有特定像素值的像素数量。在直方图中，纵轴的高度表示对应像素值的像素数量，这反映了图像中某个像素值出现的频率。","metadata":{}},{"cell_type":"code","source":"import cv2\n\n# 创建空字典用于存储不同算法和颜色通道的直方图数据\ncover_hist = {}\njmipod_hist = {}\nuerd_hist = {}\njuniward_hist = {}\n\n# 定义颜色通道的顺序\ncolor = ('b', 'g', 'r')\n\n# 计算不同算法和颜色通道的直方图\nfor i, col in enumerate(color):\n    # 使用cv2库的calcHist函数计算每个通道的直方图\n    cover_hist[col] = cv2.calcHist([cover_img], [i], None, [256], [0, 256])\n    jmipod_hist[col] = cv2.calcHist([jmipod_img], [i], None, [256], [0, 256])\n    uerd_hist[col] = cv2.calcHist([uerd_img], [i], None, [256], [0, 256])\n    juniward_hist[col] = cv2.calcHist([juniward_img], [i], None, [256], [0, 256])\n\n# 创建一个2x2的图像展示区域，用于显示直方图\nfig_hist, axes_hist = plt.subplots(nrows=2, ncols=2, figsize=(12, 12))\n\n# 对每个算法的直方图进行可视化\nfor ax, hist, algo in zip(axes_hist.flat, [cover_hist, jmipod_hist, uerd_hist, juniward_hist], algorithm):\n    ax.plot(hist['r'], color='r', label='r')  # 红色通道直方图\n    ax.plot(hist['g'], color='g', label='g')  # 绿色通道直方图\n    ax.plot(hist['b'], color='b', label='b')  # 蓝色通道直方图\n    ax.set(ylabel='# of pixels', xlabel='Pixel value (0-255)', title=algo)\n    ax.legend()\n\n# 调整子图之间的间距\nfig_hist.subplots_adjust(wspace=0.4, hspace=0.3)\n\n# 设置总标题\nfig_hist.suptitle('Histogram of a sample (' + id + '.jpg)', fontsize=20)\n\n# 显示直方图图像\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:07:23.125685Z","iopub.execute_input":"2023-08-27T01:07:23.126786Z","iopub.status.idle":"2023-08-27T01:07:23.963549Z","shell.execute_reply.started":"2023-08-27T01:07:23.126746Z","shell.execute_reply":"2023-08-27T01:07:23.962560Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"不同图像下，不同像素值下面像素点数量的比较：","metadata":{}},{"cell_type":"code","source":"# 创建一个单独的图像展示区域\nfig, ax = plt.subplots(figsize=(10, 10))\n\n# 在图像展示区域中绘制不同算法的R通道直方图（范围在50-80之间）\nax.plot(cover_hist['r'][50:80], color='c', label=algorithm[0])  # 原始图像的R通道直方图\nax.plot(jmipod_hist['r'][50:80], color='m', label=algorithm[1])  # JMiPOD算法处理后的R通道直方图\nax.plot(uerd_hist['r'][50:80], color='y', label=algorithm[2])    # UERD算法处理后的R通道直方图\nax.plot(juniward_hist['r'][50:80], color='g', label=algorithm[3])  # JUNIWARD算法处理后的R通道直方图\n\n# 添加图例\nax.legend()\n\n# 设置y轴标签\nax.set_ylabel('# of pixels', fontsize=15)\n\n# 设置x轴标签\nax.set_xlabel('Pixel value (50-80)', fontsize=15)\n\n# 设置x轴刻度线和标签\nax.xaxis.set(ticklabels=np.linspace(50, 80, 8, dtype=np.int))\n\n# 设置图像标题\nax.set_title('R-channel Histogram Compared (zoomed in)', fontsize=20)\n\n# 显示图像展示区域\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:08:29.107642Z","iopub.execute_input":"2023-08-27T01:08:29.108387Z","iopub.status.idle":"2023-08-27T01:08:29.374454Z","shell.execute_reply.started":"2023-08-27T01:08:29.108348Z","shell.execute_reply":"2023-08-27T01:08:29.373522Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"我们可以看到即使是相同的一张图片，在50-80的像素值区间，相同像素值下像素点的数量也不一样（横坐标表示像素值大小，纵坐标表述对应像素值大小下的像素点数量）","metadata":{}},{"cell_type":"markdown","source":"**如果希望更深入的探索隐写图片与原始图片之间的差异，可以使用如下代码：**","metadata":{}},{"cell_type":"code","source":"# 创建一个4x4的图像展示区域\nfig, axes = plt.subplots(nrows=4, ncols=4, figsize=(11, 11))\n\n# 设置随机种子，以确保每次运行都得到相同的随机图像\nnp.random.seed(57)\n\n# 定义函数用于显示两幅图像之间的差异\ndef disp_diff_img(alt, ref, ax, chnl=0):\n    # 计算两幅图像的差异\n    diff = np.abs(alt.astype(np.int) - ref.astype(np.int)).astype(np.uint8)\n    # 在指定的通道上显示差异图像\n    ax.imshow(diff[:, :, chnl], vmin=0, vmax=np.amax(diff[:, :, chnl]), cmap='hot')\n\n# 对每个随机选择的图像进行处理和显示\nfor i, id in enumerate(np.random.randint(0, 75001, 4)):\n    id = '{:05d}'.format(id)\n    \n    # 构建不同算法的图像路径\n    cover_path = os.path.join(base_path, 'Cover', id + '.jpg')\n    jmipod_path = os.path.join(base_path, 'JMiPOD', id + '.jpg')\n    uerd_path = os.path.join(base_path, 'UERD', id + '.jpg')\n    juniward_path = os.path.join(base_path, 'JUNIWARD', id + '.jpg')\n    \n    # 读取图像文件\n    cover_img = plt.imread(cover_path)\n    jmipod_img = plt.imread(jmipod_path)\n    uerd_img = plt.imread(uerd_path)\n    juniward_img = plt.imread(juniward_path)\n    \n    # 在第一列显示原始图像\n    axes[i, 0].imshow(cover_img)\n    \n    # 在其他列显示经过不同算法处理后的图像与原始图像的差异\n    disp_diff_img(jmipod_img, cover_img, axes[i, 1], 0)\n    disp_diff_img(uerd_img, cover_img, axes[i, 2], 0)\n    disp_diff_img(juniward_img, cover_img, axes[i, 3], 0)\n    \n    # 设置y轴标签为图像的文件名\n    axes[i, 0].set(ylabel=id + '.jpg')\n\n# 设置每个子图的标题为对应的算法名称 + 'diff'\nfor i, algo in enumerate(algorithm):\n    axes[0, i].set(title=algo + ' diff')\n\n# 隐藏每个子图的刻度线\nfor ax in axes.flat:\n    ax.set(xticks=[], yticks=[])\n\n# 显示图像展示区域\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:08:44.639978Z","iopub.execute_input":"2023-08-27T01:08:44.640372Z","iopub.status.idle":"2023-08-27T01:08:45.975338Z","shell.execute_reply.started":"2023-08-27T01:08:44.640341Z","shell.execute_reply":"2023-08-27T01:08:45.974455Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"从上面的图像中可以看到，他们其实就是在原始的图片中加入了一些人眼难以观测的噪声，进行隐写的操作。","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:14:03.798975Z","iopub.execute_input":"2023-08-27T01:14:03.800034Z","iopub.status.idle":"2023-08-27T01:14:03.807941Z","shell.execute_reply.started":"2023-08-27T01:14:03.799995Z","shell.execute_reply":"2023-08-27T01:14:03.806071Z"}}},{"cell_type":"markdown","source":"## Load label and paths","metadata":{}},{"cell_type":"code","source":"def append_path(pre):\n    ## 路径拼接\n    return np.vectorize(lambda file: os.path.join(\"/kaggle/input/alaska2-image-steganalysis/\", pre, file))","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:19:38.788624Z","iopub.execute_input":"2023-08-27T01:19:38.789691Z","iopub.status.idle":"2023-08-27T01:19:38.795301Z","shell.execute_reply.started":"2023-08-27T01:19:38.789651Z","shell.execute_reply":"2023-08-27T01:19:38.794006Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sub = pd.read_csv('/kaggle/input/alaska2-image-steganalysis/sample_submission.csv')\n\ntrain_filenames = os.listdir(\"/kaggle/input/alaska2-image-steganalysis/Cover/\")\ntrain_filenames.sort(key=lambda x:x.split(\".\")[0])\ntrain_filenames = np.array(train_filenames)\ntrain_filenames ## 获取图片的名称","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:19:39.359285Z","iopub.execute_input":"2023-08-27T01:19:39.359736Z","iopub.status.idle":"2023-08-27T01:19:42.338565Z","shell.execute_reply.started":"2023-08-27T01:19:39.359699Z","shell.execute_reply":"2023-08-27T01:19:42.337443Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"np.random.seed(1) ## 指定随机种子\n\n## 创建两个变量用于标识隐写数据和正常数据\npositives = train_filenames.copy() \nnegatives = train_filenames.copy()\n\n## 对数据的顺序进行打乱\nnp.random.shuffle(positives)\nnp.random.shuffle(negatives)\n\n## 获取对应数据,\njmipod = append_path('JMiPOD')(positives[:500])\njuniward = append_path('JUNIWARD')(positives[1500:2000])\nuerd = append_path('UERD')(positives[2500:3000])\n\npos_paths = np.concatenate([jmipod, juniward, uerd])","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:19:42.340928Z","iopub.execute_input":"2023-08-27T01:19:42.341375Z","iopub.status.idle":"2023-08-27T01:19:42.363791Z","shell.execute_reply.started":"2023-08-27T01:19:42.341335Z","shell.execute_reply":"2023-08-27T01:19:42.362888Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"jmipod[:5] ## 此时可以看到读取到的数据顺序已经被打乱","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:19:54.277093Z","iopub.execute_input":"2023-08-27T01:19:54.277474Z","iopub.status.idle":"2023-08-27T01:19:54.284415Z","shell.execute_reply.started":"2023-08-27T01:19:54.277439Z","shell.execute_reply":"2023-08-27T01:19:54.283370Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_paths = append_path('Test')(sub.Id.values)\nneg_paths = append_path('Cover')(np.random.choice(negatives,300))\n\n## 将隐写图片和正常图片所在路径拼接\ntrain_paths = np.concatenate([pos_paths, neg_paths])\n## 分别设置隐写图片样本标签为1，正常图片样本标签为0\ntrain_labels = np.array([1] * len(pos_paths) + [0] * len(neg_paths))\n\n## 切分训练数据和验证数据\ntrain_paths, valid_paths, train_labels, valid_labels = train_test_split(train_paths, train_labels, test_size=0.2)\n\n# train_paths","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:21:05.922372Z","iopub.execute_input":"2023-08-27T01:21:05.923445Z","iopub.status.idle":"2023-08-27T01:21:05.954381Z","shell.execute_reply.started":"2023-08-27T01:21:05.923392Z","shell.execute_reply":"2023-08-27T01:21:05.953392Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"len(train_paths)","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:21:10.969583Z","iopub.execute_input":"2023-08-27T01:21:10.971832Z","iopub.status.idle":"2023-08-27T01:21:10.980067Z","shell.execute_reply.started":"2023-08-27T01:21:10.971784Z","shell.execute_reply":"2023-08-27T01:21:10.978906Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Create Dataset objects\n","metadata":{}},{"cell_type":"code","source":"import torchvision.transforms as transforms\nfrom PIL import Image\n\n# 定义一个函数，用于加载和预处理图像\ndef decode_image(filename, label=None, image_size=(512, 512)):\n    # 打开图像文件并进行格式转换，将图像转换为RGB模式\n    image = Image.open(filename).convert(\"RGB\")\n    \n    # 调整图像大小为指定尺寸\n    image = transforms.Resize(image_size)(image)\n    \n    # 将图像转换为张量，并进行归一化\n    image = transforms.ToTensor()(image)\n    image = image.float() / 255.0\n    \n    # 如果没有提供标签，仅返回处理后的图像\n    if label is None:\n        return image\n    else:\n        return image, label\n\n# 定义一个函数，用于进行数据增强\ndef data_augment(image, label=None):\n    # 定义数据增强的变换操作\n    transform = transforms.Compose([\n        transforms.RandomHorizontalFlip(),  # 随机水平翻转\n        transforms.RandomVerticalFlip()      # 随机垂直翻转\n    ])\n    \n    # 对图像进行数据增强操作\n    image = transform(image)\n    \n    # 如果没有提供标签，仅返回增强后的图像\n    if label is None:\n        return image\n    else:\n        return image, label\n","metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","execution":{"iopub.status.busy":"2023-08-27T01:22:16.778181Z","iopub.execute_input":"2023-08-27T01:22:16.778578Z","iopub.status.idle":"2023-08-27T01:22:16.788470Z","shell.execute_reply.started":"2023-08-27T01:22:16.778543Z","shell.execute_reply":"2023-08-27T01:22:16.787177Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import torch\nfrom torch.utils.data import Dataset, DataLoader\nimport torchvision.transforms as transforms\nfrom PIL import Image\n\n\n# Configuration\nEPOCHS = 3\nBATCH_SIZE = 16\n\n# 定义一个自定义数据集类 CustomDataset，继承自 PyTorch 的 Dataset 类\nclass CustomDataset(Dataset):\n    def __init__(self, paths, labels=None, image_size=(512, 512), transform=None):\n        self.paths = paths\n        self.labels = labels\n        self.image_size = image_size\n        self.transform = transform\n    \n    # 当遍历 train_loader 时，会触发 __getitem__ 方法，从而触发数据加载和预处理的过程。\n    def __getitem__(self, index):\n        path = self.paths[index]\n        label = self.labels[index] if self.labels is not None else None\n        \n        # 使用之前定义的 decode_image 函数将图像加载并进行预处理\n        image = decode_image(path)\n        image = Image.open(path).convert(\"RGB\")  # 将图像转换为PIL图像类型\n        image = data_augment(image)\n        \n        # 使用 transform 进行额外的数据预处理（例如转换为张量）\n        if self.transform is not None:\n            image = self.transform(image)\n        \n        # 如果没有提供标签，仅返回图像\n        if label is None:\n            return image\n        else:\n            return image, label\n    \n    # 定义数据集的长度，即样本的数量\n    def __len__(self):\n        return len(self.paths)\n\n# 定义数据预处理操作，将图像转换为张量\ntransform = transforms.Compose([\n    transforms.ToTensor()\n])\n\n'''\ntrain_dataset 是自定义的数据集对象 CustomDataset 的实例，它负责封装了数据集的路径、标签、图像大小以及预处理操作等信息。\n它定义了数据集的长度（__len__ 方法）和数据获取的方式（__getitem__ 方法），但在创建时并没有立即加载和处理数据。\n\ntrain_loader 是使用 train_dataset 对象作为数据源创建的数据加载器（DataLoader）。\n数据加载器的作用是根据指定的批量大小（batch_size）、是否打乱顺序（shuffle）等参数，将数据集划分为小批量，并在迭代过程中动态加载数据。\n'''\n\n# 创建自定义数据集对象 train_dataset，封装训练集的路径、标签和预处理操作\ntrain_dataset = CustomDataset(train_paths, train_labels, transform=transform)\n\n# 使用 train_dataset 创建数据加载器 train_loader，用于在训练过程中批量加载数据\ntrain_loader = DataLoader(train_dataset, batch_size=BATCH_SIZE, shuffle=True)\n\n# 同样创建验证集和测试集的数据加载器\nvalid_dataset = CustomDataset(valid_paths, valid_labels, transform=transform)\nvalid_loader = DataLoader(valid_dataset, batch_size=BATCH_SIZE)\n\ntest_dataset = CustomDataset(test_paths, transform=transform)\ntest_loader = DataLoader(test_dataset, batch_size=BATCH_SIZE)\n","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:23:04.486422Z","iopub.execute_input":"2023-08-27T01:23:04.486847Z","iopub.status.idle":"2023-08-27T01:23:04.502094Z","shell.execute_reply.started":"2023-08-27T01:23:04.486814Z","shell.execute_reply":"2023-08-27T01:23:04.500941Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# 获取 train_dataset 的样本数\ndataset_size = len(train_dataset)\nprint(\"Train dataset size:\", dataset_size)\n\n# 获取 train_loader 的大小（批次数）\nbatch_count = len(train_loader)\nprint(\"Train loader size (batch count):\", batch_count)","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:23:09.333068Z","iopub.execute_input":"2023-08-27T01:23:09.333441Z","iopub.status.idle":"2023-08-27T01:23:09.340940Z","shell.execute_reply.started":"2023-08-27T01:23:09.333408Z","shell.execute_reply":"2023-08-27T01:23:09.339805Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Modelling","metadata":{}},{"cell_type":"markdown","source":"### Load Pre Tranin Model \n\nSteganalysis EDA 和 [EfficientNet](https://arxiv.org/pdf/1905.11946.pdf)\n\n\n**EfficientNet：** 就是一种标准化的模型扩展结果，通过下面的图，我们可以直观的体会到EfficientNet b0-b7在ImageNet上的效果：对于ImageNet历史上的各种网络而言，可以说EfficientNet在效果上实现了碾压\n\n![image.png](attachment:1d3bb103-1a89-4ea6-afbc-1a28855d8908.png)","metadata":{},"attachments":{"1d3bb103-1a89-4ea6-afbc-1a28855d8908.png":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAwAAAAJMCAYAAABNbMEtAAAgAElEQVR4Aey9C7xWY/r/vzEMY8yXzDTfZsy3GSNN4xvSNPnWhL6aQn6lv4SZSgyaEqmIUtOQHHLqoIaISBiHvkmhklIohQgldBDp4DDSmBwy1//1vnfXs+9n7bWe/ez2c1hrP9f9ej17rb3Wve7D516H63Pd13XdZWLJEDAEDAFDwBAwBAwBQ8AQMARKBoGykumpddQQMAQMAUPAEDAEDAFDwBAwBMQIgN0EhoAhYAgYAoaAIWAIGAKGQAkhUDIEYNasWbJo0SJZtWqV/QwDuwfsHrB7wO4BuwfsHrB7wO6BrO4BZEh+tSmVDAHYY4895Je//KUceuih9jMM7B6we8DuAbsH7B6we8DuAbsHsroHfvzjH8uvf/3r2iT/l44J0I9+9CPZsmVLrRo864whYAgYAoaAIWAIGAKGQH4R+Nvf/iZ//vOf81tJgUsvmRkAIwAFvrOsOkPAEDAEDAFDwBAwBGoBAkYAEjyIRgASPHjWdEPAEDAEDAFDwBAwBIqEgBGAIgGfi2qNAOQCRSvDEDAEDAFDwBAwBAyB0kLACECCx9sIQIIHz5puCBgChoAhYAgYAoZAkRAwAlAk4HNRrRGAXKBoZRgChoAhYAgYAoaAIVBaCBgBSPB4GwFI8OBZ0w0BQ8AQMAQMAUPAECgSAkYAigR8Lqo1ApALFK0MQ8AQMAQMAUPAEDAESgsBIwAJHm8jAAkePGu6IWAIGAKGgCFgCBgCRULACECRgM9FtUYAcoGilWEIGAKGgCFgCBgChkBpIWAEIMHjbQQgwYNnTTcEDAFDwBAwBAwBQ6BICBgBKBLwuajWCEAuULQyDAFDwBAwBAwBQ8AQKC0EjAAkeLyNACR48KzphoAhYAgYAoaAIWAIFAkBIwBFAj4X1RoByAWKVoYhYAgYAoaAIWAIGAKlhYARgASPtxGABA+eNd0QMAQMAUPAEDAEDIEiIWAEoEjA56JaIwC5QNHKMATii8C2bduEl/R1112X8Xf//ffLV1995Try7bffyjPPPCNnnHGG9O/fXyjj3//+tyxYsEB69OghF1xwgWzdulXefvttV+aiRYuyBkDbQ5vYL2SineAwefJk+fLLL0Or1jzV6VNoQVUc3Lhxo9xyyy2hY3LDDTfIvHnz0tr40UcfuWMcj/rR5qh+VdEcO20IGAKGQLURMAJQbcjic4ERgPiMhbXEEMgHAh9//LG0a9dO9ttvP2nVqpW0bds29DdkyBDZvn27a8KLL74o9erVk2bNmsno0aOdoL5s2TKpX79+2rHnnntOysrK5L777su66doe2sR+vpIK8pAUTbST9oLFtGnT9HDaVvNUp09aQHUI0VtvvSVHHHGEw7RNmzapMTn66KNdG2ln79695Z///KcrXrHmeNQv35hqP21rCBgChgAIGAFI8H1gBCDBg2dNNwSyQEAFboRNhM5skgrBs2fPTmXXY75gzIwB5f/rX/9K5atqh9mFTz/91P3Yz1fS9iI4a9JjCNCtW7eWDz74QE+ltprH72fqZBU7KqRnc60SgJ49e1bCb8uWLW6mhXbeeeedrtZMMwC33Xab1K1bV0aOHCk7duyoopV22hAwBAyB3CBgBCA3OBalFCMARYHdKjUECoZATQhAmPCcjXBL5xDuP//8c2c6VJ3Oct1nn33mrq/qOsySqCOMSKggH9aH008/3WnRhw8fLt98801aNXpdVD8hO1GEJ1cEgAZBviAAgwYNyijUY4rVvXt392PfkiFgCBgChULACEChkM5DPUYA8gCqFWkIxAiB6hAATIAwBWrSpIkTPjFHOfvss+WSSy5JHePcueee6zT4L730kjNd8c1p0F4PHjxY6tSp48pgy/8cJ2kdWoZCtX79elcX5jkIvsHryKf14a9wzTXXpNUxbNgwZy6j5ft90LpUuJ85c6YTmDFpmj9/vjbBbTWPTwAgCQ888IA0btzYtY32YU41Z86cFPkYM2aMqPkOdXfp0kVWr16dVrb/T6YZAPI9++yzrq6rrrrKvyxtHwI0YcIEZ0a0dOnStHP2jyFgCBgC+UbACEC+Ec5j+UYA8giuFW0IxACB6hAAzEew9UeYRsgdP368PP/884JPgB5jq86mQY33pk2bpGPHjk4wv/baa+Xpp5+WoUOHOpv70047zZEGtOeYvfj26tjON2/eXBo2bCg333yzuw7SARmgPMolaX34J5x88slOSKZtZ555pmvv2LFjnbY82Adtrwr3lIPADAHo1KlTipxQh+ZRAgAmmNaAB/XMmDFDHnzwQecLQfumTJniZjlWrFjh8CIfGC1cuNDNTkTdApkIALMavXr1cu2jrVGJOjHtggyZ6U8USnbcEDAE8oWA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"}}},{"cell_type":"code","source":"# 使用efficientnet-pytorch库来加载EfficientNet\nfrom efficientnet_pytorch import EfficientNet\n\n#加载预训练的EfficientNet-B3模型\nmodel = EfficientNet.from_pretrained('efficientnet-b3')\n\n\n#替换最后一层为一个线性层，输出维度为1\nmodel._fc = nn.Linear(model._fc.in_features, 1)\n\nfor param in model._blocks.parameters():\n    param.requires_grad_(False)\n    \n#使用print函数来打印模型结构\nprint(model)","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:53:24.038567Z","iopub.execute_input":"2023-08-27T01:53:24.039836Z","iopub.status.idle":"2023-08-27T01:53:24.319256Z","shell.execute_reply.started":"2023-08-27T01:53:24.039785Z","shell.execute_reply":"2023-08-27T01:53:24.318167Z"},"collapsed":true,"jupyter":{"outputs_hidden":true},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for name, param in model.named_parameters():\n    if param.requires_grad:\n        print(name, \"is trainable\")\n    else:\n        print(name, \"is frozen\")","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:53:28.531999Z","iopub.execute_input":"2023-08-27T01:53:28.532815Z","iopub.status.idle":"2023-08-27T01:53:28.548495Z","shell.execute_reply.started":"2023-08-27T01:53:28.532768Z","shell.execute_reply":"2023-08-27T01:53:28.547203Z"},"collapsed":true,"jupyter":{"outputs_hidden":true},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Start training","metadata":{}},{"cell_type":"markdown","source":"未进行学习率衰减","metadata":{}},{"cell_type":"code","source":"import torch\nimport torch.nn as nn\nimport torch.optim as optim\nfrom torch.utils.data import DataLoader\nfrom tqdm import tqdm\n\n# 定义设备，如果可用则使用 GPU，否则使用 CPU\ndevice = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n\n# 定义每个训练周期中的步数\nSTEPS_PER_EPOCH = len(train_dataset) // BATCH_SIZE\n\n# 定义损失函数和优化器\ncriterion = nn.BCEWithLogitsLoss()  # 二分类交叉熵损失函数\noptimizer = optim.Adam(model.parameters())  # Adam优化器\n\n# 初始化存储训练和验证过程中的损失和准确率的列表\ntrain_loss_list = []\nvalid_loss_list = []\naccuracy_list = []\nval_accuracy_list = []\n\n# 开始训练循环\nfor epoch in range(EPOCHS):\n    model = model.to(device)  # 将模型移动到指定的设备上\n    model.train()  # 设置模型为训练模式\n    \n    train_loss = 0\n    train_correct = 0\n    train_samples = 0\n\n    # 在训练数据加载器上迭代\n    for i, (images, labels) in enumerate(train_loader):\n        images = images.to(device)\n        labels = labels.to(device).float()  # 将标签转换为float类型\n        labels = labels.unsqueeze(1)  # 增加一个维度以匹配模型输出\n\n        optimizer.zero_grad()        ## 清空之前的梯度，防止梯度累积\n        outputs = model(images)      ## 使用模型预测输出\n        loss = criterion(outputs, labels) ## 计算预测结果与真实标签之间的损失\n        loss.backward()             # 反向传播，计算损失函数关于模型参数的梯度\n        optimizer.step()            # 根据梯度更新模型参数\n\n        train_loss += loss.item()  ## loss 累积求和 \n        predicted = torch.round(torch.sigmoid(outputs)) # 预测结果\n        train_correct += (predicted == labels).sum().item() ## 计算准确预测的个数\n        train_samples += labels.size(0)                     ## 计算样本数量\n        accuracy = train_correct / train_samples            ## 准确率 = 预测正确/样本数量\n\n        train_loss_list.append(train_loss / (i+1))          ## 把每一轮的损失添加到list中\n        accuracy_list.append(accuracy)                      ## 把每一轮的准确率添加到list中\n\n        print({\"Loss\": train_loss / (i+1), \"Accuracy\": accuracy})\n    \n    # 在验证数据加载器上进行验证\n    model.eval()  # 设置模型为评估模式\n    total_loss = 0\n    total_correct = 0\n    total_samples = 0\n    \n    with torch.no_grad():\n        for i, (images, labels) in enumerate(valid_loader):\n            images = images.to(device)\n            labels = labels.to(device).float()  # 将标签转换为float类型\n            labels = labels.unsqueeze(1)  # 增加一个维度以匹配模型输出\n\n            outputs = model(images)\n            loss = criterion(outputs, labels)\n            total_loss += loss.item()\n\n            predicted = torch.round(torch.sigmoid(outputs))\n            total_correct += (predicted == labels).sum().item()\n            total_samples += labels.size(0)\n            \n            valid_loss = total_loss / (i+1)\n\n            accuracy = total_correct / total_samples\n        valid_loss_list.append(valid_loss)\n        val_accuracy_list.append(accuracy)\n    \n    # 打印当前周期的验证损失和准确率\n    print(f\"Epoch [{epoch+1}/{EPOCHS}], Validation Loss: {valid_loss:.4f}, Accuracy: {accuracy:.4f}\")","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:23:39.005863Z","iopub.execute_input":"2023-08-27T01:23:39.006815Z","iopub.status.idle":"2023-08-27T01:28:24.845817Z","shell.execute_reply.started":"2023-08-27T01:23:39.006769Z","shell.execute_reply":"2023-08-27T01:28:24.844681Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# valid_loss_list","metadata":{"execution":{"iopub.status.busy":"2023-08-25T08:17:26.012476Z","iopub.execute_input":"2023-08-25T08:17:26.013590Z","iopub.status.idle":"2023-08-25T08:17:26.018362Z","shell.execute_reply.started":"2023-08-25T08:17:26.013530Z","shell.execute_reply":"2023-08-25T08:17:26.017235Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import matplotlib.pyplot as plt\n\n# Assuming you have already collected train_loss_list, accuracy_list, valid_loss_list, and val_accuracy_list.\n\n# Plotting the training loss curve\nplt.figure(figsize=(10, 5))\nplt.plot(range(1, len(train_loss_list) + 1), train_loss_list, label='Training Loss')\nplt.xlabel('Batch Iterations')\nplt.ylabel('BCEWithLogitsLoss')\nplt.title('Training Loss Curve')\nplt.legend()\nplt.grid(True)\nplt.show()\n\n# Plotting the training accuracy curve\nplt.figure(figsize=(10, 5))\nplt.plot(range(1, len(accuracy_list) + 1), accuracy_list, label='Training Accuracy')\nplt.xlabel('Batch Iterations')\nplt.ylabel('Accuracy')\nplt.title('Training Accuracy Curve')\nplt.legend()\nplt.grid(True)\nplt.show()\n\n# Plotting the validation loss curve\nplt.figure(figsize=(10, 5))\nplt.plot(range(1, len(valid_loss_list) + 1), valid_loss_list, label='Validation Loss')\nplt.xlabel('Epochs')\nplt.ylabel('BCEWithLogitsLoss')\nplt.title('Validation Loss Curve')\nplt.legend()\nplt.grid(True)\nplt.show()\n\n# Plotting the validation accuracy curve\nplt.figure(figsize=(10, 5))\nplt.plot(range(1, len(val_accuracy_list) + 1), val_accuracy_list, label='Validation Accuracy')\nplt.xlabel('Epochs')\nplt.ylabel('Accuracy')\nplt.title('Validation Accuracy Curve')\nplt.legend()\nplt.grid(True)\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:28:24.848053Z","iopub.execute_input":"2023-08-27T01:28:24.848711Z","iopub.status.idle":"2023-08-27T01:28:25.808475Z","shell.execute_reply.started":"2023-08-27T01:28:24.848671Z","shell.execute_reply":"2023-08-27T01:28:25.807476Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import gc\n\ntorch.cuda.empty_cache()\n# 手动触发垃圾回收\ngc.collect()","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:28:25.812091Z","iopub.execute_input":"2023-08-27T01:28:25.812415Z","iopub.status.idle":"2023-08-27T01:28:26.413645Z","shell.execute_reply.started":"2023-08-27T01:28:25.812386Z","shell.execute_reply":"2023-08-27T01:28:26.412563Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# model.save(\"model3.h5\")","metadata":{"execution":{"iopub.status.busy":"2023-08-25T07:52:03.748946Z","iopub.execute_input":"2023-08-25T07:52:03.750117Z","iopub.status.idle":"2023-08-25T07:52:03.762144Z","shell.execute_reply.started":"2023-08-25T07:52:03.750075Z","shell.execute_reply":"2023-08-25T07:52:03.761089Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### SRNet 模型","metadata":{}},{"cell_type":"code","source":"import sys\nsys.path.append('/kaggle/input/srnet-model-weight')\n\nfrom model import Srnet\n\nmodel = Srnet().cuda()\nCHKPT = '/kaggle/input/srnet-model-weight/SRNet_model_weights.pt'\n\nckpt = torch.load(CHKPT)\nmodel.load_state_dict(ckpt['model_state_dict'])\n\n\nfor param in model.parameters():\n    param.requires_grad_(False)\n    \nmodel.fc = nn.Linear(model.fc.in_features, 1)\n\n#使用print函数来打印模型结构\nprint(model)","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:32:44.284137Z","iopub.execute_input":"2023-08-27T01:32:44.284470Z","iopub.status.idle":"2023-08-27T01:32:45.612669Z","shell.execute_reply.started":"2023-08-27T01:32:44.284442Z","shell.execute_reply":"2023-08-27T01:32:45.611609Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# for name, param in model.named_parameters():\n#     if param.requires_grad:\n#         print(name, \"is trainable\")\n#     else:\n#         print(name, \"is frozen\")","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:53:17.453644Z","iopub.execute_input":"2023-08-27T01:53:17.454761Z","iopub.status.idle":"2023-08-27T01:53:17.458517Z","shell.execute_reply.started":"2023-08-27T01:53:17.454716Z","shell.execute_reply":"2023-08-27T01:53:17.457537Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"SRNET 冻结前面的网络，训练线性层","metadata":{}},{"cell_type":"code","source":"import torch.optim as optim\nfrom torch.utils.data import DataLoader\nfrom tqdm import tqdm\nfrom torch.optim.lr_scheduler import LambdaLR\n\ndevice = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n\nSTEPS_PER_EPOCH = len(train_dataset) // BATCH_SIZE\n\ncriterion = nn.BCEWithLogitsLoss()\noptimizer = optim.Adam(model.parameters())\n\n# 创建学习率调度器\nlr_fn = build_lrfn()\nscheduler = LambdaLR(optimizer, lr_lambda=lr_fn)\n\ntrain_loss_list=[]\nvalid_loss_list=[]\naccuracy_list=[]\nval_accuracy_list=[]\n\nfor epoch in range(EPOCHS):\n    model = model.to(device)\n    model.train()\n    \n    train_loss = 0\n    train_correct = 0\n    train_samples = 0\n    \n    with tqdm(train_loader, desc=f\"Epoch {epoch+1}/{EPOCHS}\", unit=\"batch\") as pbar:\n        for i, (images, labels) in enumerate(pbar):\n            images = images.to(device)\n            labels = labels.to(device).float()  # 将标签转换为float类型\n            labels = labels.unsqueeze(1)\n            optimizer.zero_grad()\n            # 定义颜色通道合并（灰度化）的转换\n            gray_transform = transforms.Grayscale(num_output_channels=1)\n\n            # 转换为灰度图像\n            gray_image = gray_transform(images)\n            print(gray_image.shape)\n            outputs = model(gray_image)\n\n            loss = criterion(outputs, labels)\n            \n            loss.backward()\n            optimizer.step()\n            \n            train_loss += loss.item()\n            predicted = torch.round(torch.sigmoid(outputs))\n            train_correct += (predicted == labels).sum().item()\n            train_samples += labels.size(0)\n            accuracy = train_correct / train_samples \n\n            train_loss_list.append(train_loss / (i+1))\n            accuracy_list.append(accuracy)\n\n            \n            pbar.set_postfix({\"Loss\": train_loss / (i+1), \"Accuracy\": train_correct / train_samples})\n            scheduler.step()  # 更新学习率\n            \n\n    model.eval()\n    total_loss = 0\n    total_correct = 0\n    total_samples = 0\n    \n    with torch.no_grad():\n        for i, (images, labels) in enumerate(valid_loader):\n            images = images.to(device)\n            labels = labels.to(device).float()  # 将标签转换为float类型\n            labels = labels.unsqueeze(1)        # [16,1]\n\n            # 定义颜色通道合并（灰度化）的转换\n            gray_transform = transforms.Grayscale(num_output_channels=1)\n\n            # 转换为灰度图像\n            gray_image = gray_transform(images)\n            print(gray_image.shape)\n            outputs = model(gray_image)\n            \n            loss = criterion(outputs, labels)\n            total_loss += loss.item()\n            \n\n            predicted = torch.round(torch.sigmoid(outputs))\n            total_correct += (predicted == labels).sum().item()\n            total_samples += labels.size(0)\n            \n#             valid_loss = total_loss / len(valid_loader)            \n            valid_loss = total_loss /   (i+1)\n\n            accuracy = total_correct / total_samples\n        valid_loss_list.append(valid_loss)\n        val_accuracy_list.append(accuracy)\n    \n    print(f\"Epoch [{epoch+1}/{EPOCHS}], Validation Loss: {valid_loss:.4f}, Accuracy: {accuracy:.4f}\")","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:32:45.614492Z","iopub.execute_input":"2023-08-27T01:32:45.615174Z","iopub.status.idle":"2023-08-27T01:35:40.559722Z","shell.execute_reply.started":"2023-08-27T01:32:45.615134Z","shell.execute_reply":"2023-08-27T01:35:40.558587Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Plotting the training loss curve\nplt.figure(figsize=(10, 5))\nplt.plot(range(1, len(train_loss_list) + 1), train_loss_list, label='Training Loss')\nplt.xlabel('Batch Iterations')\nplt.ylabel('BCEWithLogitsLoss')\nplt.title('Training Loss Curve')\nplt.legend()\nplt.grid(True)\nplt.show()\n\n# Plotting the training accuracy curve\nplt.figure(figsize=(10, 5))\nplt.plot(range(1, len(accuracy_list) + 1), accuracy_list, label='Training Accuracy')\nplt.xlabel('Batch Iterations')\nplt.ylabel('Accuracy')\nplt.title('Training Accuracy Curve')\nplt.legend()\nplt.grid(True)\nplt.show()\n\n# Plotting the validation loss curve\nplt.figure(figsize=(10, 5))\nplt.plot(range(1, len(valid_loss_list) + 1), valid_loss_list, label='Validation Loss')\nplt.xlabel('Epochs')\nplt.ylabel('BCEWithLogitsLoss')\nplt.title('Validation Loss Curve')\nplt.legend()\nplt.grid(True)\nplt.show()\n\n# Plotting the validation accuracy curve\nplt.figure(figsize=(10, 5))\nplt.plot(range(1, len(val_accuracy_list) + 1), val_accuracy_list, label='Validation Accuracy')\nplt.xlabel('Epochs')\nplt.ylabel('Accuracy')\nplt.title('Validation Accuracy Curve')\nplt.legend()\nplt.grid(True)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-08-27T01:35:40.561446Z","iopub.execute_input":"2023-08-27T01:35:40.561836Z","iopub.status.idle":"2023-08-27T01:35:41.497437Z","shell.execute_reply.started":"2023-08-27T01:35:40.561799Z","shell.execute_reply":"2023-08-27T01:35:41.496495Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Submission","metadata":{}},{"cell_type":"code","source":"# sub.Label = model.predict(test_dataset, verbose=1)\n# sub.to_csv('submission.csv', index=False)\n# sub.head()","metadata":{"execution":{"iopub.status.busy":"2023-06-28T05:57:30.533933Z","iopub.status.idle":"2023-06-28T05:57:30.534749Z","shell.execute_reply.started":"2023-06-28T05:57:30.534482Z","shell.execute_reply":"2023-06-28T05:57:30.534507Z"},"trusted":true},"execution_count":null,"outputs":[]}]}