<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_text(cls, fname, vocabUnicodeSize=78, desired_vocab=None, encoding="utf-8"):
 """ Create a WordVectors class based on a word2vec text file Parameters fname : path to file vocabUnicodeSize: the maximum string length (78, by default) desired_vocab: if set, this will ignore any word and vector that doesn't fall inside desired_vocab. Returns ------- WordVectors instance """

        with open(fname, "rb") as fin:
            header = fin.readline()
            vocab_size, vector_size = list(map(int, header.split()))

            vocab = np.empty(vocab_size, dtype="<U%s" % vocabUnicodeSize)
            vectors = np.empty((vocab_size, vector_size), dtype=np.float)
            for i, line in enumerate(fin):
                line = line.decode(encoding).rstrip()
                parts = line.split(" ")
                word = parts[0]
                include = desired_vocab is None or word in desired_vocab
                if include:
                    vector = np.array(parts[1:], dtype=np.float)
                    vocab[i] = word
                    vectors[i] = unitvec(vector)

            if desired_vocab is not None:
                vectors = vectors[vocab != "", :]
                vocab = vocab[vocab != ""]
        return cls(vocab=vocab, vectors=vectors)