CNN structure is becoming more and more widely used in text classification. Unlike image in shape [height, weight, channel], in this case the input will be in shape [1, n, embedding size], where n is the length of the text. Currently such input will cause error in autokeras, since "1 - filter_size" will be less than zero. So I think autokeras should automatically detect such input shape and then apply 1D architecture search like 1D convolution, 1D pooling, etc.
Autokeras now is mainly for 2D input like image. It could be more flexible.
Add some codes to detect the shape of the input, and to search specific network structures optimized for 1D, 2D or 3D tensor depending on the shape of the input.
Thank you for your request.
This will be supported together with the 3D input.
+1 . Search for a given 1D discrete or continous sequence would be amazing.
I'm looking for an autoML that handles 1D vector data. Can ImageClassifier1D be used to classify 1D signals? If yes, what will be the embedding size in this case? I apologize if this is a newbie question. Thanks btw for your great work.
@maystroh Try to expand the dimension of the X data as follow:
import numpy as np
from autokeras.image.image_supervised import ImageClassifier1D
X = np.random.normal(size=(100000,10)) # 1M examples of 1D signal with 10 samples
Y = np.random.randint(4, size=(100000,))
model = ImageClassifier1D(verbose=True)
X_train = np.expand_dims(X, axis=2)
model.fit(X_train, Y, time_limit=1 * 60 * 60)
Most helpful comment
Thank you for your request.
This will be supported together with the 3D input.