小编kyn*_*nem的帖子

MobileNetV3 上的迁移学习达到了平台期,我无法超越它

我正在尝试使用 Tensorflow 2.5.0 在 MobileNetV3-Small 上进行迁移学习来预测狗品种(133 个类别),并且由于它在 ImageNet 数据集(1000 个类别)上获得了合理的准确性,我认为它应该没有问题适应我的问题。

我尝试了多种训练变化,最近取得了突破,但现在我的训练停滞在大约 60% 的验证准确度,验证损失略有波动(下面是训练和验证的准确度和损失曲线)。

训练和验证数据的准确性和损失曲线

我尝试ReduceLROnPlateau在下面的第三张图中使用,但这对改善问题没有帮助。谁能建议我如何改进培训?

from tensorflow.keras.models import Model
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.callbacks import ModelCheckpoint, ReduceLROnPlateau
from tensorflow.keras.layers import GlobalMaxPooling2D, Dense, Dropout, BatchNormalization
from tensorflow.keras.applications import MobileNetV3Large, MobileNetV3Small
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True # needed for working with this dataset


# define generators
train_datagen = ImageDataGenerator(vertical_flip=True, horizontal_flip=True,
                                   rescale=1.0/255, brightness_range=[0.5, 1.5],
                                   zoom_range=[0.5, 1.5], rotation_range=90)
test_datagen = ImageDataGenerator(rescale=1.0/255)

train_gen = train_datagen.flow_from_directory(train_dir, target_size=(224,224),
                                              batch_size=32, …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow tensorflow2.0 mobilenet

6
推荐指数
1
解决办法
2158
查看次数

在python中打开.mat文件时出错

我正在尝试打开一个 MATLAB 文件,它是一个“结构数组”。使用 scipy.io.loadmat 打开文件时,出现以下错误:

File "<ipython-input-15-0951b80baef6>", line 1, in <module>
    data = sio.loadmat('C:\Users\Martin\Desktop\Biophysics PhD\Results\180321_agonists_spreading_conditions\180321_agonists_spreading_conditions\Compare_ADPdexBSA.mat')

File "C:\Users\Martin\Anaconda2\lib\site-packages\scipy\io\matlab\mio.py", line 141, in loadmat
MR, file_opened = mat_reader_factory(file_name, appendmat, **kwargs)

File "C:\Users\Martin\Anaconda2\lib\site-packages\scipy\io\matlab\mio.py", line 64, in mat_reader_factory
byte_stream, file_opened = _open_file(file_name, appendmat)

TypeError: 'NoneType' object is not iterable
Run Code Online (Sandbox Code Playgroud)

对编程来说仍然足够新,所以我不确定如何解释错误。非常感谢您能给我的任何帮助

python io matlab scipy

3
推荐指数
1
解决办法
1624
查看次数

更新 Tkinter 进度条

我已经制作了一个用于从网站下载多个文件的 python 脚本,我想在 Tkinter 中制作一个进度条,当每个文件保存到计算机时,它应该更新。我看过一些使用 OOP 的例子,但我仍然在掌握 OOP,希望有一天能理解为什么人们在 Tkinter 中制作 GUI 应用程序时使用 OOP。也许好心的用户可以为我澄清这一点。

我的代码显示在这里:

from Tkinter import *
import ttk
import numpy as np

global files
files = np.arange(1,1000000)

def loading():
    global downloaded
    downloaded = 0
    for i in array:
        downloaded +=1

root = Tk()

progress= ttk.Progressbar(root, orient = 'horizontal', maximum = 1000000, value = downloaded, mode = 'determinate')
progress.pack(fill=BOTH)
start = ttk.Button(root,text='start',command=loading)
start.pack(fill=BOTH)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

我创建了一个代表文件数量的变量(我并不是真的想下载 1000000 个文件,这只是一些让进度条工作的代码)。

当点击开始按钮时,代码应该运行加载功能,但它没有。我非常感谢您在这个问题上能给我的任何帮助 =)

python oop tkinter progress-bar

2
推荐指数
1
解决办法
4380
查看次数

Pandas 将 kruskal-wallis 应用于数字列

我有一个 27 列的数据框(26 列是数字变量,第 27 列告诉我每行与哪个组关联)。总共有 7 个组,我试图将 Kruskal-Wallis 检验应用于每个变量,按组划分,以确定是否存在显着差异。

我试过了:

df.groupby(['treatment']).apply(kruskal)
Run Code Online (Sandbox Code Playgroud)

这会引发错误“在 stats.kruskal() 中需要至少 2 组两组”。

我的其他尝试也没有产生输出。我将定期使用更大的数据集进行类似的分析。有人可以帮助我理解这个问题以及如何解决它吗?

apply python-3.x pandas kruskal-wallis

1
推荐指数
1
解决办法
2600
查看次数

Keras:将图像输入 CNN 并获得图像输出

到目前为止,我一直在 pandas 的数值数据集上练习神经网络,但现在我需要创建一个模型,该模型将图像作为输入并输出该图像的二进制掩码。

我的训练数据为形状为 (602, 2048, 2048, 1) 的 numpy 数组。1 个通道 602 张尺寸为 2048x2048 的图像。输出掩码数组具有相同的维度。

我不明白的是如何定义第一层或如何正确地将数据输入模型。我非常感谢你在这个问题上的帮助

python image-processing conv-neural-network keras

0
推荐指数
1
解决办法
4275
查看次数