1d Cnn Python Code Keras

4 min read Jul 07, 2024
1d Cnn Python Code Keras

1D CNN Python Code using Keras


Convolutional Neural Networks (CNNs) are commonly used for image classification tasks. However, they can also be applied to one-dimensional data, such as audio, text, or signal processing tasks. In this article, we will explore how to implement a 1D CNN using Python and the Keras library.

What is 1D CNN?

A 1D CNN is a type of CNN that processes one-dimensional data, such as time series data or signal data. It uses convolutional layers to extract features from the input data, followed by pooling layers to downsample the feature maps. The output of the convolutional and pooling layers is then fed into a fully connected layer to make predictions.

Keras Implementation

Here is an example of a 1D CNN implemented using Keras:

**import necessary libraries**
import numpy as np
from keras.models import Sequential
from keras.layers import Conv1D, MaxPooling1D, Flatten, Dense

**define the model architecture**
model = Sequential()
model.add(Conv1D(32, kernel_size=3, activation='relu', input_shape=(100, 1)))
model.add(Conv1D(64, kernel_size=3, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(10, activation='softmax'))

**compile the model**
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

In this example, we define a 1D CNN model with two convolutional layers, two pooling layers, and two fully connected layers. The input shape is (100, 1), which means the input data has 100 time steps and 1 feature.

Dataset Preparation

To train the 1D CNN model, we need to prepare a dataset that consists of one-dimensional data. For example, we can use the , which contains 5000 electrocardiogram (ECG) signals, each with 100 time steps.

Training the Model

Once we have prepared the dataset, we can train the 1D CNN model using the following code:

**split the dataset into training and testing sets**
train_data, test_data, train_labels, test_labels = train_test_split(ecg_data, ecg_labels, test_size=0.2, random_state=42)

**train the model**
model.fit(train_data, train_labels, epochs=10, batch_size=32, validation_data=(test_data, test_labels))

In this example, we split the dataset into training and testing sets, and then train the model using the training set. We use the fit method to train the model for 10 epochs with a batch size of 32.


In this article, we have implemented a 1D CNN using Python and the Keras library. We have also prepared a dataset and trained the model using the ECG5000 dataset. The 1D CNN can be used for various applications, such as signal processing, audio classification, and text classification.

Related Post

Featured Posts