用鸢尾花数据训练Cnn

一 数据加载

# 训练集的加载
class PretrainDataSet(Dataset):
    def __init__(self, filepath="data/pre_train.csv"):
        # print(f"reading{filepath}")  # 打印列名

        df = pandas.read_csv(
            filepath, header=0, index_col=0,
            encoding='utf-8',
            names=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'target'],

        dtype={"sepal_length": np.float32, "sepal_width": np.float32, "petal_length": np.float32, "petal_width": np.float32, "target": int},

            skip_blank_lines=True,  # 跳过空白行
        )
        print(f"前训练数据的形状{df.shape}")
        # print(df.head())

        feat = df.iloc[:, :4].values    # 前四列
        label = df.iloc[:, 4].values    # 第五列
        self.x = torch.from_numpy(feat)
        self.x = self.x.view(-1, 1, 4, 1)
        self.y = torch.from_n
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用下面的Python代码来利用卷积神经网络(CNN训练尾花数据集:from keras.models import Sequential from keras.layers import Conv2D from keras.layers import MaxPooling2D from keras.layers import Flatten from keras.layers import Dense# Initialising the CNN classifier = Sequential()# Step 1 - Convolution classifier.add(Conv2D(32, (3, 3), input_shape = (64, 64, 3), activation = 'relu'))# Step 2 - Pooling classifier.add(MaxPooling2D(pool_size = (2, 2)))# Adding a second convolutional layer classifier.add(Conv2D(32, (3, 3), activation = 'relu')) classifier.add(MaxPooling2D(pool_size = (2, 2)))# Step 3 - Flattening classifier.add(Flatten())# Step 4 - Full connection classifier.add(Dense(units = 128, activation = 'relu')) classifier.add(Dense(units = 1, activation = 'sigmoid'))# Compiling the CNN classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])# Part 2 - Fitting the CNN to the imagesfrom keras.preprocessing.image import ImageDataGeneratortrain_datagen = ImageDataGenerator(rescale = 1./255, shear_range = 0.2, zoom_range = 0.2, horizontal_flip = True)test_datagen = ImageDataGenerator(rescale = 1./255)training_set = train_datagen.flow_from_directory('dataset/training_set', target_size = (64, 64), batch_size = 32, class_mode = 'binary')test_set = test_datagen.flow_from_directory('dataset/test_set', target_size = (64, 64), batch_size = 32, class_mode = 'binary')classifier.fit_generator(training_set, steps_per_epoch = 8000, epochs = 25, validation_data = test_set, validation_steps = 2000)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值