Can anyone help me?
I am the beginner
I want to build a CNN to classify text, and I get some trouble.
“”" ValueError: Expected 4D tensor as input, got 3D tensor instead. “”"
In my trainer code:
for epoch in range(1, epoch+1):
    for step, (feature, target) in enumerate(train_iter):
        feature = Variable(feature) # torch.Size([64, 35])
        target = Variable(target) # torch.Size([64])
        
        optimizer.zero_grad()
        logit = model(feature)

In my model:
def __init__ 
    self.embed = nn.Embedding(vocab_size, embedding_dim) # (4000, 512)

def forward(self, x):        
    # batch size 64, sequence 35, embedding_dim 512

    print(x.size()) # torch.Size([64, 35])
    x = self.embed(x)
    print(x.size()) # torch.Size([64, 35, 512])

    x = self.conv1(x) # ValueError: Expected 4D tensor as input, got 3D tensor instead.

By the way, is there any implemented code like this work?
I spent a lot of time to implemented it and it does not work.