class_docstr: Simple operator test
code: def test_violet(self):
      img = torch.rand(1, 5, 3, 32, 32)
      txt = torch.randint(
          10,
          size=(
              1,
              5,
          ),
      )
      mask_i = [[1, 1, 1, 0, 0]]
      mask = []
      for i in range(0, 1):
          mask.append(mask_i)
      img = torch.from_numpy(np.array(img, dtype=np.float32))
      txt = torch.from_numpy(np.array(txt, dtype=np.int64))
      mask = torch.from_numpy(np.array(mask, dtype=np.int64))
  
      md = VioletBase()
      feat_img, _, _, _ = md.go_feat(img, txt, mask)
      self.assertTrue(feat_img.shape == torch.Size([1, 10, 768]))
  
imports: import unittest
  import torch
  import numpy
  from towhee.models.violet.violet import VioletBase
label_desc: Use image node_id 1 for calling the VioletTest obj's underlying member method code with example usage: obj.test_violet() without return types