diff --git a/AUTHORS.md b/AUTHORS.md index 41423fa6..df16f050 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -16,5 +16,7 @@ [Meikai Bao](https://github.com/BAOOOOOM) +[Yuting Ning](https://github.com/nnnyt) + The stared contributors are the corresponding authors. diff --git a/CHANGE.txt b/CHANGE.txt index cd98345e..1a47033f 100644 --- a/CHANGE.txt +++ b/CHANGE.txt @@ -1,3 +1,12 @@ +v0.0.7: + 1. add BERT and pretrained model (luna_bert) + 2. speed up the process in sif + 3. handling OOV in word2vec + 4. add English tutorials + 5. add api docs and prettify tutorials + 6. fix the np.error in gensim_vec.W2V.infer_vector + 7. fix the parameters lost in tokenization + v0.0.6: 1. dev: add half-pretrained rnn model 2. important!!!: rename TextTokenizer to PureTextTokenizer, and add a new tokenizer named TextTokenizer (the two have similar but not the same behaviours). diff --git a/EduNLP/Formula/Formula.py b/EduNLP/Formula/Formula.py index f4c868be..6eb80049 100644 --- a/EduNLP/Formula/Formula.py +++ b/EduNLP/Formula/Formula.py @@ -15,6 +15,18 @@ class Formula(object): """ + The part transform a formula to the parsed abstracted syntax tree. + + Parameters + ---------- + formula: str or List[Dict] + latex formula string or the parsed abstracted syntax tree + variable_standardization + const_mathord + init + args + kwargs + Examples -------- >>> f = Formula("x") @@ -29,22 +41,21 @@ class Formula(object): >>> f.elements [{'id': 0, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}] - """ + Attributes + ------------ + ast + show all ast details + elements + just show elements' id, type, text and role + ast_graph + draw a ast graph + to_str + resetable + return bool + """ def __init__(self, formula: (str, List[Dict]), variable_standardization=False, const_mathord=None, init=True, *args, **kwargs): - """ - - Parameters - ---------- - formula: str or List[Dict] - latex formula string or the parsed abstracted syntax tree - variable_standardization - const_mathord - init - args - kwargs - """ self._formula = formula self._ast = None if init is True: @@ -55,6 +66,15 @@ def __init__(self, formula: (str, List[Dict]), variable_standardization=False, c ) def variable_standardization(self, inplace=False, const_mathord=None, variable_connect_dict=None): + """ + It makes same parmeters have the same number. + + Parameters + ---------- + inplace + const_mathord + variable_connect_dict + """ const_mathord = const_mathord if const_mathord is not None else CONST_MATHORD ast_tree = self._ast if inplace else deepcopy(self._ast) var_code = variable_connect_dict["var_code"] if variable_connect_dict is not None else {} @@ -118,6 +138,26 @@ def resetable(self): class FormulaGroup(object): """ + The part transform a group of formula to the parsed abstracted syntax forest. + + Attributes + ------------ + to_str + ast + show all ast details + elements + just show elements' id, type, text and role + ast_graph + draw a ast graph + + Parameters + ---------- + formula: str or List[Dict] or List[Formula] + latex formula string or the parsed abstracted syntax tree or a group of parsed abstracted syntax tree + variable_standardization + const_mathord + detach + Examples --------- >>> fg = FormulaGroup(["x + y", "y + x", "z + x"]) @@ -128,15 +168,16 @@ class FormulaGroup(object): ;;> >>> fg = FormulaGroup(["x", Formula("y"), "x"]) >>> fg.elements - [{'id': 0, 'type': 'mathord', 'text': 'x', 'role': None}, {'id': 1, 'type': 'mathord', 'text': 'y', 'role': None},\ - {'id': 2, 'type': 'mathord', 'text': 'x', 'role': None}] + [{'id': 0, 'type': 'mathord', 'text': 'x', 'role': None}, \ +{'id': 1, 'type': 'mathord', 'text': 'y', 'role': None}, \ +{'id': 2, 'type': 'mathord', 'text': 'x', 'role': None}] >>> fg = FormulaGroup(["x", Formula("y"), "x"], variable_standardization=True) >>> fg.elements [{'id': 0, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}, \ {'id': 1, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}, \ {'id': 2, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}] - """ + """ def __init__(self, formula_list: (list, List[str], List[Formula]), variable_standardization=False, @@ -186,6 +227,15 @@ def __contains__(self, item) -> bool: return item in self._formulas def variable_standardization(self, inplace=False, const_mathord=None, variable_connect_dict=None): + """ + It makes same parmeters have the same number. + + Parameters + ---------- + inplace + const_mathord + variable_connect_dict + """ ret = [] for formula in self._formulas: ret.append(formula.variable_standardization(inplace=inplace, const_mathord=const_mathord, @@ -220,6 +270,15 @@ def ast_graph(self) -> (nx.Graph, nx.DiGraph): def link_formulas(*formula: Formula, link_vars=True, **kwargs): + """ + + Parameters + ---------- + formula + the parsed abstracted syntax tree + link_vars + kwargs + """ forest = [] for form in formula: forest += form.reset_ast( diff --git a/EduNLP/Formula/ast/ast.py b/EduNLP/Formula/ast/ast.py index 52e44ac5..8b3af216 100644 --- a/EduNLP/Formula/ast/ast.py +++ b/EduNLP/Formula/ast/ast.py @@ -8,10 +8,12 @@ def katex_parse(formula): + """将公式传入katex进行语法解析""" return katex.katex.__parse(formula,{'displayMode':True,'trust': True}).to_list() def str2ast(formula: str, *args, **kwargs): + """给字符串的接口""" return ast(formula, is_str=True, *args, **kwargs) diff --git a/EduNLP/Formula/viz/__init__.py b/EduNLP/Formula/viz/__init__.py index 2d0ba898..a461dca7 100644 --- a/EduNLP/Formula/viz/__init__.py +++ b/EduNLP/Formula/viz/__init__.py @@ -2,5 +2,5 @@ # 2021/3/8 @ tongshiwei import warnings -warnings.warn("Do not use this package") +# warnings.warn("Do not use this package") from .tree_viz import TreePlotter, ForestPlotter diff --git a/EduNLP/I2V/__init__.py b/EduNLP/I2V/__init__.py index db5cb958..34eeb8cc 100644 --- a/EduNLP/I2V/__init__.py +++ b/EduNLP/I2V/__init__.py @@ -2,4 +2,4 @@ # 2021/8/1 @ tongshiwei from .i2v import I2V, get_pretrained_i2v -from .i2v import D2V, W2V +from .i2v import D2V, W2V, Bert diff --git a/EduNLP/I2V/i2v.py b/EduNLP/I2V/i2v.py index 4254fe1e..261bdefd 100644 --- a/EduNLP/I2V/i2v.py +++ b/EduNLP/I2V/i2v.py @@ -4,17 +4,22 @@ import json from EduNLP.constant import MODEL_DIR from ..Vector import T2V, get_pretrained_t2v as get_t2v_pretrained_model +from ..Vector import PRETRAINED_MODELS +from longling import path_append from ..Tokenizer import Tokenizer, get_tokenizer +from EduNLP.Pretrain import BertTokenizer from EduNLP import logger -__all__ = ["I2V", "D2V", "W2V", "get_pretrained_i2v"] +__all__ = ["I2V", "D2V", "W2V", "Bert", "get_pretrained_i2v"] class I2V(object): """ + It just a api, so you shouldn't use it directly. \ + If you want to get vector from item, you can use other model like D2V and W2V. Parameters - ---------- + ----------- tokenizer: str the tokenizer name t2v: str @@ -24,18 +29,40 @@ class I2V(object): tokenizer_kwargs: dict the parameters passed to tokenizer pretrained_t2v: bool + + True: use pretrained t2v model + + False: use your own t2v model + kwargs: the parameters passed to t2v - """ def __init__(self, tokenizer, t2v, *args, tokenizer_kwargs: dict = None, pretrained_t2v=False, **kwargs): + Examples + -------- + >>> item = {"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, \ + ... 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,\ + ... 此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$"} + >>> model_path = "examples/test_model/test_gensim_luna_stem_tf_d2v_256.bin" # doctest: +ELLIPSIS + >>> i2v = D2V("text","d2v",filepath=model_path, pretrained_t2v = False) # doctest: +ELLIPSIS + >>> i2v(item) # doctest: +ELLIPSIS + ([array([...dtype=float32)], None) - self.tokenizer: Tokenizer = get_tokenizer(tokenizer, **tokenizer_kwargs if tokenizer_kwargs is not None else {}) + Returns + ------- + i2v model: I2V + """ + def __init__(self, tokenizer, t2v, *args, tokenizer_kwargs: dict = None, pretrained_t2v=False, **kwargs): if pretrained_t2v: logger.info("Use pretrained t2v model %s" % t2v) self.t2v = get_t2v_pretrained_model(t2v, kwargs.get("model_dir", MODEL_DIR)) else: self.t2v = T2V(t2v, *args, **kwargs) + if tokenizer == 'bert': + self.tokenizer = BertTokenizer(**tokenizer_kwargs if tokenizer_kwargs is not None else {}) + else: + self.tokenizer: Tokenizer = get_tokenizer(tokenizer, **tokenizer_kwargs + if tokenizer_kwargs is not None else {}) self.params = { "tokenizer": tokenizer, "tokenizer_kwargs": tokenizer_kwargs, @@ -46,9 +73,11 @@ def __init__(self, tokenizer, t2v, *args, tokenizer_kwargs: dict = None, pretrai } def __call__(self, items, *args, **kwargs): + """transfer item to vector""" return self.infer_vector(items, *args, **kwargs) def tokenize(self, items, indexing=True, padding=False, key=lambda x: x, *args, **kwargs) -> list: + # """tokenize item""" return self.tokenizer(items, key=key, *args, **kwargs) def infer_vector(self, items, tokenize=True, indexing=False, padding=False, key=lambda x: x, *args, @@ -86,8 +115,67 @@ def vector_size(self): class D2V(I2V): + """ + The model aims to transfer item to vector directly. + + Bases + ------- + I2V + + Parameters + ----------- + tokenizer: str + the tokenizer name + t2v: str + the name of token2vector model + args: + the parameters passed to t2v + tokenizer_kwargs: dict + the parameters passed to tokenizer + pretrained_t2v: bool + True: use pretrained t2v model + False: use your own t2v model + kwargs: + the parameters passed to t2v + + Examples + --------- + >>> item = {"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, \ + ... 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,\ + ... 此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$"} + >>> model_path = "examples/test_model/test_gensim_luna_stem_tf_d2v_256.bin" + >>> i2v = D2V("text","d2v",filepath=model_path, pretrained_t2v = False) + >>> i2v(item) + ([array([ ...dtype=float32)], None) + + Returns + ------- + i2v model: I2V + """ def infer_vector(self, items, tokenize=True, indexing=False, padding=False, key=lambda x: x, *args, **kwargs) -> tuple: + ''' + It is a function to switch item to vector. And before using the function, it is nesseary to load model. + + Parameters + ----------- + items:str + the text of question + tokenize:bool + True: tokenize the item + indexing:bool + padding:bool + key: lambda function + the parameter passed to tokenizer, select the text to be processed + args: + the parameters passed to t2v + kwargs: + the parameters passed to t2v + + Returns + -------- + vector:list + ''' tokens = self.tokenize(items, return_token=True, key=key) if tokenize is True else items tokens = [token for token in tokens] return self.t2v(tokens, *args, **kwargs), None @@ -98,8 +186,65 @@ def from_pretrained(cls, name, model_dir=MODEL_DIR, *args, **kwargs): class W2V(I2V): + """ + The model aims to transfer tokens to vector. + + Bases + -------- + I2V + + Parameters + ----------- + tokenizer: str + the tokenizer name + t2v: str + the name of token2vector model + args: + the parameters passed to t2v + tokenizer_kwargs: dict + the parameters passed to tokenizer + pretrained_t2v: bool + True: use pretrained t2v model + False: use your own t2v model + kwargs: + the parameters passed to t2v + + Examples + --------- + >>> i2v = get_pretrained_i2v("test_w2v", "examples/test_model/data/w2v") + >>> item_vector, token_vector = i2v(["有学者认为:‘学习’,必须适应实际"]) + >>> item_vector # doctest: +ELLIPSIS + [array([...], dtype=float32)] + + Returns + -------- + i2v model: W2V + + """ def infer_vector(self, items, tokenize=True, indexing=False, padding=False, key=lambda x: x, *args, **kwargs) -> tuple: + ''' + It is a function to switch item to vector. And before using the function, it is nesseary to load model. + + Parameters + ----------- + items:str + the text of question + tokenize:bool + True: tokenize the item + indexing:bool + padding:bool + key: lambda function + the parameter passed to tokenizer, select the text to be processed + args: + the parameters passed to t2v + kwargs: + the parameters passed to t2v + + Returns + -------- + vector:list + ''' tokens = self.tokenize(items, return_token=True) if tokenize is True else items tokens = [token for token in tokens] return self.t2v(tokens, *args, **kwargs), self.t2v.infer_tokens(tokens, *args, **kwargs) @@ -109,6 +254,69 @@ def from_pretrained(cls, name, model_dir=MODEL_DIR, *args, **kwargs): return cls("pure_text", name, pretrained_t2v=True, model_dir=model_dir) +class Bert(I2V): + """ + The model aims to transfer item and tokens to vector with Bert. + + Bases + ------- + I2V + + Parameters + ----------- + tokenizer: str + the tokenizer name + t2v: str + the name of token2vector model + args: + the parameters passed to t2v + tokenizer_kwargs: dict + the parameters passed to tokenizer + pretrained_t2v: bool + True: use pretrained t2v model + False: use your own t2v model + kwargs: + the parameters passed to t2v + + Returns + ------- + i2v model: Bert + """ + def infer_vector(self, items, tokenize=True, return_tensors='pt', *args, **kwargs) -> tuple: + ''' + It is a function to switch item to vector. And before using the function, it is nesseary to load model. + + Parameters + ----------- + items: str or list + the text of question + tokenize:bool + True: tokenize the item + return_tensors: str + tensor type used in tokenizer + args: + the parameters passed to t2v + kwargs: + the parameters passed to t2v + + Returns + -------- + vector:list + ''' + inputs = self.tokenize(items, return_tensors=return_tensors) if tokenize is True else items + return self.t2v(inputs, *args, **kwargs), self.t2v.infer_tokens(inputs, *args, **kwargs) + + @classmethod + def from_pretrained(cls, name, model_dir=MODEL_DIR, *args, **kwargs): + model_path = path_append(model_dir, PRETRAINED_MODELS[name][0].split('/')[-1], to_str=True) + for i in [".tar.gz", ".tar.bz2", ".tar.bz", ".tar.tgz", ".tar", ".tgz", ".zip", ".rar"]: + model_path = model_path.replace(i, "") + logger.info("model_path: %s" % model_path) + tokenizer_kwargs = {"pretrain_model": model_path} + return cls("bert", name, pretrained_t2v=True, model_dir=model_dir, + tokenizer_kwargs=tokenizer_kwargs) + + MODELS = { "d2v_all_256": [D2V, "d2v_all_256"], "d2v_sci_256": [D2V, "d2v_sci_256"], @@ -116,21 +324,42 @@ def from_pretrained(cls, name, model_dir=MODEL_DIR, *args, **kwargs): "d2v_lit_256": [D2V, "d2v_lit_256"], "w2v_sci_300": [W2V, "w2v_sci_300"], "w2v_lit_300": [W2V, "w2v_lit_300"], + "test_w2v": [W2V, "test_w2v"], + "test_d2v": [D2V, "test_d2v"], + 'luna_bert': [Bert, 'luna_bert'], } def get_pretrained_i2v(name, model_dir=MODEL_DIR): """ + It is a good idea if you want to switch item to vector earily. Parameters - ---------- - name - model_dir + ----------- + name: str + the name of item2vector model + e.g.: + d2v_all_256 + d2v_sci_256 + d2v_eng_256 + d2v_lit_256 + w2v_sci_300 + w2v_lit_300 + model_dir:str + the path of model, default: MODEL_DIR = '~/.EduNLP/model' Returns - ------- + -------- i2v model: I2V + Examples + --------- + >>> item = {"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, \ + ... 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,\ + ... 此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$"} + >>> i2v = get_pretrained_i2v("test_d2v", "examples/test_model/data/d2v") + >>> print(i2v(item)) + ([array([ ...dtype=float32)], None) """ if name not in MODELS: raise KeyError( diff --git a/EduNLP/ModelZoo/rnn/rnn.py b/EduNLP/ModelZoo/rnn/rnn.py index c1594ac8..ce3a2d34 100644 --- a/EduNLP/ModelZoo/rnn/rnn.py +++ b/EduNLP/ModelZoo/rnn/rnn.py @@ -9,6 +9,20 @@ class LM(nn.Module): """ + + Parameters + ---------- + rnn_type:str + Legal types including RNN, LSTM, GRU,ELMO + vocab_size: int + embedding_dim: int + hidden_size: int + num_layers + bidirectional + embedding + model_params + kwargs + Examples -------- >>> import torch @@ -66,6 +80,20 @@ def __init__(self, rnn_type: str, vocab_size: int, embedding_dim: int, hidden_si load_net(model_params, self, allow_missing=True) def forward(self, seq_idx, seq_len): + """ + + Parameters + ---------- + seq_idx:Tensor + a list of indices + seq_len:Tensor + length + + Returns + -------- + sequence + a PackedSequence object + """ seq = self.embedding(seq_idx) pack = pack_padded_sequence(seq, seq_len, batch_first=True) h0 = torch.zeros(self.num_layers, seq.shape[0], self.hidden_size) diff --git a/EduNLP/ModelZoo/utils/masker.py b/EduNLP/ModelZoo/utils/masker.py index 401c16e7..00ba5df9 100644 --- a/EduNLP/ModelZoo/utils/masker.py +++ b/EduNLP/ModelZoo/utils/masker.py @@ -7,8 +7,15 @@ class Masker(object): """ + + Parameters + ---------- + mask: int, str + per + seed + Examples - ------- + --------- >>> masker = Masker(per=0.5, seed=10) >>> items = [[1, 1, 3, 4, 6], [2], [5, 9, 1, 4]] >>> masked_seq, mask_label = masker(items) @@ -29,17 +36,13 @@ class Masker(object): [['a', '[MASK]', 'c'], ['d', '[PAD]', '[PAD]'], ['hello', '[MASK]', '[PAD]']] >>> mask_label [[0, 1, 0], [0, 0, 0], [0, 1, 0]] - """ + Returns + ---------- + list + list of masked_seq and list of masked_list + """ def __init__(self, mask: (int, str, ...) = 0, per=0.2, seed=None): - """ - - Parameters - ---------- - mask: int, str - per - seed - """ self.seed = np.random.default_rng(seed) self.per = per self.mask = mask diff --git a/EduNLP/ModelZoo/utils/padder.py b/EduNLP/ModelZoo/utils/padder.py index ed86cfef..57f6219b 100644 --- a/EduNLP/ModelZoo/utils/padder.py +++ b/EduNLP/ModelZoo/utils/padder.py @@ -5,7 +5,8 @@ class PadSequence(object): - """Pad the sequence. + """ + Pad the sequence. Pad the sequence to the given `length` by inserting `pad_val`. If `clip` is set, sequence that has length larger than `length` will be clipped. @@ -17,24 +18,18 @@ class PadSequence(object): pad_val : number The pad value. Default 0 clip : bool - """ + Returns + ------- + ret + list of number + """ def __init__(self, length, pad_val=0, clip=True): self._length = length self._pad_val = pad_val self._clip = clip def __call__(self, sample: list): - """ - - Parameters - ---------- - sample : list of number - - Returns - ------- - ret : list of number - """ sample_length = len(sample) if sample_length >= self._length: if self._clip and sample_length > self._length: @@ -59,6 +54,8 @@ def pad_sequence(sequence: list, max_length=None, pad_val=0, clip=True): Returns ------- + Modified list:list + padding the sequence in the same size. Examples -------- diff --git a/EduNLP/Pretrain/__init__.py b/EduNLP/Pretrain/__init__.py index a6daf797..984379e9 100644 --- a/EduNLP/Pretrain/__init__.py +++ b/EduNLP/Pretrain/__init__.py @@ -2,3 +2,4 @@ # 2021/5/29 @ tongshiwei from .gensim_vec import train_vector, GensimWordTokenizer, GensimSegTokenizer +from .bert_vec import BertTokenizer, finetune_bert diff --git a/EduNLP/Pretrain/bert_vec.py b/EduNLP/Pretrain/bert_vec.py new file mode 100644 index 00000000..40bdc16f --- /dev/null +++ b/EduNLP/Pretrain/bert_vec.py @@ -0,0 +1,163 @@ +from EduNLP import logger +import multiprocessing +import transformers +from EduNLP.Tokenizer import PureTextTokenizer +from copy import deepcopy +from typing import Optional, Union +import itertools as it +from transformers import AutoTokenizer, AutoModelForMaskedLM +from transformers import DataCollatorForLanguageModeling +from transformers import Trainer, TrainingArguments +from transformers.file_utils import TensorType +from torch.utils.data import Dataset +from EduNLP.SIF import Symbol, FORMULA_SYMBOL, FIGURE_SYMBOL, QUES_MARK_SYMBOL, TAG_SYMBOL, SEP_SYMBOL + + +__all__ = ["BertTokenizer", "finetune_bert"] + + +class BertTokenizer(object): + """ + + Parameters + ---------- + pretrain_model: + used pretrained model + + Returns + ---------- + + Examples + ---------- + >>> tokenizer = BertTokenizer() + >>> item = "有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$" + >>> token_item = tokenizer(item) + >>> print(token_item.input_ids[:10]) + [101, 1062, 2466, 1963, 1745, 21129, 166, 117, 167, 5276] + >>> print(tokenizer.tokenize(item)[:10]) + ['公', '式', '如', '图', '[FIGURE]', 'x', ',', 'y', '约', '束'] + >>> items = [item, item] + >>> token_items = tokenizer(items, return_tensors='pt') + >>> print(token_items.input_ids.shape) + torch.Size([2, 27]) + >>> print(len(tokenizer.tokenize(items))) + 2 + """ + def __init__(self, pretrain_model="bert-base-chinese"): + self.tokenizer = AutoTokenizer.from_pretrained(pretrain_model) + customize_tokens = [] + for i in [FORMULA_SYMBOL, FIGURE_SYMBOL, QUES_MARK_SYMBOL, TAG_SYMBOL, SEP_SYMBOL]: + if i not in self.tokenizer.additional_special_tokens: + customize_tokens.append(Symbol(i)) + if customize_tokens: + self.tokenizer.add_special_tokens({'additional_special_tokens': customize_tokens}) + self.pure_text_tokenizer = PureTextTokenizer() + + def __call__(self, item: (list, str), return_tensors: Optional[Union[str, TensorType]] = None, *args, **kwargs): + if isinstance(item, str): + item = ''.join(next(self.pure_text_tokenizer([item]))) + else: + token_generation = self.pure_text_tokenizer(item) + item = [''.join(next(token_generation)) for i in range(len(item))] + return self.tokenizer(item, truncation=True, padding=True, return_tensors=return_tensors) + + def tokenize(self, item: (list, str), *args, **kwargs): + if isinstance(item, str): + item = ''.join(next(self.pure_text_tokenizer([item]))) + return self.tokenizer.tokenize(item) + else: + token_generation = self.pure_text_tokenizer(item) + item = [''.join(next(token_generation)) for i in range(len(item))] + item = [self.tokenizer.tokenize(i) for i in item] + return item + + +class FinetuneDataset(Dataset): + def __init__(self, items): + self.items = items + self.len = len(items) + + def __getitem__(self, index): + return self.items[index] + + def __len__(self): + return self.len + + +def finetune_bert(items, output_dir, pretrain_model="bert-base-chinese", train_params=None): + """ + + Parameters + ---------- + items:dict + the tokenization results of questions + output_dir: str + the path to save the model + pretrain_model: str + the name or path of pre-trained model + train_params: dict + the training parameters passed to Trainer + + Examples + ---------- + >>> tokenizer = BertTokenizer() + >>> stems = ["有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$", + ... "有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$"] + >>> token_item = [tokenizer(i) for i in stems] + >>> print(token_item[0].keys()) + dict_keys(['input_ids', 'token_type_ids', 'attention_mask']) + >>> finetune_bert(token_item, "examples/test_model/data/bert") #doctest: +ELLIPSIS + {'train_runtime': ..., ..., 'epoch': 1.0} + """ + model = AutoModelForMaskedLM.from_pretrained(pretrain_model) + tokenizer = BertTokenizer(pretrain_model) + # resize embedding for additional sepecial tokens + model.resize_token_embeddings(len(tokenizer.tokenizer)) + + # training parameters + if train_params: + mlm_probability = train_params['mlm_probability'] if 'mlm_probability' in train_params else 0.15 + epochs = train_params['epochs'] if 'epochs' in train_params else 1 + batch_size = train_params['batch_size'] if 'batch_size' in train_params else 64 + save_steps = train_params['save_steps'] if 'save_steps' in train_params else 100 + save_total_limit = train_params['save_total_limit'] if 'save_total_limit' in train_params else 2 + logging_steps = train_params['logging_steps'] if 'logging_steps' in train_params else 5 + gradient_accumulation_steps = train_params['gradient_accumulation_steps'] \ + if 'gradient_accumulation_steps' in train_params else 1 + else: + # default + mlm_probability = 0.15 + epochs = 1 + batch_size = 64 + save_steps = 1000 + save_total_limit = 2 + logging_steps = 5 + gradient_accumulation_steps = 1 + + data_collator = DataCollatorForLanguageModeling( + tokenizer=tokenizer.tokenizer, mlm=True, mlm_probability=mlm_probability + ) + + dataset = FinetuneDataset(items) + + training_args = TrainingArguments( + output_dir=output_dir, + overwrite_output_dir=True, + num_train_epochs=epochs, + per_device_train_batch_size=batch_size, + save_steps=save_steps, + save_total_limit=save_total_limit, + logging_steps=logging_steps, + gradient_accumulation_steps=gradient_accumulation_steps, + ) + + trainer = Trainer( + model=model, + args=training_args, + data_collator=data_collator, + tokenizer=tokenizer.tokenizer, + train_dataset=dataset, + ) + trainer.train() + trainer.save_model(output_dir) diff --git a/EduNLP/Pretrain/gensim_vec.py b/EduNLP/Pretrain/gensim_vec.py index 17482b23..51d408ae 100644 --- a/EduNLP/Pretrain/gensim_vec.py +++ b/EduNLP/Pretrain/gensim_vec.py @@ -19,17 +19,24 @@ class GensimWordTokenizer(object): Parameters ---------- - symbol: - gm - fgm - gmas - fgmas - general: - True when item isn't in standard format, and want to tokenize formulas(except formulas in figure) linearly. - False when use 'ast' mothed to tokenize formulas instead of 'linear'. + symbol: str + select the methods to symbolize: + "t": text, + "f": formula, + "g": figure, + "m": question mark, + "a": tag, + "s": sep, + e.g.: gm, fgm, gmas, fgmas + general: bool + + True: when item isn't in standard format, and want to tokenize formulas(except formulas in figure) linearly. + + False: when use 'ast' mothed to tokenize formulas instead of 'linear'. Returns ---------- + tokenizer: Tokenizer Examples ---------- @@ -76,9 +83,39 @@ class GensimSegTokenizer(object): # pragma: no cover Parameters ---------- - symbol: - gms - fgm + symbol:str + select the methods to symbolize: + "t": text, + "f": formula, + "g": figure, + "m": question mark, + "a": tag, + "s": sep, + e.g. gms, fgm + + depth: int or None + + 0: only separate at \\SIFSep ; + 1: only separate at \\SIFTag ; + 2: separate at \\SIFTag and \\SIFSep ; + otherwise, separate all segments ; + + Returns + ---------- + tokenizer: Tokenizer + + Examples + ---------- + >>> tokenizer = GensimSegTokenizer(symbol="gms", depth=None) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item[:10]) + [['公式'], [\\FormFigureID{wrong1?}], ['如图'], ['[FIGURE]'],...['最大值'], ['[MARK]']] + >>> tokenizer = GensimSegTokenizer(symbol="fgm", depth=None) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item[:10]) + [['公式'], ['[FORMULA]'], ['如图'], ['[FIGURE]'], ['[FORMULA]'],...['[FORMULA]'], ['最大值'], ['[MARK]']] """ def __init__(self, symbol="gms", depth=None, flatten=False, **kwargs): self.symbol = symbol @@ -117,6 +154,7 @@ def __call__(self, item, flatten=None, **kwargs): class MonitorCallback(CallbackAny2Vec): + """record the loss in each epoch""" def __init__(self, test_words): self.epoch = 0 self._test_words = test_words @@ -127,6 +165,38 @@ def on_epoch_end(self, model): def train_vector(items, w2v_prefix, embedding_dim=None, method="sg", binary=None, train_params=None): + """ + + Parameters + ---------- + items:str + the text of question + w2v_prefix + embedding_dim:int + vector_size + method:str + the method of training, + e.g.: sg, cbow, fasttext, d2v, bow, tfidf + binary: model format + True:bin; + False:kv + train_params: dict + the training parameters passed to model + + Returns + ---------- + tokenizer: Tokenizer + + Examples + ---------- + >>> tokenizer = GensimSegTokenizer(symbol="gms", depth=None) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item[:10]) + [['公式'], [\\FormFigureID{wrong1?}], ['如图'], ['[FIGURE]'],...['最大值'], ['[MARK]']] + >>> train_vector(token_item[:10], "examples/test_model/data/gensim_luna_stem_t_", 100) #doctest: +ELLIPSIS + 'examples/test_model/data/gensim_luna_stem_t_sg_100.kv' + """ monitor = MonitorCallback(["word", "I", "less"]) _train_params = dict( min_count=0, diff --git a/EduNLP/SIF/__init__.py b/EduNLP/SIF/__init__.py index 418baea5..64720c52 100644 --- a/EduNLP/SIF/__init__.py +++ b/EduNLP/SIF/__init__.py @@ -3,3 +3,4 @@ from .sif import is_sif, to_sif, sif4sci from .tokenization import link_formulas +from .constants import * diff --git a/EduNLP/SIF/parser/parser.py b/EduNLP/SIF/parser/parser.py index db290946..b9b1e269 100644 --- a/EduNLP/SIF/parser/parser.py +++ b/EduNLP/SIF/parser/parser.py @@ -1,8 +1,21 @@ from EduNLP.Formula.ast import str2ast, katex_parse +import re class Parser: - def __init__(self, data): + """ + initial data and special variable + + Attributes + ---------- + get_token + Get different elements in the item. + txt_list + show txt list + description_list + use Parser to process and describe the txt + """ + def __init__(self, data, check_formula=True): self.lookahead = 0 self.head = 0 self.text = data @@ -13,6 +26,7 @@ def __init__(self, data): self.warnning = 0 self.fomula_illegal_flag = 0 self.fomula_illegal_message = '' + self.check_formula = check_formula # 定义特殊变量 self.len_bracket = len('$\\SIFChoice$') @@ -98,6 +112,17 @@ def call_error(self): self.error_flag = 1 def get_token(self): + r""" + Get different elements in the item. + + Parameters + ---------- + + Returns + ------- + elements:chinese,alphabet,number,ch_pun_list,en_pun_list,latex formula + + """ if self.head >= len(self.text): return self.empty ch = self.text[self.head] @@ -222,7 +247,7 @@ def get_token(self): while self.head < len(self.text) and self.text[self.head] != '$': ch_informula = self.text[self.head] if flag and self.is_chinese(ch_informula): - # latex 中出现中文字符,打印且只打印一次 warning + # latex 中出现非法中文字符,打印且只打印一次 warning print("Warning: there is some chinese characters in formula!") self.warnning = 1 flag = 0 @@ -230,8 +255,9 @@ def get_token(self): if self.head >= len(self.text): self.call_error() return self.error + # 检查latex公式的完整性和可解析性 - if not self._is_formula_legal(self.text[formula_start:self.head]): + if self.check_formula and not self._is_formula_legal(self.text[formula_start:self.head]): self.call_error() return self.error self.head += 1 diff --git a/EduNLP/SIF/segment/segment.py b/EduNLP/SIF/segment/segment.py index 93c5713f..39e2f869 100644 --- a/EduNLP/SIF/segment/segment.py +++ b/EduNLP/SIF/segment/segment.py @@ -16,16 +16,19 @@ class LatexFormulaSegment(str): class Figure(object): + """decode figure which has been encode by base64""" def __init__(self, is_base64=False): self.base64 = is_base64 self.figure = None @classmethod def base64_to_numpy(cls, figure: str): + """Creat a arrary in a designated buffer""" return np.frombuffer(base64.b64decode(figure), dtype=np.uint8) class FigureFormulaSegment(Figure): + """Duel with figureformula, especially coding in base64""" def __init__(self, src, is_base64=False, figure_instance: (dict, bool) = None): super(FigureFormulaSegment, self).__init__(is_base64) self.src = src @@ -45,6 +48,7 @@ def __repr__(self): class FigureSegment(Figure): + """Duel with figure, especially coding in base64""" def __init__(self, src, is_base64=False, figure_instance: (dict, bool) = None): super(FigureSegment, self).__init__(is_base64) self.src = src @@ -76,6 +80,41 @@ class SepSegment(str): class SegmentList(object): + """ + + Parameters + ---------- + item + figures:dict + + Returns + ---------- + list + tokenizated item + + Examples + -------- + >>> test_item = "如图所示,则三角形$ABC$的面积是$\\SIFBlank$。$\\FigureID{1}$" + >>> SegmentList(test_item) + ['如图所示,则三角形', 'ABC', '的面积是', '\\\\SIFBlank', '。', \\FigureID{1}] + + Attributes + ---------- + segments + show all segments + text_segments + show text segments + formula_segments + show formula segments + figure_segments + show figure sements + ques_mark_segments + show question mark segments + tag_segments + show tag segments + describe + show number of each elements + """ def __init__(self, item, figures: dict = None): self._segments = [] self._text_segments = [] @@ -119,6 +158,7 @@ def __len__(self): return len(self._segments) def append(self, segment) -> None: + """add segment to corresponding segments""" if isinstance(segment, TextSegment): self._text_segments.append(len(self)) elif isinstance(segment, (LatexFormulaSegment, FigureFormulaSegment)): @@ -137,6 +177,7 @@ def append(self, segment) -> None: @property def segments(self): + """return segments""" if self._seg_idx is None: return self._segments else: @@ -144,29 +185,37 @@ def segments(self): @property def text_segments(self): + """return text segments""" return [self._segments[i] for i in self._text_segments] @property def formula_segments(self): + """return formula segments""" return [self._segments[i] for i in self._formula_segments] @property def figure_segments(self): + """return figure segments""" return [self._segments[i] for i in self._figure_segments] @property def ques_mark_segments(self): + """return question mark segments""" return [self._segments[i] for i in self._ques_mark_segments] @property def tag_segments(self): + """return tag segments""" return [self._segments[i] for i in self._tag_segments] def to_symbol(self, idx, symbol): + """switch element to its symbol""" self._segments[idx] = symbol def symbolize(self, to_symbolize="fgm"): """ + Switch designated elements to symbol. \ + It is a good way to protect or preserve the elements which we don't want to tokenize. Parameters ---------- @@ -175,6 +224,8 @@ def symbolize(self, to_symbolize="fgm"): "f": formula "g": figure "m": question mark + "a": tag + "s": sep Returns ------- @@ -201,6 +252,16 @@ def symbolize(self, to_symbolize="fgm"): @contextmanager def filter(self, drop: (set, str) = "", keep: (set, str) = "*"): + """ + Output special element list selective.Drop means not show.Keep means show. + + Parameters + ---------- + drop: set or str + The alphabet should be included in "tfgmas", which means drop selected segments out of return value. + keep: set or str + The alphabet should be included in "tfgmas", which means only keep selected segments in return value. + """ _drop = {c for c in drop} if isinstance(drop, str) else drop if keep == "*": _keep = {c for c in "tfgmas" if c not in _drop} @@ -223,6 +284,7 @@ def filter(self, drop: (set, str) = "", keep: (set, str) = "*"): self._seg_idx = None def describe(self): + """show the length of different segments""" return { "t": len(self._text_segments), "f": len(self._formula_segments), @@ -233,6 +295,7 @@ def describe(self): def seg(item, figures=None, symbol=None): r""" + It is a interface for SegmentList. And show it in an appropriate way. Parameters ---------- @@ -242,6 +305,8 @@ def seg(item, figures=None, symbol=None): Returns ------- + list + segmented item Examples -------- @@ -282,18 +347,18 @@ def seg(item, figures=None, symbol=None): ... } >>> from EduNLP.utils import dict2str4sif >>> test_item_1_str = dict2str4sif(test_item_1) - >>> test_item_1_str # doctest: +ELLIPSIS + >>> test_item_1_str '$\\SIFTag{stem_begin}$...$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$$\\SIFTag{list_0}$0...$\\SIFTag{options_end}$' >>> s1 = seg(test_item_1_str, symbol="tfgm") - >>> s1 # doctest: +ELLIPSIS + >>> s1 ['\\SIFTag{stem_begin}'...'\\SIFTag{stem_end}', '\\SIFTag{options_begin}', '\\SIFTag{list_0}', ...] >>> with s1.filter(keep="a"): - ... s1 # doctest: +ELLIPSIS + ... s1 [...'\\SIFTag{list_0}', '\\SIFTag{list_1}', '\\SIFTag{list_2}', '\\SIFTag{list_3}', '\\SIFTag{options_end}'] - >>> s1.tag_segments # doctest: +ELLIPSIS + >>> s1.tag_segments ['\\SIFTag{stem_begin}', '\\SIFTag{stem_end}', '\\SIFTag{options_begin}', ... '\\SIFTag{options_end}'] >>> test_item_1_str_2 = dict2str4sif(test_item_1, tag_mode="head", add_list_no_tag=False) - >>> seg(test_item_1_str_2, symbol="tfgmas") # doctest: +ELLIPSIS + >>> seg(test_item_1_str_2, symbol="tfgmas") ['[TAG]', ... '[TAG]', '[TEXT]', '[SEP]', '[TEXT]', '[SEP]', '[FORMULA]', '[SEP]', '[TEXT]'] >>> s2 = seg(test_item_1_str_2, symbol="fgm") >>> s2.tag_segments diff --git a/EduNLP/SIF/sif.py b/EduNLP/SIF/sif.py index af4fa63a..41518966 100644 --- a/EduNLP/SIF/sif.py +++ b/EduNLP/SIF/sif.py @@ -10,17 +10,31 @@ __all__ = ["is_sif", "to_sif", "sif4sci"] -def is_sif(item): +def is_sif(item, check_formula=True, return_parser=False): r""" + the part aims to check whether the input is sif format + Parameters ---------- - item + item:str + a raw item which respects stem + check_formula: bool + whether to check the formulas when parsing item. + + True if check the validity of formulas in item + False if not check the validity of formulas in item, which is faster + return_parser: bool + whether to put the parsed item in return. + + when True, the format of return is (bool, Parser) + when False, the format of return is bool Returns ------- - when item can not be parsed correctly, raise Error; - when item doesn't need to be modified, return Ture; - when item needs to be modified, return False; + bool + when item can not be parsed correctly, raise ValueError; + when item is in stardarded format originally, return Ture (and the Parser of item); + when item isn't in stardarded format originally, return False (and the Parser of item); Examples -------- @@ -30,27 +44,38 @@ def is_sif(item): >>> is_sif(text) True >>> text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...' - >>> is_sif(text) - False + >>> ret = is_sif(text, return_parser=True) + >>> ret # doctest: +ELLIPSIS + (False, ) """ - item_parser = Parser(item) + item_parser = Parser(item, check_formula) item_parser.description_list() if item_parser.fomula_illegal_flag: raise ValueError(item_parser.fomula_illegal_message) - if item_parser.error_flag == 0 and item_parser.modify_flag == 0: - return True - return False + ret = True if item_parser.error_flag == 0 and item_parser.modify_flag == 0 else False + if return_parser is True: + return ret, item_parser + else: + return ret -def to_sif(item): +def to_sif(item, check_formula=True, parser: Parser = None): r""" + the part aims to switch item to sif formate + Parameters ---------- - item + items:str + a raw item which respects stem + check_formula: bool + whether to check the formulas when parsing item (only work when parser=None). + parser: Parser + the parser of item returned from is_sif. Returns ------- - item + item:str + the item which accords with sif format Examples -------- @@ -58,14 +83,20 @@ def to_sif(item): >>> siftext = to_sif(text) >>> siftext '某校一个课外学习小组为研究某作物的发芽率$y$和温度$x$(单位...' + >>> ret = is_sif(text, return_parser=True) + >>> ret # doctest: +ELLIPSIS + (False, ) + >>> to_sif(text, parser=ret[1]) + '某校一个课外学习小组为研究某作物的发芽率$y$和温度$x$(单位... + """ - item_parser = Parser(item) - item_parser.description_list() - item = item_parser.text - return item + if parser is not None: + return parser.text + else: + return is_sif(item, check_formula, return_parser=True)[1].text -def sif4sci(item: str, figures: (dict, bool) = None, safe=True, symbol: str = None, tokenization=True, +def sif4sci(item: str, figures: (dict, bool) = None, mode: int = 2, symbol: str = None, tokenization=True, tokenization_params=None, errors="raise"): r""" @@ -73,29 +104,58 @@ def sif4sci(item: str, figures: (dict, bool) = None, safe=True, symbol: str = No Parameters ---------- - item - figures - safe - symbol - tokenization + item:str + a raw item which respects stem + figures:dict + when it is a dict, it means the id-to-instance for figures in 'FormFigureID{...}' format, + when it is a bool, it means whether to instantiate figures in 'FormFigureBase64{...}' format + + mode: int + when safe = 2, use is_sif and check formula in item + when safe = 1, use is_sif but don't check formula in item + when safe = 0, don't use is_sif and don't check anything in item + + symbol: str + select the methods to symbolize: + "t": text + "f": formula + "g": figure + "m": question mark + "a": tag + "s": sep + + tokenization: bool + whether to tokenize item after segmentation + tokenization_params: - method: which tokenizer to be used, "linear" or "ast" - The parameters only useful for "linear": + the dict of text_params, formula_params and figure_params in tokenization + For formula_params: + method: which tokenizer to be used, "linear" or "ast" + The parameters only useful for "linear": + skip_figure_formula: whether to skip the formula in figure format + symbolize_figure_formula: whether to symbolize the formula in figure format + The parameters only useful for "ast": + ord2token: whether to transfer the variables (mathord) and constants (textord) to special tokens. + var_numbering: whether to use number suffix to denote different variables + return_type: 'list' or 'ast' + More parameters can be found in the definition in SIF.tokenization.formula + For figure_params: + figure_instance:whether to return instance of figures in tokens + For text_params: + See definition in SIF.tokenization.text - The parameters only useful for "ast": - ord2token: whether to transfer the variables (mathord) and constants (textord) to special tokens. - var_numbering: whether to use number suffix to denote different variables errors: - warn - raise - coerce - strict + warn, + raise, + coerce, + strict, ignore Returns ------- - When tokenization is False, return SegmentList; - When tokenization is True, return TokenList + list + When tokenization is False, return SegmentList; + When tokenization is True, return TokenList Examples -------- @@ -189,8 +249,15 @@ def sif4sci(item: str, figures: (dict, bool) = None, safe=True, symbol: str = No [['已知'], ['说法', '中', '正确']] """ try: - if safe is True and is_sif(item) is not True: - item = to_sif(item) + if mode in [1, 2]: + check_formula = True if mode == 1 else False + sif, item_parser = is_sif(item, check_formula=check_formula, return_parser=True) + if sif is not True: + item = to_sif(item, parser=item_parser) + elif mode != 0: + raise KeyError( + "Unknown mode %s, use only 0 or 1 or 2." % mode + ) ret = seg(item, figures, symbol) diff --git a/EduNLP/SIF/tokenization/formula/ast_token.py b/EduNLP/SIF/tokenization/formula/ast_token.py index 67ca8ffd..22a2af23 100644 --- a/EduNLP/SIF/tokenization/formula/ast_token.py +++ b/EduNLP/SIF/tokenization/formula/ast_token.py @@ -35,6 +35,10 @@ # return nodes def traversal_formula(ast, ord2token=False, var_numbering=False, strategy="post", *args, **kwargs): + """ + The part will run only when the return type is list. And it provides two strategy: post and linear. + Besides, tokens list will append node follow its type. + """ tokens = [] if strategy == "post": order = nx.dfs_postorder_nodes(ast) @@ -58,6 +62,7 @@ def traversal_formula(ast, ord2token=False, var_numbering=False, strategy="post" def ast_tokenize(formula, ord2token=False, var_numbering=False, return_type="formula", *args, **kwargs): """ + According to return type, tokenizing formula by different methods. Parameters ---------- diff --git a/EduNLP/SIF/tokenization/formula/formula.py b/EduNLP/SIF/tokenization/formula/formula.py index 8afbe2da..eb08f418 100644 --- a/EduNLP/SIF/tokenization/formula/formula.py +++ b/EduNLP/SIF/tokenization/formula/formula.py @@ -9,6 +9,7 @@ def tokenize(formula, method="linear", errors="raise", **kwargs): """ + The total function to tokenize formula by linear or ast. Parameters ---------- diff --git a/EduNLP/SIF/tokenization/formula/linear_token.py b/EduNLP/SIF/tokenization/formula/linear_token.py index 7b5d1212..1e3236bc 100644 --- a/EduNLP/SIF/tokenization/formula/linear_token.py +++ b/EduNLP/SIF/tokenization/formula/linear_token.py @@ -6,6 +6,37 @@ def cut(formula, preserve_braces=True, with_dollar=False, preserve_dollar=False, number_as_tag=False, preserve_src=True): # pragma: no cover + """ + cut formula thoroughly + + Parameters + ---------- + formula:str + preserve_braces: + when it is False "{" and "}" will be filted + with_dollar: + have dollar or not + preserve_dollar: + keep "$" + number_as_tag: + whether switch number to tag, it just can idenify the number which is more than one bit. + preserve_src + + Returns + -------- + list + return a preliminary list which cut fully + + Examples + ---------- + >>> cut(r"${x + y}^\\frac{1}{2} + 12.1 = 0$") + ['{x + y}', '^', '\\\\f', 'r', 'a', 'c', '{1}', '{2}', '+', '12.1', '=', '0'] + >>> cut(r"${x + y}^\\frac{1}{2} + 12.1 = 0$",preserve_dollar=False) + ['{x + y}', '^', '\\\\f', 'r', 'a', 'c', '{1}', '{2}', '+', '12.1', '=', '0'] + >>> cut(r"${x + y}^\\frac{1}{2} + 12.1 = 0$",number_as_tag=True) + ['{x + y}', '^', '\\\\f', 'r', 'a', 'c', '{1}', '{2}', '+', '{decimal}', '=', '0'] + + """ class States(IntFlag): CHAR = 0 MATH = 1 @@ -135,6 +166,7 @@ class States(IntFlag): def reduce(fea): # pragma: no cover + """restore some formula""" rules = [ ('a r c s i n', 'arcsin'), ('a r c c o s', 'arccos'), @@ -165,6 +197,7 @@ def reduce(fea): # pragma: no cover def connect_char(words): # pragma: no cover + """connect and switch to list type""" result = [] buffer = "" for w in words: @@ -201,6 +234,8 @@ def latex_parse(formula, preserve_braces=True, with_dollar=True, def linear_tokenize(formula, preserve_braces=True, number_as_tag=False, *args, **kwargs): """ + linear tokenize formula. + It includes three processes:cut, reduce and connect_char. Parameters ---------- diff --git a/EduNLP/SIF/tokenization/text/tokenization.py b/EduNLP/SIF/tokenization/text/tokenization.py index cee23a50..2e063f85 100644 --- a/EduNLP/SIF/tokenization/text/tokenization.py +++ b/EduNLP/SIF/tokenization/text/tokenization.py @@ -9,6 +9,7 @@ def tokenize(text, granularity="word", stopwords="default"): """ + Using jieba library to tokenize item by word or char. Parameters ---------- diff --git a/EduNLP/SIF/tokenization/tokenization.py b/EduNLP/SIF/tokenization/tokenization.py index 299eaf62..650492c4 100644 --- a/EduNLP/SIF/tokenization/tokenization.py +++ b/EduNLP/SIF/tokenization/tokenization.py @@ -2,6 +2,7 @@ # 2021/5/18 @ tongshiwei from contextlib import contextmanager +from copy import deepcopy from EduNLP.Formula import link_formulas as _link_formulas, Formula from ..constants import ( Symbol, TEXT_SYMBOL, FIGURE_SYMBOL, FORMULA_SYMBOL, QUES_MARK_SYMBOL, TAG_SYMBOL, SEP_SYMBOL, @@ -16,9 +17,30 @@ class TokenList(object): """ + Parameters + ---------- + segment_list:list + segmented item + text_params:dict + formula_params:dict + figure_params:dict + Attributes ------------- - + tokens + show all tokens + text_tokens + show text tokens + formula_tokens + show formula tokens + figure_tokens + show figure tokens + ques_mark_tokens + show question mark tokens + tag_tokens + show tag tokens + describe + show number of each elements """ def __init__(self, segment_list: SegmentList, text_params=None, formula_params=None, figure_params=None): self._tokens = [] @@ -38,21 +60,23 @@ def __init__(self, segment_list: SegmentList, text_params=None, formula_params=N "s": [] } self.text_params = text_params if text_params is not None else {} + + self.formula_params = deepcopy(formula_params) if formula_params is not None else {"method": "linear"} + self.symbolize_figure_formula = False self.skip_figure_formula = False - if formula_params is not None: - if "symbolize_figure_formula" in formula_params: - self.symbolize_figure_formula = formula_params.pop("symbolize_figure_formula") - if "skip_figure_formula" in formula_params: - self.skip_figure_formula = formula_params.pop("skip_figure_formula") - - self.formula_params = formula_params if formula_params is not None else {"method": "linear"} + if "symbolize_figure_formula" in self.formula_params: + self.symbolize_figure_formula = self.formula_params.pop("symbolize_figure_formula") + if "skip_figure_formula" in self.formula_params: + self.skip_figure_formula = self.formula_params.pop("skip_figure_formula") self.formula_tokenize_method = self.formula_params.get("method") + self.figure_params = figure_params if figure_params is not None else {} self.extend(segment_list.segments) self._token_idx = None def _variable_standardization(self): + """It makes same parmeters have the same number.""" if self.formula_tokenize_method == "ast": ast_formulas = [self._tokens[i] for i in self._formula_tokens if isinstance(self._tokens[i], Formula)] if ast_formulas: @@ -60,6 +84,22 @@ def _variable_standardization(self): @contextmanager def add_seg_type(self, seg_type, tar: list, add_seg_type=True, mode="delimiter"): + """ + Add seg tag in different position + + Parameters + ---------- + seg_type:str + t: text + f:formula + tar:list + add_seg_type + if the value==False, the function will not be executed. + mode:str + delimiter: both in the head and at the tail + head: only in the head + tail: only at the tail + """ if add_seg_type is True and mode in {"delimiter", "head"}: if seg_type == "t": tar.append(TEXT_BEGIN) @@ -79,6 +119,7 @@ def add_seg_type(self, seg_type, tar: list, add_seg_type=True, mode="delimiter") def get_segments(self, add_seg_type=True, add_seg_mode="delimiter", keep="*", drop="", depth=None): # pragma: no cover r""" + call segment function. Parameters ---------- @@ -97,6 +138,8 @@ def get_segments(self, add_seg_type=True, add_seg_mode="delimiter", keep="*", dr Returns ------- + list + segmented item """ keep = set("tfgmas" if keep == "*" else keep) - set(drop) @@ -125,6 +168,7 @@ def get_segments(self, add_seg_type=True, add_seg_mode="delimiter", keep="*", dr return _segments def __get_segments(self, seg_type): + """It aims to understand letters' meaning.""" _segments = [] for i in self._seg_types[seg_type]: _segment = [] @@ -137,22 +181,27 @@ def __get_segments(self, seg_type): @property def text_segments(self): + """get text segment""" return self.__get_segments("t") @property def formula_segments(self): + """get formula segment""" return self.__get_segments("f") @property def figure_segments(self): + """get figure segment""" return self.__get_segments("g") @property def ques_mark_segments(self): + """get question mark segment""" return self.__get_segments("m") @property def tokens(self): + """add token to a list""" tokens = [] if self._token_idx is not None: for i, token in enumerate(self._tokens): @@ -164,6 +213,7 @@ def tokens(self): return tokens def append_text(self, segment, symbol=False): + """append text""" with self._append("t"): if symbol is False: tokens = text.tokenize(segment, **self.text_params) @@ -175,6 +225,7 @@ def append_text(self, segment, symbol=False): self._tokens.append(segment) def append_formula(self, segment, symbol=False, init=True): + """append formula by different methods""" with self._append("f"): if symbol is True: self._formula_tokens.append(len(self._tokens)) @@ -198,27 +249,32 @@ def append_formula(self, segment, symbol=False, init=True): self._tokens.append(token) def append_figure(self, segment, **kwargs): + """append figure""" with self._append("g"): self._figure_tokens.append(len(self._tokens)) self._tokens.append(segment) def append_ques_mark(self, segment, **kwargs): + """append question mark""" with self._append("m"): self._ques_mark_tokens.append(len(self._tokens)) self._tokens.append(segment) def append_tag(self, segment, **kwargs): + """append tag""" with self._append("a"): self._tag_tokens.append(len(self._tokens)) self._tokens.append(segment) def append_sep(self, segment, **kwargs): + """append sep""" with self._append("s"): self._sep_tokens.append(len(self._tokens)) self._tokens.append(segment) @contextmanager def _append(self, seg_type): + """It aims to understand letters' meaning.""" start = len(self._tokens) yield end = len(self._tokens) @@ -226,6 +282,16 @@ def _append(self, seg_type): self._segments.append((start, end, seg_type)) def append(self, segment, lazy=False): + """ + the total api for appending elements + + Parameters + ---------- + segment + lazy + True:Doesn't distinguish parmeters. + False:It makes same parmeters have the same number. + """ if isinstance(segment, TextSegment): self.append_text(segment) elif isinstance(segment, (LatexFormulaSegment, FigureFormulaSegment)): @@ -259,15 +325,18 @@ def append(self, segment, lazy=False): raise TypeError("Unknown segment type: %s" % type(segment)) def extend(self, segments): + """append every segment in turn""" for segment in segments: self.append(segment, True) self._variable_standardization() @property def text_tokens(self): + """return text tokens""" return [self._tokens[i] for i in self._text_tokens] def __add_token(self, token, tokens): + """classify token to tokens""" if isinstance(token, Formula): if self.formula_params.get("return_type") == "list": tokens.extend(formula.traversal_formula(token.ast_graph, **self.formula_params)) @@ -285,6 +354,7 @@ def __add_token(self, token, tokens): @property def formula_tokens(self): + """return formula tokens""" tokens = [] for i in self._formula_tokens: self.__add_token(self._tokens[i], tokens) @@ -292,6 +362,7 @@ def formula_tokens(self): @property def figure_tokens(self): + """return figure tokens""" tokens = [] for i in self._figure_tokens: self.__add_token(self._tokens[i], tokens) @@ -299,6 +370,7 @@ def figure_tokens(self): @property def ques_mark_tokens(self): + """return question mark tokens""" return [self._tokens[i] for i in self._ques_mark_tokens] def __repr__(self): @@ -306,10 +378,26 @@ def __repr__(self): @property def inner_formula_tokens(self): + """return inner formula tokens""" return [self._tokens[i] for i in self._formula_tokens] @contextmanager def filter(self, drop: (set, str) = "", keep: (set, str) = "*"): + """ + Output special element list selective.Drop means not show.Keep means show. + + Parameters + ---------- + drop: set or str + The alphabet should be included in "tfgmas", which means drop selected segments out of return value. + keep: set or str + The alphabet should be included in "tfgmas", which means only keep selected segments in return value. + + Returns + -------- + list + filted list + """ _drop = {c for c in drop} if isinstance(drop, str) else drop if keep == "*": _keep = {c for c in "tfgmas" if c not in _drop} @@ -332,6 +420,7 @@ def filter(self, drop: (set, str) = "", keep: (set, str) = "*"): self._token_idx = None def describe(self): + """show the total number of each elements""" return { "t": len(self._text_tokens), "f": len(self._formula_tokens), @@ -341,10 +430,38 @@ def describe(self): def tokenize(segment_list: SegmentList, text_params=None, formula_params=None, figure_params=None): + """ + an actual api to tokenize item + + Parameters + ---------- + segment_list:list + segmented item + text_params:dict + the method to duel with text + formula_params:dict + the method to duel with formula + figure_params:dict + the method to duel with figure + + Returns + ---------- + list + tokenized item + + Examples + -------- + >>> items = "如图所示,则三角形$ABC$的面积是$\\SIFBlank$。$\\FigureID{1}$" + >>> tokenize(SegmentList(items)) + ['如图所示', '三角形', 'ABC', '面积', '\\\\SIFBlank', \\FigureID{1}] + >>> tokenize(SegmentList(items),formula_params={"method": "ast"}) + ['如图所示', '三角形', , '面积', '\\\\SIFBlank', \\FigureID{1}] + """ return TokenList(segment_list, text_params, formula_params, figure_params) def link_formulas(*token_list: TokenList, link_vars=True): + """call formula function""" ast_formulas = [] for tl in token_list: if tl.formula_tokenize_method == "ast": diff --git a/EduNLP/Tokenizer/tokenizer.py b/EduNLP/Tokenizer/tokenizer.py index bb7b47e5..64e40970 100644 --- a/EduNLP/Tokenizer/tokenizer.py +++ b/EduNLP/Tokenizer/tokenizer.py @@ -15,6 +15,19 @@ def __call__(self, *args, **kwargs): class PureTextTokenizer(Tokenizer): r""" + Duel with text and plain text formula. + And filting special formula like $\\FormFigureID{…}$ and $\\FormFigureBase64{…}. + + Parameters + ---------- + items: str + key + args + kwargs + + Returns + ------- + token Examples -------- @@ -40,7 +53,6 @@ class PureTextTokenizer(Tokenizer): '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', '\\quad', 'A', '\\cap', 'B', '='] """ - def __init__(self, *args, **kwargs): self.tokenization_params = { "formula_params": { @@ -56,6 +68,18 @@ def __call__(self, items: Iterable, key=lambda x: x, *args, **kwargs): class TextTokenizer(Tokenizer): r""" + Duel with text and formula including special formula. + + Parameters + ---------- + items: str + key + args + kwargs + + Returns + ------- + token Examples ---------- @@ -65,8 +89,13 @@ class TextTokenizer(Tokenizer): >>> tokens = tokenizer(items) >>> next(tokens)[:10] ['公式', '[FORMULA]', '如图', '[FIGURE]', 'x', ',', 'y', '约束条件', '公式', '[FORMULA]'] + >>> items = ["$\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem_end}$\ + ... $\\SIFTag{options_begin}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$\ + ... $\\SIFTag{list_3}$2$\\SIFTag{options_end}$"] + >>> tokens = tokenizer(items) + >>> next(tokens)[:10] + ['[TAG]', '复数', 'z', '=', '1', '+', '2', 'i', '+', 'i'] """ - def __init__(self, *args, **kwargs): self.tokenization_params = { "formula_params": { @@ -88,12 +117,16 @@ def __call__(self, items: Iterable, key=lambda x: x, *args, **kwargs): def get_tokenizer(name, *args, **kwargs): r""" + It is a total interface to use difference tokenizer. Parameters ---------- name: str - args - kwargs + the name of tokenizer, e.g. text, pure_text. + args: + the parameters passed to tokenizer + kwargs: + the parameters passed to tokenizer Returns ------- diff --git a/EduNLP/Vector/__init__.py b/EduNLP/Vector/__init__.py index efccc5ad..ba4618dd 100644 --- a/EduNLP/Vector/__init__.py +++ b/EduNLP/Vector/__init__.py @@ -4,5 +4,6 @@ from .gensim_vec import W2V, D2V, BowLoader, TfidfLoader from .const import * from .rnn import RNNModel -from .t2v import T2V, get_pretrained_t2v +from .t2v import T2V, get_pretrained_t2v, PRETRAINED_MODELS from .embedding import Embedding +from .bert_vec import BertModel diff --git a/EduNLP/Vector/bert_vec.py b/EduNLP/Vector/bert_vec.py new file mode 100644 index 00000000..6f0fef5a --- /dev/null +++ b/EduNLP/Vector/bert_vec.py @@ -0,0 +1,57 @@ +import numpy as np +from pathlib import PurePath +from transformers import AutoModel +from .const import UNK, PAD +from .meta import Vector +import torch + + +class BertModel(Vector): + """ + Examples + -------- + >>> from EduNLP.Pretrain import BertTokenizer + >>> tokenizer = BertTokenizer("bert-base-chinese") + >>> model = BertModel("bert-base-chinese", tokenizer=tokenizer) + >>> item = ["有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,若$x,y$满足约束", + ... "有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,若$x,y$满足约束"] + >>> inputs = tokenizer(item, return_tensors='pt') + >>> output = model(inputs) + >>> output.shape + torch.Size([2, 12, 768]) + >>> tokens = model.infer_tokens(inputs) + >>> tokens.shape + torch.Size([2, 10, 768]) + >>> tokens = model.infer_tokens(inputs, return_special_tokens=True) + >>> tokens.shape + torch.Size([2, 12, 768]) + >>> item = model.infer_vector(inputs) + >>> item.shape + torch.Size([2, 768]) + """ + def __init__(self, pretrained_model, tokenizer=None): + self.model = AutoModel.from_pretrained(pretrained_model) + if tokenizer: + self.model.resize_token_embeddings(len(tokenizer.tokenizer)) + + def __call__(self, items: dict): + # 1, sent_len, embedding_size + tokens = self.model(**items).last_hidden_state + return tokens + + def infer_vector(self, items: dict) -> torch.Tensor: + vector = self(items) + return vector[:, 0, :] + + def infer_tokens(self, items: dict, return_special_tokens=False) -> torch.Tensor: + tokens = self(items) + if return_special_tokens: + # include embedding of [CLS] and [SEP] + return tokens + else: + # ignore embedding of [CLS] and [SEP] + return tokens[:, 1:-1, :] + + @property + def vector_size(self): + return self.model.config.hidden_size diff --git a/EduNLP/Vector/gensim_vec.py b/EduNLP/Vector/gensim_vec.py index 13c5600a..ece25442 100644 --- a/EduNLP/Vector/gensim_vec.py +++ b/EduNLP/Vector/gensim_vec.py @@ -11,16 +11,19 @@ class W2V(Vector): + """ + The part uses gensim library providing FastText, Word2Vec and KeyedVectors method to transfer word to vector. + + Parameters + ---------- + filepath: + path to the pretrained model file + method: str + fasttext + other(Word2Vec) + binary + """ def __init__(self, filepath, method=None, binary=None): - """ - - Parameters - ---------- - filepath: - path to the pretrained model file - method - binary - """ fp = PurePath(filepath) self.binary = binary if binary is not None else (True if fp.suffix == ".bin" else False) if self.binary is True: @@ -59,17 +62,34 @@ def __call__(self, *words): yield self[word] def __getitem__(self, item): - return self.wv[item] if item not in self.constants else np.zeros((self.vector_size,)) + index = self.key_to_index(item) + return self.wv[item] if index not in self.constants.values() else np.zeros((self.vector_size,)) def infer_vector(self, items, agg="mean", *args, **kwargs) -> np.ndarray: - tokens = self.infer_tokens(items, *args, **kwargs) - return eval("np.%s" % agg)(tokens, axis=1) + token_vectors = self.infer_tokens(items, *args, **kwargs) + return [eval("np.%s" % agg)(item, axis=0) for item in token_vectors] def infer_tokens(self, items, *args, **kwargs) -> list: return [list(self(*item)) for item in items] class BowLoader(object): + """ + Using doc2bow model, which has a lot of effects. + + Convert document (a list of words) into the bag-of-words format = list of \ + (token_id, token_count) 2-tuples. Each word is assumed to be a \ + tokenized and normalized string (either unicode or utf8-encoded). \ + No further preprocessing is done on the words in document;\ + apply tokenization, stemming etc. before calling this method. + + If allow_update is set, then also update dictionary in the process: \ + create ids for new words. At the same time, update document frequencies – \ + for each word appearing in this document, increase its document frequency (self.dfs) by one. + + If allow_update is not set, this function is const, \ + aka read-only. + """ def __init__(self, filepath): self.dictionary = corpora.Dictionary.load(filepath) @@ -88,6 +108,11 @@ def vector_size(self): class TfidfLoader(object): + """ + This module implements functionality related to the Term Frequency - \ + Inverse Document Frequency \ + vector space bag-of-words models. + """ def __init__(self, filepath): self.tfidf_model = TfidfModel.load(filepath) # 'tfidf' model shold be used based on 'bow' model @@ -111,6 +136,22 @@ def vector_size(self): class D2V(Vector): + """ + It is a collection which include d2v, bow, tfidf method. + + Parameters + ----------- + filepath + method: str + d2v + bow + tfidf + item + + Returns + --------- + d2v model:D2V + """ def __init__(self, filepath, method="d2v"): self._method = method self._filepath = filepath diff --git a/EduNLP/Vector/t2v.py b/EduNLP/Vector/t2v.py index ec0887ef..4bb72727 100644 --- a/EduNLP/Vector/t2v.py +++ b/EduNLP/Vector/t2v.py @@ -6,20 +6,42 @@ from EduData import get_data from .rnn import RNNModel from .gensim_vec import W2V, D2V +from .bert_vec import BertModel from .meta import Vector from EduNLP.constant import MODEL_DIR + MODELS = { "w2v": W2V, "d2v": D2V, "rnn": RNNModel, "lstm": RNNModel, "gru": RNNModel, - "elmo": RNNModel + "elmo": RNNModel, + 'bert': BertModel } class T2V(object): + """ + The function aims to transfer token list to vector. If you have a certain model, you can use T2V directly. \ + Otherwise, calling get_pretrained_t2v function is a better way to get vector which can switch it without your model. + + Parameters + ---------- + model: str + select the model type + e.g.: d2v, rnn, lstm, gru, elmo, etc. + + Examples + -------- + >>> item = [{'ques_content':'有公式$\\FormFigureID{wrong1?}$和公式$\\FormFigureBase64{wrong2?}$,\ + ... 如图$\\FigureID{088f15ea-8b7c-11eb-897e-b46bfc50aa29}$,若$x,y$满足约束条件$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$'}] + >>> path = "examples/test_model/test_gensim_luna_stem_tf_d2v_256.bin" + >>> t2v = T2V('d2v',filepath=path) + >>> print(t2v(item)) # doctest: +ELLIPSIS + [array([...dtype=float32)] + """ def __init__(self, model: str, *args, **kwargs): model = model.lower() self.model_type = model @@ -49,10 +71,42 @@ def vector_size(self) -> int: "d2v_lit_256": ["http://base.ustc.edu.cn/data/model_zoo/EduNLP/d2v/general_literal_256.zip", "d2v"], "w2v_eng_300": ["http://base.ustc.edu.cn/data/model_zoo/EduNLP/w2v/general_english_300.zip", "w2v"], "w2v_lit_300": ["http://base.ustc.edu.cn/data/model_zoo/EduNLP/w2v/general_literal_300.zip", "w2v"], + "test_w2v": ["http://base.ustc.edu.cn/data/model_zoo/EduNLP/w2v/test_w2v_256.zip", "w2v"], + "test_d2v": ["http://base.ustc.edu.cn/data/model_zoo/EduNLP/d2v/test_256.zip", "d2v"], + "luna_bert": ["http://base.ustc.edu.cn/data/model_zoo/EduNLP/LUNABert.zip", "bert"] } def get_pretrained_t2v(name, model_dir=MODEL_DIR): + """ + It is a good idea if you want to switch token list to vector earily. + + Parameters + ---------- + name:str + select the pretrained model + e.g.: + d2v_all_256, + d2v_sci_256, + d2v_eng_256, + d2v_lit_256, + w2v_eng_300, + w2v_lit_300. + model_dir:str + the path of model, default: MODEL_DIR = '~/.EduNLP/model' + + Returns + ------- + t2v model: T2V + + Examples + -------- + >>> item = [{'ques_content':'有公式$\\FormFigureID{wrong1?}$和公式$\\FormFigureBase64{wrong2?}$,\ + ... 如图$\\FigureID{088f15ea-8b7c-11eb-897e-b46bfc50aa29}$,若$x,y$满足约束条件$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$'}] + >>> i2v = get_pretrained_t2v("test_d2v", "examples/test_model/data/d2v") # doctest: +ELLIPSIS + >>> print(i2v(item)) # doctest: +ELLIPSIS + [array([...dtype=float32)] + """ if name not in PRETRAINED_MODELS: raise KeyError( "Unknown pretrained model %s, use one of the provided pretrained models: %s" % ( diff --git a/EduNLP/utils/data.py b/EduNLP/utils/data.py index dec5d773..e901696c 100644 --- a/EduNLP/utils/data.py +++ b/EduNLP/utils/data.py @@ -11,6 +11,7 @@ @contextmanager def add_annotation(key, tag_mode, tar: list, key_as_tag=True): + """add tag""" if key_as_tag is True: if tag_mode == "delimiter": tar.append(ann_begin_format.format(key)) @@ -26,6 +27,7 @@ def add_annotation(key, tag_mode, tar: list, key_as_tag=True): def dict2str4sif(obj: dict, key_as_tag=True, tag_mode="delimiter", add_list_no_tag=True, keys=None) -> str: r""" + The function aims to transfer dictionary format item to string format item. Parameters ---------- diff --git a/docs/source/_static/formula.png b/docs/source/_static/formula.png new file mode 100644 index 00000000..10fecbd3 Binary files /dev/null and b/docs/source/_static/formula.png differ diff --git a/docs/source/_static/formulagroup.png b/docs/source/_static/formulagroup.png new file mode 100644 index 00000000..4b48f46c Binary files /dev/null and b/docs/source/_static/formulagroup.png differ diff --git a/docs/source/_static/new_flow.png b/docs/source/_static/new_flow.png new file mode 100644 index 00000000..f103cc7d Binary files /dev/null and b/docs/source/_static/new_flow.png differ diff --git "a/docs/source/_static/\346\226\260\346\265\201\347\250\213\345\233\276.png" "b/docs/source/_static/\346\226\260\346\265\201\347\250\213\345\233\276.png" new file mode 100644 index 00000000..bbfacbd3 Binary files /dev/null and "b/docs/source/_static/\346\226\260\346\265\201\347\250\213\345\233\276.png" differ diff --git "a/docs/source/_static/\346\265\201\347\250\213\345\233\276.jpg" "b/docs/source/_static/\346\265\201\347\250\213\345\233\276.jpg" new file mode 100644 index 00000000..dfdb8737 Binary files /dev/null and "b/docs/source/_static/\346\265\201\347\250\213\345\233\276.jpg" differ diff --git a/docs/source/api/ModelZoo.rst b/docs/source/api/ModelZoo.rst index ffdc764d..4a624cb9 100644 --- a/docs/source/api/ModelZoo.rst +++ b/docs/source/api/ModelZoo.rst @@ -1,5 +1,5 @@ EduNLP.ModelZoo -============== +================== rnn ----------- diff --git a/docs/source/api/formula.rst b/docs/source/api/formula.rst index a584d003..d34311c3 100644 --- a/docs/source/api/formula.rst +++ b/docs/source/api/formula.rst @@ -1,6 +1,10 @@ EduNLP.Formula ======================= +.. automodule:: EduNLP.Formula.Formula + :members: + :imported-members: + .. automodule:: EduNLP.Formula.ast :members: :imported-members: diff --git a/docs/source/api/sif.rst b/docs/source/api/sif.rst index a49f7f15..7467b7cb 100644 --- a/docs/source/api/sif.rst +++ b/docs/source/api/sif.rst @@ -8,16 +8,16 @@ SIF :imported-members: -Segment ----------- -.. automodule:: EduNLP.SIF.segment +Parser +-------- +.. automodule:: EduNLP.SIF.parser.parser.Parser :members: :imported-members: -Parser --------- -.. automodule:: EduNLP.SIF.parser +Segment +---------- +.. automodule:: EduNLP.SIF.segment.segment :members: :imported-members: @@ -40,6 +40,14 @@ text formula ^^^^^^^^^ -.. automodule:: EduNLP.SIF.tokenization.formula +.. automodule:: EduNLP.SIF.tokenization.formula.formula + :members: + :imported-members: + +.. automodule:: EduNLP.SIF.tokenization.formula.ast_token :members: :imported-members: + +.. automodule:: EduNLP.SIF.tokenization.formula.linear_token + :members: + :imported-members: \ No newline at end of file diff --git a/docs/source/api/vector.rst b/docs/source/api/vector.rst index 9081dfea..1c73d4bc 100644 --- a/docs/source/api/vector.rst +++ b/docs/source/api/vector.rst @@ -1,10 +1,16 @@ EduNLP.Vector ========================== -Vector ---------------- +EduNLP.Vector.rnn +-------------------- -.. automodule:: EduNLP.Vector +.. automodule:: EduNLP.Vector.rnn :members: :imported-members: +EduNLP.Vector +------------------------- + +.. automodule:: EduNLP.Vector + :members: + :imported-members: diff --git a/docs/source/conf.py b/docs/source/conf.py index 9d6a118b..7787a16d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -74,6 +74,11 @@ def copy_tree(src, tar): 'build/blitz/pretrain/seg_token/d2v': '_static/d2v.png', 'build/blitz/pretrain/seg_token/d2v_d1': '_static/d2v_d1.png', 'build/blitz/pretrain/seg_token/d2v_d2': '_static/d2v_d2.png', + 'build/blitz/tokenizer/tokenizier': '_static/tokenizer.png', + 'build/blitz/sif/sif4sci': '_static/tokenizer.png', + 'build/blitz/vectorization/get_pretrained_i2v': '_static/i2v.png', + 'build/blitz/tokenizer/total_tokenize': '_static/tokenizer.png', + 'build/blitz/vectorization/total_vector': '_static/i2v.png', } # Add any paths that contain templates here, relative to this directory. diff --git a/docs/source/index.rst b/docs/source/index.rst index 16107eae..83dcb4fd 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -143,6 +143,11 @@ If this repository is helpful for you, please cite our work tutorial/en/index tutorial/en/sif + tutorial/en/parse + tutorial/en/seg + tutorial/en/tokenize + tutorial/en/pretrain + tutorial/en/vectorization .. toctree:: :maxdepth: 1 @@ -151,11 +156,11 @@ If this repository is helpful for you, please cite our work tutorial/zh/index tutorial/zh/sif - tutorial/zh/seg tutorial/zh/parse + tutorial/zh/seg tutorial/zh/tokenize - tutorial/zh/vectorization tutorial/zh/pretrain + tutorial/zh/vectorization .. toctree:: @@ -164,13 +169,12 @@ If this repository is helpful for you, please cite our work :hidden: :glob: - api/index - api/i2v api/sif - api/tokenizer + api/utils api/formula + api/tokenizer api/pretrain api/ModelZoo + api/i2v api/vector - api/utils diff --git a/docs/source/tutorial/en/index.rst b/docs/source/tutorial/en/index.rst index 108a9487..e75e48f1 100644 --- a/docs/source/tutorial/en/index.rst +++ b/docs/source/tutorial/en/index.rst @@ -1,2 +1,52 @@ Get Started -=========== +=============== + +* `Standard Item Format `_ + +* `Syntax Parsing `_ + +* `Component Segmentation `_ + +* `Tokenization `_ + +* `Pre-training `_ + +* `Vectorization `_ + +Main process +--------------- + +.. figure:: ../../_static/new_flow.png + +* `Syntax Parsing `_ : Its function is to convert the incoming item into SIF format, which means letters and numbers should be between ``$...$`` and the brackets and underlines of the choice questions should be converted to special symbols we defined in SIF) + +* `Component Segmentation `_ : Its function is to segment items in SIF format according to the types of items, so as to serve the later tokenization module.(that is, elements in different types can be tokenized using their corresponding methods)。 + +* `Tokenization `_: Its function is to tokenize segmented items, so as to serve the later tokenization module. + Generally, the tokenization method in the text form can be used directly. For formulas, the ast method can also be used for parsing(call the formula module). + +* `Vectorization `_: This part mainly calls I2V class and its subclasses. Its function is to vectorize the list of tokenized items, so as to get the corresponding static vectors. + For vectorization module, You can call your own trained model or directly call the provided pre-training model(call get_pretrained_I2V module). + +* **Downstream Model**:Process the obtained vectors to get the desired results. + +Examples +--------- + +To help you quickly understand the functions of this project, this section only shows the usages of common function interface. Intermediate function modules (such as parse, formula, segment, etc.) and more subdivided interface methods are not shown. For further study, please refer to relevant documents. + +.. nbgallery:: + :caption: This is a thumbnail gallery: + :name: tokenize_gallery + :glob: + + Tokenization <../../build/blitz/tokenizer/tokenizer.ipynb> + + + +.. nbgallery:: + :caption: This is a thumbnail gallery: + :name: vectorization_gallery + :glob: + + Vectorization <../../build/blitz/vectorization/total_vector.ipynb> diff --git a/docs/source/tutorial/en/parse.rst b/docs/source/tutorial/en/parse.rst new file mode 100644 index 00000000..5aba283d --- /dev/null +++ b/docs/source/tutorial/en/parse.rst @@ -0,0 +1,291 @@ +Syntax Parsing +================= + +In educational resources, texts and formulas have internal implicit or explicit syntax structures. It is of great benefit for further processing to extract these structures. + +* Text syntax structure parsing + +* Formula syntax structure parsing + +The purpose is as follows: + + +1. Represent underlines of blanks and brackets of choices with special identifiers. And the alphabets and formulas should be wrapped with $$, so that items of different types can be cut accurately through the symbol $. +2. Determine whether the current item is legal and report the error type. + +Specific processing content +-------------------------------- + +1.Its function is to match alphabets and numbers other than formulas. Only the alphabets and numbers between two Chinese characters will be corrected, and the rest of the cases are regarded as formulas that do not conform to latex syntax. + +2.Match brackets like "( )" (both English format and Chinese format), that is, brackets with no content or spaces, which should be replaced with ``$\\SIFChoice$`` + +3.Match continuous underscores or underscores with spaces and replace them with ``$\\SIFBlank$``. + +4.Match latex formulas,check the completeness and analyzability of latex formulas, and report an error for illegal formula. + +Formula syntax structure parsing +------------------------------------- + +This section is mainly realized by EduNLP. Formula modules, which can determine if the text has syntax errors and convert the syntax formula into the form of ast tree. In practice, this module is often used as part of an intermediate process, and the relevant parameters of this module can be automatically chosen by calling the corresponding model, so it generally does not need special attention. + +Introduction of Main Introduction ++++++++++++++++++++++++++++++++++++++++ + +1.Formula: determine whether the single formula passed in is in str form. If so, use the ast method for processing, otherwise an error will be reported. In addition, parameter variable_standardization is given. If this parameter is true, the variable standardization method will be used to make sure the same variable has the same variable number. + +2.FormulaGroup: If you need to pass in a formula set, you can call this interface to get an ast forest. The tree structure in the forest is the same as that of Formula. + +Formula +>>>>>>>>>>>> + +Formula: firstly, in the word segmentation function, the formula of the original text is segmented. In addition, ``Formula parse tree`` function is provided, which can represent the abstract syntax analysis tree of mathematical formula in the form of text or picture. + +This module also provides the function of formula variable standardization, such as determining whether 'x' in several sub formulas is the same variable. + +Import modules ++++++++++++++++++++++ + +:: + + import matplotlib.pyplot as plt + from EduNLP.Formula import Formula + from EduNLP.Formula.viz import ForestPlotter + +Initialization ++++++++++++++++ + +Incoming parameters: item + +Item is the latex formula or the abstract syntax parse tree generated after the formula is parsed and its type is str or List[Dict]. + +:: + + >>> f=Formula("x^2 + x+1 = y") + >>> f + + +View the specific content after formula segmentation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +- View node elements after formula segmentation + +:: + + >>> f.elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None}, + {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None}] + +- View the abstract parse tree of formulas + +:: + + >>> f.ast + [{'val': {'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 3],'child': [1, 2],'father': None,'forest': None}}, + {'val': {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + 'structure': {'bro': [None, 2], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + 'structure': {'bro': [1, None], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + 'structure': {'bro': [0, 4], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None}, + 'structure': {'bro': [3, 5], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + 'structure': {'bro': [4, 6], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + 'structure': {'bro': [5, 7], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + 'structure': {'bro': [6, 8], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None}, + 'structure': {'bro': [7, None],'child': None,'father': None,'forest': None}}] + + >>> print('nodes: ',f.ast_graph.nodes) + nodes: [0, 1, 2, 3, 4, 5, 6, 7, 8] + >>> print('edges: ' ,f.ast_graph.edges) + edges: [(0, 1), (0, 2)] + +- show the abstract parse tree by a picture + +:: + + >>> ForestPlotter().export(f.ast_graph, root_list=[node["val"]["id"] for node in f.ast if node["structure"]["father"] is None],) + >>> plt.show() + + +.. figure:: ../../_static/formula.png + + +Variable standardization ++++++++++++++++++++++++++++++ + +This parameter makes the same variable have the same variable number. + +For example: the number of variable ``x`` is ``0`` and the number of variable ``y`` is ``1``. + +:: + + >>> f.variable_standardization().elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}, + {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}] + +FormulaGroup +>>>>>>>>>>>>>>> + +Call ``FormulaGroup`` class to parse the equations. The related attributes and functions are the same as those above. + +:: + + import matplotlib.pyplot as plt + from EduNLP.Formula import Formula + from EduNLP.Formula import FormulaGroup + from EduNLP.Formula.viz import ForestPlotter + >>> fs = FormulaGroup(["x^2 = y", "x^3 = y^2", "x + y = \pi"]) + >>> fs + ;;> + >>> fs.elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None}, + {'id': 5, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 7, 'type': 'textord', 'text': '3', 'role': 'sup'}, + {'id': 8, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 9, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 10, 'type': 'mathord', 'text': 'y', 'role': 'base'}, + {'id': 11, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 12, 'type': 'mathord', 'text': 'x', 'role': None}, + {'id': 13, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 14, 'type': 'mathord', 'text': 'y', 'role': None}, + {'id': 15, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 16, 'type': 'mathord', 'text': '\\pi', 'role': None}] + >>> fs.ast + [{'val': {'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 3], + 'child': [1, 2], + 'father': None, + 'forest': None}}, + {'val': {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + 'structure': {'bro': [None, 2], + 'child': None, + 'father': 0, + 'forest': [6, 12]}}, + {'val': {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + 'structure': {'bro': [1, None], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, + 'structure': {'bro': [0, 4], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None}, + 'structure': {'bro': [3, None], + 'child': None, + 'father': None, + 'forest': [10, 14]}}, + {'val': {'id': 5, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 8], + 'child': [6, 7], + 'father': None, + 'forest': None}}, + {'val': {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + show more (open the raw output data in a text editor) ... + >>> fs.variable_standardization()[0] + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0}, {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}] + >>> ForestPlotter().export(fs.ast_graph, root_list=[node["val"]["id"] for node in fs.ast if node["structure"]["father"] is None],) + +.. figure:: ../../_static/formulagroup.png + + +Text syntax structure parsing +------------------------------------ + +This section is mainly realized by EduNLP.SIF.Parse module. Its main function is to extract letters and numbers in the text and convert them into standard format. + +This module is mainly used as an *middle module* to parse the input text. In general, users do not call this module directly. + +Introduction of main content ++++++++++++++++++++++++++++++++++++ + +1. Judge the type of the incoming text in the following order + +* is_chinese: its function is to match Chinese characters[\u4e00-\u9fa5]. + +* is_alphabet: its function is to match alphabets other than formulas. Only the alphabets between two Chinese characters will be corrected (wrapped with $$), and the rest of the cases are regarded as formulas that do not conform to latex syntax. + +* is_number: its function is to match numbers other than formulas. Only the numbers between two Chinese characters will be corrected, and the rest of the cases are regarded as formulas that do not conform to latex syntax. + +2. Match latex formula + +* If Chinese characters appear in latex, print warning only once. + +* Use _is_formula_legal function, check the completeness and analyzability of latex formula, and report an error for formulas that do not conform to latex syntax. + +Import modules +>>>>>>>>>>>>>>>>>>> + +:: + + from EduNLP.SIF.Parser import Parser + +Input +>>>>>>> + +Types: str + +Content: question text + +:: + + >>> text1 = '生产某种零件的A工厂25名工人的日加工零件数_ _' + >>> text2 = 'X的分布列为( )' + >>> text3 = '① AB是⊙O的直径,AC是⊙O的切线,BC交⊙O于点E.AC的中点为D' + >>> text4 = '支持公式如$\\frac{y}{x}$,$\\SIFBlank$,$\\FigureID{1}$,不支持公式如$\\frac{ \\dddot y}{x}$' + +Parsing +>>>>>>>>>>>>>>>>>>>> + +:: + + >>> text_parser1 = Parser(text1) + >>> text_parser2 = Parser(text2) + >>> text_parser3 = Parser(text3) + >>> text_parser4 = Parser(text4) + +Related parameters description +>>>>>>>>>>>> + +- Try to convert text to standard format + +:: + + >>> text_parser1.description_list() + >>> print('text_parser1.text:',text_parser1.text) + text_parser1.text: 生产某种零件的$A$工厂$25$名工人的日加工零件数$\SIFBlank$ + >>> text_parser2.description_list() + >>> print('text_parser2.text:',text_parser2.text) + text_parser2.text: $X$的分布列为$\SIFChoice$ + +- Determine if the text has syntax errors + +:: + + >>> text_parser3.description_list() + >>> print('text_parser3.error_flag: ',text_parser3.error_flag) + text_parser3.error_flag: 1 + >>> text_parser4.description_list() + >>> print('text_parser4.fomula_illegal_flag: ',text_parser4.fomula_illegal_flag) + text_parser4.fomula_illegal_flag: 1 + diff --git a/docs/source/tutorial/en/parse/FormulaSyntaxStructureParsing.rst b/docs/source/tutorial/en/parse/FormulaSyntaxStructureParsing.rst new file mode 100644 index 00000000..c09da64b --- /dev/null +++ b/docs/source/tutorial/en/parse/FormulaSyntaxStructureParsing.rst @@ -0,0 +1,168 @@ +Formula syntax structure parsing +---------------------------------- + +This section is mainly realized by EduNLP. Formula modules, which can determine if the text has syntax errors and convert the syntax formula into the form of ast tree. In practice, this module is often used as part of an intermediate process, and the relevant parameters of this module can be automatically chosen by calling the corresponding model, so it generally does not need special attention. + +Introduction of Main Content ++++++++++++++++++++++++++++++++++++++ + +1.Formula: determine whether the single formula passed in is in str form. If so, use the ast method for processing, otherwise an error will be reported. In addition, parameter variable_standardization is given. If this parameter is true, the variable standardization method will be used to make sure the same variable has the same variable number. + +2.FormulaGroup: If you need to pass in a formula set, you can call this interface to get an ast forest. The tree structure in the forest is the same as that of Formula. + +Formula +>>>>>>>>>>>> + +Formula: firstly, in the word segmentation function, the formula of the original text is segmented. In addition, ``Formula parse tree`` function is provided, which can represent the abstract syntax analysis tree of mathematical formula in the form of text or picture. + +This module also provides the function of formula variable standardization, such as determining whether 'x' in several sub formulas is the same variable. + +Initialization +++++++++++++++++++++ + +Incoming parameters: item + +Item is the latex formula or the abstract syntax parse tree generated after the formula is parsed and its type is str or List[Dict]. + +:: + + >>> f=Formula("x^2 + x+1 = y") + >>> f + + +View the specific content after formula segmentation ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +- View node elements after formula segmentation + +:: + + >>> f.elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None}, + {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None}] + +- View the abstract parsing tree of formulas + +:: + + >>> f.ast + [{'val': {'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 3],'child': [1, 2],'father': None,'forest': None}}, + {'val': {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + 'structure': {'bro': [None, 2], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + 'structure': {'bro': [1, None], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + 'structure': {'bro': [0, 4], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None}, + 'structure': {'bro': [3, 5], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + 'structure': {'bro': [4, 6], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + 'structure': {'bro': [5, 7], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + 'structure': {'bro': [6, 8], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None}, + 'structure': {'bro': [7, None],'child': None,'father': None,'forest': None}}] + + >>> print('nodes: ',f.ast_graph.nodes) + nodes: [0, 1, 2, 3, 4, 5, 6, 7, 8] + >>> print('edges: ' ,f.ast_graph.edges) + edges: [(0, 1), (0, 2)] + +- show the abstract parse tree by a picture + +:: + + >>> ForestPlotter().export(f.ast_graph, root_list=[node["val"]["id"] for node in f.ast if node["structure"]["father"] is None],) + >>> plt.show() + +.. figure:: ../../../_static/formula.png + +Variable Standardization ++++++++++++++++++++++++++++++++++ + +This parameter makes the same variable have the same variable number. + +For example: the number of variable ``x`` is ``0`` and the number of variable ``y`` is ``1``. + +:: + + >>> f.variable_standardization().elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}, + {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}] + +FormulaGroup +>>>>>>>>>>>>>>> + +Call ``FormulaGroup`` class to parse the equations. The related attributes and functions are the same as those above. + +:: + + >>> fs = FormulaGroup(["x^2 = y", "x^3 = y^2", "x + y = \pi"]) + >>> fs + ;;> + >>> fs.elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None}, + {'id': 5, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 7, 'type': 'textord', 'text': '3', 'role': 'sup'}, + {'id': 8, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 9, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 10, 'type': 'mathord', 'text': 'y', 'role': 'base'}, + {'id': 11, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 12, 'type': 'mathord', 'text': 'x', 'role': None}, + {'id': 13, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 14, 'type': 'mathord', 'text': 'y', 'role': None}, + {'id': 15, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 16, 'type': 'mathord', 'text': '\\pi', 'role': None}] + >>> fs.ast + [{'val': {'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 3], + 'child': [1, 2], + 'father': None, + 'forest': None}}, + {'val': {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + 'structure': {'bro': [None, 2], + 'child': None, + 'father': 0, + 'forest': [6, 12]}}, + {'val': {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + 'structure': {'bro': [1, None], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, + 'structure': {'bro': [0, 4], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None}, + 'structure': {'bro': [3, None], + 'child': None, + 'father': None, + 'forest': [10, 14]}}, + {'val': {'id': 5, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 8], + 'child': [6, 7], + 'father': None, + 'forest': None}}, + {'val': {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + show more (open the raw output data in a text editor) ... + >>> fs.variable_standardization()[0] + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0}, {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}] + >>> ForestPlotter().export(fs.ast_graph, root_list=[node["val"]["id"] for node in fs.ast if node["structure"]["father"] is None],) + +.. figure:: ../../../_static/formulagroup.png diff --git a/docs/source/tutorial/en/parse/TextSyntaxStructureParsing.rst b/docs/source/tutorial/en/parse/TextSyntaxStructureParsing.rst new file mode 100644 index 00000000..6822c961 --- /dev/null +++ b/docs/source/tutorial/en/parse/TextSyntaxStructureParsing.rst @@ -0,0 +1,72 @@ +Text syntax structure parsing +-------------------------------- + +This section is mainly realized by EduNLP.SIF.Parse module. Its main function is to extract letters and numbers in the text and convert them into standard format. + +This module is mainly used as an *middle module* to parse the input text. In general, users do not call this module directly. + +Introduction of Main Content ++++++++++++++++++++++++++++++++++++++ + +1. Judge the type of the incoming text in the following order + +* is_chinese: its function is to match Chinese characters[\u4e00-\u9fa5]. + +* is_alphabet: its function is to match alphabets other than formulas. Only the alphabets between two Chinese characters will be corrected (wrapped with $$), and the rest of the cases are regarded as formulas that do not conform to latex syntax. + +* is_number: its function is to match numbers other than formulas. Only the numbers between two Chinese characters will be corrected, and the rest of the cases are regarded as formulas that do not conform to latex syntax. + +2. Match latex formula + +* If Chinese characters appear in latex, print warning only once. + +* Use _is_formula_legal function, check the completeness and analyzability of latex formula, and report an error for formulas that do not conform to latex syntax. + +Input +>>>>>>> + +Type: str + +Content:question text + +:: + + >>> text1 = '生产某种零件的A工厂25名工人的日加工零件数_ _' + >>> text2 = 'X的分布列为( )' + >>> text3 = '① AB是⊙O的直径,AC是⊙O的切线,BC交⊙O于点E.AC的中点为D' + >>> text4 = '支持公式如$\\frac{y}{x}$,$\\SIFBlank$,$\\FigureID{1}$,不支持公式如$\\frac{ \\dddot y}{x}$' + +Parsing +>>>>>>>>>>>>>>>>>>>> + +:: + + >>> text_parser1 = Parser(text1) + >>> text_parser2 = Parser(text2) + >>> text_parser3 = Parser(text3) + >>> text_parser4 = Parser(text4) + +Related parameters description(?) +>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +- Try to convert text to standard format + +:: + + >>> text_parser1.description_list() + >>> print('text_parser1.text:',text_parser1.text) + text_parser1.text: 生产某种零件的$A$工厂$25$名工人的日加工零件数$\SIFBlank$ + >>> text_parser2.description_list() + >>> print('text_parser2.text:',text_parser2.text) + text_parser2.text: $X$的分布列为$\SIFChoice$ + +- Determine if the text has syntax errors + +:: + + >>> text_parser3.description_list() + >>> print('text_parser3.error_flag: ',text_parser3.error_flag) + text_parser3.error_flag: 1 + >>> text_parser4.description_list() + >>> print('text_parser4.fomula_illegal_flag: ',text_parser4.fomula_illegal_flag) + text_parser4.fomula_illegal_flag: 1 diff --git a/docs/source/tutorial/en/pretrain.rst b/docs/source/tutorial/en/pretrain.rst new file mode 100644 index 00000000..58105f44 --- /dev/null +++ b/docs/source/tutorial/en/pretrain.rst @@ -0,0 +1,130 @@ +Pre-training +============== + +In the field of NLP, Pre-trained Language Models has become a very important basic technology. +In this chapter, we will introduce the pre training tools in EduNLP: + +* How to train with a corpus to get a pre-trained model +* How to load the pre-trained model +* Public pre-trained models + +Import modules +--------------- + +:: + + from EduNLP.I2V import get_pretrained_i2v + from EduNLP.Vector import get_pretrained_t2v + +Train the Model +------------------ + +Call train_Vector function interface directly to make the training model easier. This section calls the relevant training models in the gensim library. At present, the training methods of "sg"、 "cbow"、 "fastext"、 "d2v"、 "bow"、 "tfidf" are provided. Parameter embedding_dim is also provided for users to determine vector dimension according to their needs. + +Basic Steps +################## + +1.Determine the type of model and select the appropriate tokenizer (GensimWordTokenizer、 GensimSegTokenizer) to finish tokenization. + +2.Call train_vector function to get the required pre-trained model。 + +Examples: + +:: + + >>> tokenizer = GensimWordTokenizer(symbol="gmas", general=True) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item.tokens[:10]) + ['公式', '[FORMULA]', '如图', '[FIGURE]', 'x', ',', 'y', '约束条件', '公式', '[FORMULA]'] + + # 10 dimension with fasstext method + train_vector(sif_items, "../../../data/w2v/gensim_luna_stem_tf_", 10, method="d2v") + + +Load models +---------------- + +Transfer the obtained model to the I2V module to load the model. + +Examples: + +:: + + >>> model_path = "../test_model/test_gensim_luna_stem_tf_d2v_256.bin" + >>> i2v = D2V("text","d2v",filepath=model_path, pretrained_t2v = False) + +The overview of our public model +------------------------------------ + +Version description +####################### + +First level version: + +* Public version 1 (luna_pub): college entrance examination +* Public version 2 (luna_pub_large): college entrance examination + regional examination + +Second level version: + +* Single subject(Chinese,Math,English,History,Geography,Politics,Biology,Physics,Chemistry) +* Multiple subject(science, arts and all subject) + +Third level version【to be finished】: + +* Don't use third-party initializers +* Use third-party initializers + +Description of train data in models +############################################## + +* Currently, the data used in w2v and d2v models are the subjects of senior high school. +* test data:`[OpenLUNA.json] `_ + +At present, the following models are provided. More models of different subjects and question types are being trained. Please look forward to it. + "d2v_all_256" (all subject), "d2v_sci_256" (Science), "d2v_eng_256" (English),"d2v_lit_256" (Arts) + + +Examples of Model Training +------------------------------------ + +Get the dataset +#################### + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + prepare_dataset <../../build/blitz/pretrain/prepare_dataset.ipynb> + +An example of d2v in gensim model +################################## + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + d2v_bow_tfidf <../../build/blitz/pretrain/gensim/d2v_bow_tfidf.ipynb> + d2v_general <../../build/blitz/pretrain/gensim/d2v_general.ipynb> + d2v_stem_tf <../../build/blitz/pretrain/gensim/d2v_stem_tf.ipynb> + +An example of w2v in gensim model +################################## + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + w2v_stem_text <../../build/blitz/pretrain/gensim/w2v_stem_text.ipynb> + w2v_stem_tf <../../build/blitz/pretrain/gensim/w2v_stem_tf.ipynb> + +An example of seg_token +############################# + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + d2v.ipynb <../../build/blitz/pretrain/seg_token/d2v.ipynb> + d2v_d1 <../../build/blitz/pretrain/seg_token/d2v_d1.ipynb> + d2v_d2 <../../build/blitz/pretrain/seg_token/d2v_d2.ipynb> \ No newline at end of file diff --git a/docs/source/tutorial/en/pretrain/loading.rst b/docs/source/tutorial/en/pretrain/loading.rst new file mode 100644 index 00000000..83b54c39 --- /dev/null +++ b/docs/source/tutorial/en/pretrain/loading.rst @@ -0,0 +1,11 @@ +Load models +---------------- + +Transfer the obtained model to the I2V module to load the model. + +Examples: + +:: + + >>> model_path = "../test_model/test_gensim_luna_stem_tf_d2v_256.bin" + >>> i2v = D2V("text","d2v",filepath=model_path, pretrained_t2v = False) diff --git a/docs/source/tutorial/en/pretrain/pub.rst b/docs/source/tutorial/en/pretrain/pub.rst new file mode 100644 index 00000000..60077309 --- /dev/null +++ b/docs/source/tutorial/en/pretrain/pub.rst @@ -0,0 +1,74 @@ +The overview of our public model +------------------------------------ + + +Version Description +######################### + +First level version: + +* Public version 1 (luna_pub): college entrance examination +* Public version 2 (luna_pub_large): college entrance examination + regional examination + +Second level version: + +* Minor subjects(Chinese,Math,English,History,Geography,Politics,Biology,Physics,Chemistry) +* Major subjects(science, arts and all subject) + +Third level version【to be finished】: + +* Don't use third-party initializers +* Use third-party initializers + +Description of train data in models +####################################### + +* Currently, the data used in w2v and d2v models are the subjects of senior high school. +* test data:`[OpenLUNA.json] `_ + +At present, the following models are provided. More models of different subjects and question types are being trained. Please look forward to it. + "d2v_all_256" (all subject), "d2v_sci_256" (Science), "d2v_eng_256" (English),"d2v_lit_256" (Arts) + +Examples of model training +---------------------------- + +Get the dataset +#################### + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + prepare_dataset <../../../build/blitz/pretrain/prepare_dataset.ipynb> + +An example of d2v in gensim model +#################################### + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + d2v_bow_tfidf <../../../build/blitz/pretrain/gensim/d2v_bow_tfidf.ipynb> + d2v_general <../../../build/blitz/pretrain/gensim/d2v_general.ipynb> + d2v_stem_tf <../../../build/blitz/pretrain/gensim/d2v_stem_tf.ipynb> + +An example of w2v in gensim model +#################################### + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + w2v_stem_text <../../../build/blitz/pretrain/gensim/w2v_stem_text.ipynb> + w2v_stem_tf <../../../build/blitz/pretrain/gensim/w2v_stem_tf.ipynb> + +An example of seg_token +############################ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + d2v.ipynb <../../../build/blitz/pretrain/seg_token/d2v.ipynb> + d2v_d1 <../../../build/blitz/pretrain/seg_token/d2v_d1.ipynb> + d2v_d2 <../../../build/blitz/pretrain/seg_token/d2v_d2.ipynb> diff --git a/docs/source/tutorial/en/pretrain/start.rst b/docs/source/tutorial/en/pretrain/start.rst new file mode 100644 index 00000000..4aa91619 --- /dev/null +++ b/docs/source/tutorial/en/pretrain/start.rst @@ -0,0 +1,24 @@ +Train the model +------------------ + +Call train_Vector function interface directly to make the training model easier. This section calls the relevant training models in the gensim library. At present, the training methods of "sg"、 "cbow"、 "fastext"、 "d2v"、 "bow"、 "tfidf" are provided. Parameter embedding_dim is also provided for users to determine vector dimension according to their needs. + +Basic Steps +################## + +1.Determine the type of model and select the appropriate tokenizer (GensimWordTokenizer、 GensimSegTokenizer) to finish tokenization. + +2.Call train_vector function to get the required pre-trained model。 + +Examples: + +:: + + >>> tokenizer = GensimWordTokenizer(symbol="gmas", general=True) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item.tokens[:10]) + ['公式', '[FORMULA]', '如图', '[FIGURE]', 'x', ',', 'y', '约束条件', '公式', '[FORMULA]'] + + # 10 dimension with fasstext method + train_vector(sif_items, "../../../data/w2v/gensim_luna_stem_tf_", 10, method="d2v") diff --git a/docs/source/tutorial/en/seg.rst b/docs/source/tutorial/en/seg.rst new file mode 100644 index 00000000..4e2f2d39 --- /dev/null +++ b/docs/source/tutorial/en/seg.rst @@ -0,0 +1,187 @@ +Component Segmentation +========================= + +Educational resource is a kind of multimodal data, including data such as text, pictures, formulas and so on. +At the same time, it may also contain different components semantically, such as question stems, options, etc. Therefore, we first need to identify and segment the different components of educational resources: + +* Semantic Component Segmentation +* Structural Component Segmentation + +Main Processing Contents +--------------------------- + +1. Convert multiple-choice questions in the form of dict to qualified item by `Syntax parsing `_; + +2. The input items are segmented and grouped according to the element type. + +Semantic Component Segmentation +--------------------------------- + +Because multiple-choice questions are given in the form of dict, it is necessary to convert them into text format while retaining their data relationship. This function can be realized by dict2str4sif function which can convert multiple-choice question items into character format and identify question stem and options。 + +Import Modules ++++++++++++++++++++++++ + +:: + + from EduNLP.utils import dict2str4sif + +Basic Usage +++++++++++++++++++ + +:: + + >>> item = { + ... "stem": r"若复数$z=1+2 i+i^{3}$,则$|z|=$", + ... "options": ['0', '1', r'$\sqrt{2}$', '2'], + ... } + >>> dict2str4sif(item) # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2$\\SIFTag{options_end}$' + +Optional additional parameters / interfaces +++++++++++++++++++++++++++++++++++++++++++++++++++ + +1.add_list_no_tag: if this parameter is true, it means that you need to count the labels in the options section. + +:: + + >>> dict2str4sif(item, add_list_no_tag=True) # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2$\\SIFTag{options_end}$' + + >>> dict2str4sif(item, add_list_no_tag=False) # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$0$\\SIFSep$1$\\SIFSep$$\\sqrt{2}$$\\SIFSep$2$\\SIFTag{options_end}$' + +2.tag_mode: The location for the label can be selected using this parameter. 'delimiter' is to label both the beginning and the end,'head' is to label only the head, and 'tail' is to label only the tail. + +:: + + >>> dict2str4sif(item, tag_mode="head") # doctest: +ELLIPSIS + '$\\SIFTag{stem}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{options}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2' + + >>> dict2str4sif(item, tag_mode="tail") # doctest: +ELLIPSIS + '若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2$\\SIFTag{options}$' + +3.key_as_tag: If this parameter is false, this process will only adds $\SIFSep$ between the options without distinguishing the type of segmentation label. + +:: + + >>> dict2str4sif(item, key_as_tag=False) + '若复数$z=1+2 i+i^{3}$,则$|z|=$0$\\SIFSep$1$\\SIFSep$$\\sqrt{2}$$\\SIFSep$2' + +Structural Component Segmentation +------------------------------------------ + +This step is to segment sliced items. In this step, there is a depth option. You can select all positions or some labels for segmentation according to your needs, such as \SIFSep and \SIFTag. You can also select where to add labels, either at the head and tail or only at the head or tail. + + +There are two modes: + +* linear mode: it is used for text processing (word segmentation using jieba library); + +* ast mode: it is used to parse the formula. + +Basic Segmentation process: + +- Match components with regular expression matching + +- Process the components with special structures, such as converting the base64 encoded picture to numpy form + +- Classify the elements into each element group + +- Enter the corresponding parameters as required to get the filtered results + +Import Modules ++++++++++ + +:: + + from EduNLP.SIF.segment import seg + from EduNLP.SIF import sif4sci + +Basic Usage +++++++++++++++++++ + +:: + + >>> test_item = r"如图所示,则$\bigtriangleup ABC$的面积是$\SIFBlank$。$\FigureID{1}$" + >>> seg(test_item) + >>> ['如图所示,则', '\\bigtriangleup ABC', '的面积是', '\\SIFBlank', '。', \FigureID{1}] + +Optional additional parameters/interfaces +++++++++++++++++++++++ + +1.describe: count the number of elements of different types + +:: + + >>> s.describe() + {'t': 3, 'f': 1, 'g': 1, 'm': 1} + +2.filter: this interface can screen out one or more types of elements. + +Using this interface, you can pass in a "keep" parameter or a special character directly to choose what type of elements to retain. + +Element type represented by symbol: + +- "t": text +- "f": formula +- "g": figure +- "m": question mark +- "a": tag +- "s": sep tag + +:: + + >>> with s.filter("f"): + ... s + ['如图所示,则', '的面积是', '\\SIFBlank', '。', \FigureID{1}] + >>> with s.filter(keep="t"): + ... s + ['如图所示,则', '的面积是', '。'] + +3.symbol: this interface can convert some types of data into special symbols + +Element type represented by symbol: + +- "t": text +- "f": formula +- "g": figure +- "m": question mark + +:: + + >>> seg(test_item, symbol="fgm") + ['如图所示,则', '[FORMULA]', '的面积是', '[MARK]', '。', '[FIGURE]'] + >>> seg(test_item, symbol="tfgm") + ['[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[TEXT]', '[FIGURE]'] + +In addition,sif4sci function is also provided, which can easily convert items into the result processed by Structural Component Segmentation + +:: + + >>> segments = sif4sci(item["stem"], figures=figures, tokenization=False) + >>> segments + ['如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形', 'ABC', '的斜边', 'BC', ', 直角边', 'AB', ', ', 'AC', '.', '\\bigtriangleup ABC', '的三边所围成的区域记为', 'I', ',黑色部分记为', 'II', ', 其余部分记为', 'III', '.在整个图形中随机取一点,此点取自', 'I,II,III', '的概率分别记为', 'p_1,p_2,p_3', ',则', '\\SIFChoice', \FigureID{1}] + +- When calling this function, you can selectively output a certain type of data according to your needs + +:: + + >>> segments.formula_segments + ['ABC', + 'BC', + 'AB', + 'AC', + '\\bigtriangleup ABC', + 'I', + 'II', + 'III', + 'I,II,III', + 'p_1,p_2,p_3'] + +- Similar to seg function, sif4sci function also provides depth options to help with your research ----- By modifying the ``symbol`` parameter, different components can be transformed into specific markers. + +:: + + >>> sif4sci(item["stem"], figures=figures, tokenization=False, symbol="tfgm") + ['[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[FIGURE]'] diff --git a/docs/source/tutorial/en/seg/SemanticComponentSegmentation.rst b/docs/source/tutorial/en/seg/SemanticComponentSegmentation.rst new file mode 100644 index 00000000..c6535941 --- /dev/null +++ b/docs/source/tutorial/en/seg/SemanticComponentSegmentation.rst @@ -0,0 +1,47 @@ +Semantic Component Segmentation +------------------------------------ + +Because multiple-choice questions are given in the form of dict, it is necessary to convert them into text format while retaining their data relationship. This function can be realized by dict2str4sif function which can convert multiple-choice question items into character format and identify question stem and options。 + + +Basic Usage +++++++++++++++++++ + +:: + + >>> item = { + ... "stem": r"若复数$z=1+2 i+i^{3}$,则$|z|=$", + ... "options": ['0', '1', r'$\sqrt{2}$', '2'], + ... } + >>> dict2str4sif(item) # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2$\\SIFTag{options_end}$' + +Optional additional parameters / interfaces +++++++++++++++++++++++++++++++++++++++++++++++++ + +1.add_list_no_tag: if this parameter is true, it means that you need to count the labels in the options section. + +:: + + >>> dict2str4sif(item, add_list_no_tag=True) # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2$\\SIFTag{options_end}$' + + >>> dict2str4sif(item, add_list_no_tag=False) # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$0$\\SIFSep$1$\\SIFSep$$\\sqrt{2}$$\\SIFSep$2$\\SIFTag{options_end}$' + +2.tag_mode: The location for the label can be selected using this parameter. 'delimiter' is to label both the beginning and the end,'head' is to label only the head, and 'tail' is to label only the tail. + +:: + + >>> dict2str4sif(item, tag_mode="head") # doctest: +ELLIPSIS + '$\\SIFTag{stem}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{options}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2' + + >>> dict2str4sif(item, tag_mode="tail") # doctest: +ELLIPSIS + '若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2$\\SIFTag{options}$' + +3.key_as_tag: If this parameter is false, this process will only adds $\SIFSep$ between the options without distinguishing the type of segmentation label. + +:: + + >>> dict2str4sif(item, key_as_tag=False) + '若复数$z=1+2 i+i^{3}$,则$|z|=$0$\\SIFSep$1$\\SIFSep$$\\sqrt{2}$$\\SIFSep$2' \ No newline at end of file diff --git a/docs/source/tutorial/en/seg/StructuralComponentSegmentation.rst b/docs/source/tutorial/en/seg/StructuralComponentSegmentation.rst new file mode 100644 index 00000000..f5c44f7e --- /dev/null +++ b/docs/source/tutorial/en/seg/StructuralComponentSegmentation.rst @@ -0,0 +1,67 @@ +Structural Component Segmentation +------------------------------------ + +This step is to segment sliced items. In this step, there is a depth option. You can select all positions or some labels for segmentation according to your needs, such as \SIFSep and \SIFTag. You can also select where to add labels, either at the head and tail or only at the head or tail. + + +There are two modes: + +* linear mode: it is used for text processing (word segmentation using jieba library); + +* ast mode: it is used to parse the formula. + +Basic Usage +++++++++++++++++++ + +:: + + >>> test_item = r"如图所示,则$\bigtriangleup ABC$的面积是$\SIFBlank$。$\FigureID{1}$" + >>> seg(test_item) + >>> ['如图所示,则', '\\bigtriangleup ABC', '的面积是', '\\SIFBlank', '。', \FigureID{1}] + +Optional additional parameters/interfaces ++++++++++++++++++++++++++++++++++++++++++++++ + +1.describe: count the number of elements of different types + +:: + + >>> s.describe() + {'t': 3, 'f': 1, 'g': 1, 'm': 1} + +2.filter: this interface can screen out one or more types of elements. + +Using this interface, you can pass in a "keep" parameter or a special character directly to choose what type of elements to retain. + +Element type represented by symbol: + "t": text + "f": formula + "g": figure + "m": question mark + "a": tag + "s": sep tag + +:: + + >>> with s.filter("f"): + ... s + ['如图所示,则', '的面积是', '\\SIFBlank', '。', \FigureID{1}] + >>> with s.filter(keep="t"): + ... s + ['如图所示,则', '的面积是', '。'] + +3.symbol: this interface can convert some types of data into special symbols + +Element type represented by symbol: + +- "t": text +- "f": formula +- "g": figure +- "m": question mark + +:: + + >>> seg(test_item, symbol="fgm") + ['如图所示,则', '[FORMULA]', '的面积是', '[MARK]', '。', '[FIGURE]'] + >>> seg(test_item, symbol="tfgm") + ['[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[TEXT]', '[FIGURE]'] diff --git a/docs/source/tutorial/en/sif.rst b/docs/source/tutorial/en/sif.rst index 0cbe7cf3..7650aae6 100644 --- a/docs/source/tutorial/en/sif.rst +++ b/docs/source/tutorial/en/sif.rst @@ -1,2 +1,145 @@ Standard Item Format -==================== +======================= + +version: 0.2 + +For the convenience of follow-up research and use, we need a unified test question grammar standard. + +Grammar Rules +---------------- + +1. Only Chinese characters, Chinese and English punctuation and line breaks are allowed in the question text. + +2. Represent underlines of blanks and brackets of choices with ``\$\SIFBlank\$`` and ``\$\SIFChoice\$`` respectively. + +3. We use ``$\FigureID{ uuid }$`` or Base64 to represent pictures. Especially, ``$\FormFigureID{ uuid }$`` is used to represent formulas pictures. + +4. Text format description: we represent text in different styles with ``$\textf{item,CHAR_EN}$``. Currently, we have defined some styles: b-bold, i-italic, u-underline, w-wave, d-dotted, t-title. CHAR_EN Labels can be mixed and sorted alphabetically. An example: $\textf{EduNLP, b}$ looks **EduNLP** + +5. Other mathematical symbols like English letters, Roman characters and numbers need to be expressed in latex format, that is, embedded in ``$$`` . + +6. For the entry standard of molecular formula, please refer to `INCHI `_ for the time being. + +7. Currently, there are no requirements for latex internal syntax. + +:: + + 1. Item -> CHARACTER|EN_PUN_LIST|CH_PUN_LIST|FORMULA|QUES_MARK + 2. EN_PUN_LIST -> [',', '.', '?', '!', ':', ';', '\'', '\"', '(', ')', ' ','_','/','|','\\','<','>','[',']','-'] + 3. CH_PUN_LIST -> [',', '。', '!', '?', ':',';', '‘', '’', '“', '”', '(', ')', ' ', '、','《','》','—','.'] + 4. FORMULA -> $latex formula$ | $\FormFigureID{UUID}$ | $\FormFigureBase64{BASE64}$ + 5. FIGURE -> $\FigureID{UUID}$ | $\FigureBase64{BASE64}$ + 6. UUID -> [a-zA-Z\-0-9]+ + 7. CHARACTER -> CHAR_EN | CHAR_CH + 8. CHAR_EN -> [a-zA-Z]+ + 9. CHAR_CH -> [\u4e00-\u9fa5]+ + 10. DIGITAL -> [0-9]+ + 11. QUES_MARK -> $\SIFBlank$ | $\SIFChoice$ + + +Tips ++++++++++++++++ + +1. Reserved characters and escape characters. + +2. Numbers. + +3. Choices and blanks. + +4. A single number or letter is also required to be between ``$$`` (automatic verification could already realize it). + +5. Try to make sure Chinese is not included in the latex formula such as ``\text{CHAR_CH}``. + +6. When importing data using MySQL database, an ``\`` is automatically ignored which needs to be further processed as ``\\``. + +Examples +----------------- + +Standard Format: + +:: + + 1. 若$x,y$满足约束条件$\\left\\{\\begin{array}{c}2 x+y-2 \\leq 0 \\\\ x-y-1 \\geq 0 \\\\ y+1 \\geq 0\\end{array}\\right.$,则$z=x+7 y$的最大值$\\SIFUnderline$' + + 2. 已知函数$f(x)=|3 x+1|-2|x|$画出$y=f(x)$的图像求不等式$f(x)>f(x+1)$的解集$\\PictureID{3bf2ddf4-8af1-11eb-b750-b46bfc50aa29}$$\\PictureID{59b8bd14-8af1-11eb-93a5-b46bfc50aa29}$$\\PictureID{63118b3a-8b75-11eb-a5c0-b46bfc50aa29}$$\\PictureID{6a006179-8b76-11eb-b386-b46bfc50aa29}$$\\PictureID{088f15eb-8b7c-11eb-a86f-b46bfc50aa29}$ + +Non-standard Format: + +1. Letters, numbers and mathematical symbols are mixed: + + For example: + + ``完成下面的2x2列联表,`` + + ``(单位:m3)`` + + ``则输出的n=`` + +2. Some special mathematical symbols are not represented by the latex formula: + + For example: + + ``命题中真命题的序号是 ①`` + + ``AB是⊙O的直径,AC是⊙O的切线,BC交⊙O于点E.若D为AC的中点`` + +3. There are unicode encoded characters in the text: + + For example: + ``则$a$的取值范围是(\u3000\u3000)`` + +Functions for judging whether text is in SIF format and converting to SIF format +-------------------------------------------------------------------------------------------------- + +Import modules +++++++++ +:: + + from EduNLP.SIF import is_sif, to_sif + +is_sif ++++++++++++ + +:: + + >>> text1 = '若$x,y$满足约束条件' + >>> text2 = '$\\left\\{\\begin{array}{c}2 x+y-2 \\leq 0 \\\\ x-y-1 \\geq 0 \\\\ y+1 \\geq 0\\end{array}\\right.$,' + >>> text3 = '则$z=x+7 y$的最大值$\\SIFUnderline$' + >>> text4 = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...' + >>> is_sif(text1) + True + >>> is_sif(text2) + True + >>> is_sif(text3) + True + >>> is_sif(text4) + False + +to_sif ++++++++++++ + +:: + + >>> text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...' + >>> to_sif(text) + '某校一个课外学习小组为研究某作物的发芽率$y$和温度$x$(单位...' + + +Change Log +---------------- + +2021-05-18 + +Changed + +1. Originally, we use ``\$\SIFUnderline\$`` and ``\$\SIFBracket\$`` to represent underlines of blanks and brackets of choices. Now we represent them with ``\$\SIFBlank\$`` and ``\$\SIFChoice\$``. + +2. Originally, we used ``$\PictureID{ uuid }$`` to represent pictures, but now we use ``$\FigureID{ uuid }$`` instead. Especially, ``$\FormFigureID{ uuid }$`` is used to represent formulas pictures. + +2021-06-28 + +Added: + +1. There should not be line breaks between the notation ``$$``. + +2. Add text format description. diff --git a/docs/source/tutorial/en/tokenization/GensimSegTokenizer.rst b/docs/source/tutorial/en/tokenization/GensimSegTokenizer.rst new file mode 100644 index 00000000..eb624e94 --- /dev/null +++ b/docs/source/tutorial/en/tokenization/GensimSegTokenizer.rst @@ -0,0 +1,9 @@ +GensimSegTokenizer +===================== + +By default, the pictures, separators, blanks in the question text and other parts of the incoming item are converted into special characters for data security and tokenization of text, formulas and labels. Also, the tokenizer uses linear analysis method for text and abstract analysis method of syntax tree for formulas. + +Compared to GensimWordTokenizer, the main differences are: + +* It provides the depth option for segmentation position, such as \SIFSep and \SIFTag. +* By default, labels are inserted in the header of item components (such as text and formula). \ No newline at end of file diff --git a/docs/source/tutorial/en/tokenization/GensimWordTokenizer.rst b/docs/source/tutorial/en/tokenization/GensimWordTokenizer.rst new file mode 100644 index 00000000..98d4b10a --- /dev/null +++ b/docs/source/tutorial/en/tokenization/GensimWordTokenizer.rst @@ -0,0 +1,23 @@ +GensimWordTokenizer +===================== + +By default, the pictures, blanks in the question text and other parts of the incoming item are converted into special characters for data security and the tokenization of text, formulas, labels and separators. Also, the tokenizer uses linear analysis method for text and abstract syntax tree method for formulas respectively. You can choose each of them by ``general`` parameter: + +-true, it means that the incoming item conforms to SIF and the linear analysis method should be used. +-false, it means that the incoming item doesn't conform to SIF and the abstract syntax tree method should be used. + +Examples +---------- + +:: + + >>> tokenizer = GensimWordTokenizer(symbol="gmas", general=True) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item.tokens[:10]) + ['公式', '[FORMULA]', '如图', '[FIGURE]', 'x', ',', 'y', '约束条件', '公式', '[FORMULA]'] + >>> tokenizer = GensimWordTokenizer(symbol="fgmas", general=False) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item.tokens[:10]) + ['公式', '[FORMULA]', '如图', '[FIGURE]', '[FORMULA]', '约束条件', '公式', '[FORMULA]', '[SEP]', '[FORMULA]'] diff --git a/docs/source/tutorial/en/tokenization/PureTextTokenizer.rst b/docs/source/tutorial/en/tokenization/PureTextTokenizer.rst new file mode 100644 index 00000000..88ec975e --- /dev/null +++ b/docs/source/tutorial/en/tokenization/PureTextTokenizer.rst @@ -0,0 +1,31 @@ +PureTextTokenizer +=================== + +By default, the pictures, labels, separators, blanks in the question text and other parts of the incoming item are converted into special characters for data security. At the same time, special formulas such as $\\FormFigureID{...}$ and $\\FormFigureBase64{...}$ are screened out to facilitate the tokenization of text and plain text formulas. Also, the tokenizer uses linear analysis method for text and formulas, and the ``key`` parameter provided is used to preprocess the incoming item, which will be improved based on users' requirements in the future. + +Examples +---------- + +:: + + >>> tokenizer = PureTextTokenizer() + >>> items = ["有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$"] + >>> tokens = tokenizer(items) + >>> next(tokens)[:10] + ['公式', '如图', '[FIGURE]', 'x', ',', 'y', '约束条件', '公式', '[SEP]', 'z'] + >>> items = ["已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$"] + >>> tokens = tokenizer(items) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + >>> items = [{ + ... "stem": "已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$", + ... "options": ["1", "2"] + ... }] + >>> tokens = tokenizer(items, key=lambda x: x["stem"]) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] diff --git a/docs/source/tutorial/en/tokenization/TextTokenizer.rst b/docs/source/tutorial/en/tokenization/TextTokenizer.rst new file mode 100644 index 00000000..08991be6 --- /dev/null +++ b/docs/source/tutorial/en/tokenization/TextTokenizer.rst @@ -0,0 +1,27 @@ +TextTokenizer +================ + +By default, the pictures, labels, separators, blanks in the question text and other parts of the incoming item are converted into special characters for data security and tokenization of text and formulas. Also, the tokenizer uses linear analysis method for text and formulas, and the ``key`` parameter provided is used to preprocess the incoming item, which will be improved based on users' requirements in the future. + + +Examples +---------- + +:: + + >>> items = ["已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$"] + >>> tokenizer = TextTokenizer() + >>> tokens = tokenizer(items) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + >>> items = [{ + ... "stem": "已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$", + ... "options": ["1", "2"] + ... }] + >>> tokens = tokenizer(items, key=lambda x: x["stem"]) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] diff --git a/docs/source/tutorial/en/tokenize.rst b/docs/source/tutorial/en/tokenize.rst new file mode 100644 index 00000000..f6350614 --- /dev/null +++ b/docs/source/tutorial/en/tokenize.rst @@ -0,0 +1,173 @@ +Tokenization +============== + +Tokenization, known as word segmentation and sentence segmentation, is a basic but very important step in the field of NLP. +In EduNLP, we divided Tokenization into different levels according to different granularity. To avoid ambiguity, we define as follows: + +* Word/char level: word segmentation + +* Sentence level: sentence segmentation + +* Resource level: tokenization + +This module provides tokenization function of question text, converting questions into token sequences to facilitate the vectorization of questions. After that, each element in the sliced item needs word segmentation. In this step, there is a depth option. You can select all positions or some labels for segmentation according to your needs, such as \SIFSep and \SIFTag. You can also select where to add labels, either at the head and tail or only at the head or tail. + +There are two modes: one is linear mode, which is used for text processing (word segmentation using jieba library). The other one is ast mode, which is used to parse the formula. + +Word Segmentation +--------------------- + +Text-tokenization: A sentence (without formulas) consists of several "words" in order. The process of dividing a sentence into several words is called "Text-tokenization". According to the granularity of "words", it can be subdivided into "Word-tokenization" and "Char-tokenization". + +:: + + - Word-tokenization: each phrase is a token. + + - Char-tokenization: each character is a token. + + +Text-tokenization is divided into two main steps: + +1. Text-tokenization: + + - Word-tokenization: use the word segmentation tool to segment and extract words from the question text. Our project supports `jieba`. + + - Char-tokenization: process text by character. + +2. Filter: filter the specified stopwords. + + The default stopwords used in this project:`[stopwords] `_ + You can also use your own stopwords. The following example demonstrates how to use. + +Examples: + +:: + + from EduNLP.SIF.tokenization.text import tokenize + >>> text = "三角函数是基本初等函数之一" + >>> tokenize(text, granularity="word") + ['三角函数', '初等', '函数'] + + >>> tokenize(text, granularity="char") + ['三', '角', '函', '数', '基', '初', '函', '数'] + +Sentence Segmentation +---------------------------- + +During the process of sentence segmentation, a long document is divided into several sentences. Each sentence is a "token" (to be realized). + +Tokenization +-------------- + +Tokenization is comprehensive analysis. In this process, sentences with formulas are segmented into several markers. Each marker is a "token". + +The implementation of this function is tokenize function. The required results can be obtained by passing in items after Structural Component Segmentation. + +:: + + from EduNLP.Tokenizer import get_tokenizer + >>> items = "如图所示,则三角形$ABC$的面积是$\\SIFBlank$。$\\FigureID{1}$" + >>> tokenize(SegmentList(items)) + ['如图所示', '三角形', 'ABC', '面积', '\\\\SIFBlank', \\FigureID{1}] + >>> tokenize(SegmentList(items),formula_params={"method": "ast"}) + ['如图所示', '三角形', , '面积', '\\\\SIFBlank', \\FigureID{1}] + + + +You can view ``./EduNLP/Tokenizer/tokenizer.py`` and ``./EduNLP/Pretrain/gensim_vec.py`` for more tokenizers. We provide some encapsulated tokenizers for users to call them conveniently. Following is a complete list of tokenizers: + +- TextTokenizer + +- PureTextTokenizer + +- GensimSegTokenizer + +- GensimWordTokenizer + + +TextTokenizer ++++++++++++++++++++++ + +By default, the pictures, labels, separators, blanks in the question text and other parts of the incoming item are converted into special characters for data security and tokenization of text and formulas. Also, the tokenizer uses linear analysis method for text and formulas, and the ``key`` parameter provided is used to preprocess the incoming item, which will be improved based on users' requirements in the future. + +:: + + >>> items = ["已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$"] + >>> tokenizer = TextTokenizer() + >>> tokens = tokenizer(items) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + >>> items = [{ + ... "stem": "已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$", + ... "options": ["1", "2"] + ... }] + >>> tokens = tokenizer(items, key=lambda x: x["stem"]) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + +PureTextTokenizer ++++++++++++++++++++++ + +By default, the pictures, labels, separators, blanks in the question text and other parts of the incoming item are converted into special characters for data security. At the same time, special formulas such as $\\FormFigureID{...}$ and $\\FormFigureBase64{...}$ are screened out to facilitate the tokenization of text and plain text formulas. Also, the tokenizer uses linear analysis method for text and formulas, and the ``key`` parameter provided is used to preprocess the incoming item, which will be improved based on users' requirements in the future. + +:: + + >>> tokenizer = PureTextTokenizer() + >>> items = ["有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$"] + >>> tokens = tokenizer(items) + >>> next(tokens)[:10] + ['公式', '如图', '[FIGURE]', 'x', ',', 'y', '约束条件', '公式', '[SEP]', 'z'] + >>> items = ["已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$"] + >>> tokens = tokenizer(items) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + >>> items = [{ + ... "stem": "已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$", + ... "options": ["1", "2"] + ... }] + >>> tokens = tokenizer(items, key=lambda x: x["stem"]) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + +GensimWordTokenizer ++++++++++++++++++++++++ + +By default, the pictures, blanks in the question text and other parts of the incoming item are converted into special characters for data security and the tokenization of text, formulas, labels and separators. Also, the tokenizer uses linear analysis method for text and abstract syntax tree method for formulas respectively. You can choose each of them by ``general`` parameter: + +-true, it means that the incoming item conforms to SIF and the linear analysis method should be used. +-false, it means that the incoming item doesn't conform to SIF and the abstract syntax tree method should be used. + +GensimSegTokenizer +++++++++++++++++++++ + +By default, the pictures, separators, blanks in the question text and other parts of the incoming item are converted into special characters for data security and tokenization of text, formulas and labels. Also, the tokenizer uses linear analysis method for text and abstract analysis method of syntax tree for formulas. + +Compared to GensimWordTokenizer, the main differences are: + +* It provides the depth option for segmentation position, such as \SIFSep and \SIFTag. +* By default, labels are inserted in the header of item components (such as text and formulas). + +Examples +---------- + +:: + + >>> tokenizer = GensimWordTokenizer(symbol="gmas", general=True) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item.tokens[:10]) + ['公式', '[FORMULA]', '如图', '[FIGURE]', 'x', ',', 'y', '约束条件', '公式', '[FORMULA]'] + >>> tokenizer = GensimWordTokenizer(symbol="fgmas", general=False) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item.tokens[:10]) + ['公式', '[FORMULA]', '如图', '[FIGURE]', '[FORMULA]', '约束条件', '公式', '[FORMULA]', '[SEP]', '[FORMULA]'] diff --git a/docs/source/tutorial/en/tokenize/Sentence Segmentation.rst b/docs/source/tutorial/en/tokenize/Sentence Segmentation.rst new file mode 100644 index 00000000..902b2bb5 --- /dev/null +++ b/docs/source/tutorial/en/tokenize/Sentence Segmentation.rst @@ -0,0 +1,3 @@ +Sentence Segmentation +------------------------- +During the process of sentence segmentation, a long document is divided into several sentences. Each sentence is a "token" (to be realized). diff --git a/docs/source/tutorial/en/tokenize/Tokenization.rst b/docs/source/tutorial/en/tokenize/Tokenization.rst new file mode 100644 index 00000000..c955602b --- /dev/null +++ b/docs/source/tutorial/en/tokenize/Tokenization.rst @@ -0,0 +1,29 @@ +Tokenization +-------------- +Tokenization is comprehensive analysis. In this process, sentences with formulas are segmented into several markers. Each marker is a "token". +We provide some encapsulated tokenizers for users to call them conveniently. The following is a complete list of tokenizers. + +Examples + +:: + + >>> items = ["已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$"] + >>> tokenizer = TextTokenizer() + >>> tokens = tokenizer(items) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + + + +You can view ``./EduNLP/Tokenizer/tokenizer.py`` and ``./EduNLP/Pretrain/gensim_vec.py`` for more tokenizers. Following is a complete list of tokenizers: + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + ../tokenization/TextTokenizer + ../tokenization/PureTextTokenizer + ../tokenization/GensimSegTokenizer + ../tokenization/GensimWordTokenizer diff --git a/docs/source/tutorial/en/tokenize/WordSegmentation.rst b/docs/source/tutorial/en/tokenize/WordSegmentation.rst new file mode 100644 index 00000000..181f0b80 --- /dev/null +++ b/docs/source/tutorial/en/tokenize/WordSegmentation.rst @@ -0,0 +1,36 @@ +Word segmentation +--------------------- + +Text-tokenization: A sentence (without formulas) consists of several "words" in order. The process of dividing a sentence into several words is called "Text-tokenization". According to the granularity of "words", it can be subdivided into "Word-tokenization" and "Char-tokenization". + +:: + + - Word-tokenization: each phrase is a token. + + - Char-tokenization: each character is a token. + + +Text-tokenization is divided into two main steps: + +1. Text-tokenization: + + - Word-tokenization: use the word segmentation tool to segment and extract words from the question text. Our project supports `jieba`. + + - Char-tokenization: process text by character. + +2. Filter: filter the specified stopwords. + + The default stopwords used in this project:`[stopwords] `_ + You can also use your own stopwords. The following example demonstrates how to use. + +Examples: + +:: + + >>> text = "三角函数是基本初等函数之一" + >>> tokenize(text, granularity="word") + ['三角函数', '初等', '函数'] + + >>> tokenize(text, granularity="char") + ['三', '角', '函', '数', '基', '初', '函', '数'] + diff --git a/docs/source/tutorial/en/vectorization.rst b/docs/source/tutorial/en/vectorization.rst new file mode 100644 index 00000000..eb59a34c --- /dev/null +++ b/docs/source/tutorial/en/vectorization.rst @@ -0,0 +1,158 @@ +Vectorization +================== + +This section provides a simple interface to convert the incoming items into vectors directly. Currently, the option of whether to use the pre training model is provided. You can choose according to your needs. If you don't want to use the pre-trained model, you can call D2V directly, or call get_pretrained_i2v function if you want to use the pre-trained model. + +- Don't use the pre-trained model + +- Use the pre-trained model + +Overview Flow +--------------------------- + +1.Perform `syntax parsing `_ on incoming items to get items in SIF format; + +2.Perform `component segmentation `_ on sif_items; + +3.Perform `tokenization `_ on segmented items; + +4.Use the existing or pre-trained model we provided to convert the tokenized items into vectors. + + +Use the pre-training model: call get_pretrained_i2v directly +--------------------------------------------- + +Use the pre-training model provided by EduNLP to convert the given question text into vectors. + +* Advantages: Simple and convenient. + +* Disadvantages: Only the model given in the project can be used, which has great limitations. + +* Call this function to obtain the corresponding pre-training model. At present, the following pre training models are provided: d2v_all_256, d2v_sci_256, d2v_eng_256 and d2v_lit_256. + +Selection and Use of Models +#################################### + +Select the pre-training model according to the subject: + ++--------------------+------------------------+ +| Pre-training model name | Subject of model training data | ++====================+========================+ +| d2v_all_256 | all subject | ++--------------------+------------------------+ +| d2v_sci_256 | Science | ++--------------------+------------------------+ +| d2v_lit_256 | Arts | ++--------------------+------------------------+ +| d2v_eng_256 | English | ++--------------------+------------------------+ + + +The concrete process of processing +#################################### + +1.Download the corresponding preprocessing model + +2.Transfer the obtained model to D2V and process it with D2V + Convert the obtained model into D2V and process it through D2V + +Examples: + +:: + + >>> i2v = get_pretrained_i2v("d2v_sci_256") + >>> i2v(item) + + +Don't use the pre-trained model: call existing models directly +-------------------------------------------------------------------------- + +You can use any pre-trained model provided by yourself (just give the storage path of the model) to convert the given question text into vectors. + +* Advantages: it is flexible to use your own model and its parameters can be adjusted freely. + +Import modules ++++++++++++++++++++++++ + +:: + + from EduNLP.I2V import D2V,W2V,get_pretrained_i2v + from EduNLP.Vector import T2V,get_pretrained_t2v + +Models provided +++++++++++++++++++++ + +- W2V + +- D2V + +- T2V + +W2V +<<<<<<<<< + +This model directly uses the relevant model methods in the gensim library to convert words into vectors. Currently, there are four methods: + + - FastText + + - Word2Vec + + - KeyedVectors + +:: + + >>> i2v = get_pretrained_i2v("test_w2v", "examples/test_model/data/w2v") # doctest: +ELLIPSIS + >>> item_vector, token_vector = i2v(["有学者认为:‘学习’,必须适应实际"]) + >>> item_vector # doctest: +ELLIPSIS + array([[...]], dtype=float32) + +D2V +<<<<<<<<<<<< + +This model is a comprehensive processing method which can convert items into vectors. Currently, the following methods are provided: + +- d2v: call doc2vec module in gensim library to convert items into vectors. + +- BowLoader: call corpora module in gensim library to convert docs into bows. + +- TfidfLoader: call TfidfModel module in gensim library to convert docs into bows. + +:: + + >>> item = {"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\SIFChoice$$\FigureID{1}$"} + >>> model_path = "../test_model/test_gensim_luna_stem_tf_d2v_256.bin" + >>> i2v = D2V("text","d2v",filepath=model_path, pretrained_t2v = False) + >>> i2v(item) + ([array([ 4.76559885e-02, -1.60574958e-01, 1.94614579e-03, 2.40295693e-01, + 2.24517003e-01, -3.24351490e-02, 4.35789041e-02, -1.65670961e-02,... + +T2V +<<<<<<<<<< + +You can use any pre-trained model provided by yourself to represent the segmentation sequences of a group of questions as vectors (just give the storage path of the model). + +- Advantages: the model and its parameters can be adjusted independently and has strong flexibility. + +Input +^^^^^^^^^^ + +Types: list +Contents: the combination of each question segmentation sequences in one question group. +>You can transfer question text (`str` type) to tokens using ``GensimWordTokenizer`` model + +:: + + >>> token_items=['公式','[FORMULA]','公式','[FORMULA]','如图','[FIGURE]','x',',','y','约束条件','[SEP]','z','=','x','+','7','y','最大值','[MARK]'] + >>> path = "../test_model/test_gensim_luna_stem_tf_d2v_256.bin" + >>> t2v = T2V('d2v',filepath=path) + >>> t2v(token_items) + [array([ 0.0256574 , 0.06061139, -0.00121044, -0.0167674 , -0.0111706 , + 0.05325712, -0.02097339, -0.01613594, 0.02904145, 0.0185046 ,... + +Specific process of processing +++++++++++++++++++++++++++++++++++++++++ + +1.Call get_tokenizer function to get the result after word segmentation; + +2.Select the model provided for vectorization depending on the model used. + diff --git a/docs/source/tutorial/en/vectorization/WithPre-trainedModel.rst b/docs/source/tutorial/en/vectorization/WithPre-trainedModel.rst new file mode 100644 index 00000000..844fdd3b --- /dev/null +++ b/docs/source/tutorial/en/vectorization/WithPre-trainedModel.rst @@ -0,0 +1,42 @@ +Use the pre-training model: call get_pretrained_i2v directly +-------------------------------------------------------------------- + +Use the pre-training model provided by EduNLP to convert the given question text into vectors. + +* Advantages: Simple and convenient. + +* Disadvantages: Only the model given in the project can be used, which has great limitations. + +* Call this function to obtain the corresponding pre-training model. At present, the following pre training models are provided: d2v_all_256, d2v_sci_256, d2v_eng_256 and d2v_lit_256. + +Selection and use of models +#################################### + +Select the pre-training model according to the subject: + ++--------------------+------------------------+ +| Pre-training model name | Subject of model training data | ++====================+========================+ +| d2v_all_256 | all subject | ++--------------------+------------------------+ +| d2v_sci_256 | Science | ++--------------------+------------------------+ +| d2v_lit_256 | Arts | ++--------------------+------------------------+ +| d2v_eng_256 | English | ++--------------------+------------------------+ + +The concrete process of processing +#################################### + +1.Download the corresponding preprocessing model + +2.Transfer the obtained model to D2V and process it with D2V + Convert the obtained model into D2V and process it through D2V + +Examples: + +:: + + >>> i2v = get_pretrained_i2v("d2v_sci_256") + >>> i2v(item) diff --git a/docs/source/tutorial/en/vectorization/WithoutPre-trainedModel.rst b/docs/source/tutorial/en/vectorization/WithoutPre-trainedModel.rst new file mode 100644 index 00000000..62ce6155 --- /dev/null +++ b/docs/source/tutorial/en/vectorization/WithoutPre-trainedModel.rst @@ -0,0 +1,21 @@ +Don't use the pre-trained model: call existing models directly +---------------------------------------------------------------- + +You can use any pre-trained model provided by yourself (just give the storage path of the model) to convert the given question text into vectors. + +* Advantages: it is flexible to use your own model and its parameters can be adjusted freely. + +Specific process of processing ++++++++++++++++++++++++++++++++++++ + +1.Call get_tokenizer function to get the result after word segmentation; + +2.Select the model provided for vectorization depending on the model used. + +Examples: + +:: + + >>> model_path = "../test_model/test_gensim_luna_stem_tf_d2v_256.bin" + >>> i2v = D2V("text","d2v",filepath=model_path, pretrained_t2v = False) + >>> i2v(item) diff --git a/docs/source/tutorial/zh/index.rst b/docs/source/tutorial/zh/index.rst index 546065b0..5dafba2b 100644 --- a/docs/source/tutorial/zh/index.rst +++ b/docs/source/tutorial/zh/index.rst @@ -3,148 +3,51 @@ * `标准项目格式 `_ -* `语法解析 `_ +* `语法解析 `_ -* `成分分解 `_ +* `成分分解 `_ * `令牌化 `_ -* `向量化 `_ - * `预训练 `_ -示例 --------- - -标准项目格式 -^^^^^^^^ - -.. nbgallery:: - :caption: This is a thumbnail gallery: - :name: sif_gallery - :glob: - - Code for beginner to learn how to use SIF4Sci <../../build/blitz/sif/sif> - Code for beginner to learn how to use sif_additon <../../build/blitz/sif/sif_addition> - - -成分分解 -^^^^^^^^^^^ - -语义成分分解 -#################### - -.. nbgallery:: - :caption: This is a thumbnail gallery: - :name: dict2str4sif_gallery - :glob: - - Code for beginner to learn how to use dict2str4sif <../../build/blitz/utils/data.ipynb> - - -结构成分分解 -#################### +* `向量化 `_ -.. nbgallery:: - :caption: This is a thumbnail gallery: - :name: seg_gallery - :glob: - - Code for beginner to learn how to use seg <../../build/blitz/seg/seg.ipynb> +主要流程 +---------- +.. figure:: ../../_static/新流程图.png -语法解析 -^^^^^^^^^^^ +* `语法解析 `_ :其作用是将传入的item转换为标准sif格式(即把字母、数字用 ``$...$`` 包裹起来,把选择填空的括号、下划线转换为特殊符号等)。 -文本语法结构解析 -#################### +* `成分分解 `_ :其作用是将传入的符合sif标准的item根据元素种类进行分割开来,从而服务于后面的令牌化环节(即可以将不同类型元素使用各自的方法令牌化)。 -.. nbgallery:: - :caption: This is a thumbnail gallery: - :name: parse_gallery - :glob: - - Code for beginner to learn how to use parse <../../build/blitz/parse/parse.ipynb> +* `令牌化 `_:其作用是将传入的经过分词后的item元素列表进行令牌化分解,从而服务于后面的向量化模块。 + 其中通常情况下直接使用文本形式的令牌化方法即可,对于公式而言还可使用ast方法进行解析(调用formula模块); +* `向量化 `_:此部分主要调用的是I2V类及其子类,其作用是将传入的令牌化后的item元素列表进行向量化操作,最终即可得到相应的静态向量。 + 对于向量化模块来说,可以调用自己训练好的模型,也可直接调用提供的预训练模型(调用get_pretrained_i2v模块即可)。 -公式语法结构解析 -#################### +* **下游模型**:将得到的向量进一步处理,从而得到所需的结果。 -.. nbgallery:: - :caption: This is a thumbnail gallery: - :name: formula_gallery - :glob: - - Code for beginner to learn how to use Formula <../../build/blitz/formula/formula.ipynb> +示例 +-------- +为使您快速了解此项目的功能,此部分仅展示常用的函数接口使用方法(如得到令牌化序列、试题对应的向量等),对于其中间函数模块(如parse、formula、segment等)以及更细分的接口方法不做展示,如需深入学习,请查看相关部分的文档。 -令牌化 -^^^^^^^^^^^ .. nbgallery:: :caption: This is a thumbnail gallery: - :name: tokenizer_gallery + :name: tokenize_gallery :glob: - Code for beginner to learn how to use Tokenizer <../../build/blitz/tokenizer/tokenizer.ipynb> + 令牌化 <../../build/blitz/tokenizer/tokenizer.ipynb> -向量化 -^^^^^^^^^^^ .. nbgallery:: :caption: This is a thumbnail gallery: :name: vectorization_gallery :glob: - Code for beginner to learn how to use i2v <../../build/blitz/vectorization/i2v.ipynb> - - -预训练 -^^^^^^^^^^^ - -获得数据集 -#################### - -.. nbgallery:: - :caption: This is a thumbnail gallery: - :name: rst1-gallery - :glob: - - prepare_dataset <../../build/blitz/pretrain/prepare_dataset.ipynb> - - -gensim模型d2v例子 -#################### - -.. nbgallery:: - :caption: This is a thumbnail gallery: - :name: rst2-gallery - :glob: - - d2v_general <../../build/blitz/pretrain/gensim/d2v_general.ipynb> - d2v_bow_tfidf <../../build/blitz/pretrain/gensim/d2v_bow_tfidf.ipynb> - d2v_stem_tf <../../build/blitz/pretrain/gensim/d2v_stem_tf.ipynb> - - -gensim模型w2v例子 -#################### - -.. nbgallery:: - :caption: This is a thumbnail gallery: - :name: rst3-gallery - :glob: - - w2v_stem_text <../../build/blitz/pretrain/gensim/w2v_stem_text.ipynb> - w2v_stem_tf <../../build/blitz/pretrain/gensim/w2v_stem_tf.ipynb> - - -seg_token例子 -#################### - -.. nbgallery:: - :caption: This is a thumbnail gallery: - :name: rst4-gallery - :glob: - - d2v.ipynb <../../build/blitz/pretrain/seg_token/d2v.ipynb> + 向量化 <../../build/blitz/vectorization/total_vector.ipynb> diff --git a/docs/source/tutorial/zh/parse.rst b/docs/source/tutorial/zh/parse.rst index 9d6ea22e..03721ba0 100644 --- a/docs/source/tutorial/zh/parse.rst +++ b/docs/source/tutorial/zh/parse.rst @@ -4,6 +4,7 @@ 在教育资源中,文本、公式都具有内在的隐式或显式的语法结构,提取这种结构对后续进一步的处理是大有裨益的: * 文本语法结构解析 + * 公式语法结构解析 其目的是: @@ -18,19 +19,274 @@ 1.匹配公式之外的英文字母、数字,只对两个汉字之间的字母、数字做修正,其余匹配到的情况视为不合 latex 语法录入的公式 -2.匹配“( )”型括号(包含英文格式和中文格式),即括号内无内容或为空格的括号,将括号替换$\\SIFChoice$ +2.匹配“( )”型括号(包含英文格式和中文格式),即括号内无内容或为空格的括号,将括号替换 ``$\\SIFChoice$`` -3.匹配下划线,替换连续的下划线或下划线中夹杂空格的情况,将其替换为$\\SIFBlank$ +3.匹配下划线,替换连续的下划线或下划线中夹杂空格的情况,将其替换为 ``$\\SIFBlank$`` 4.匹配latex公式,主要检查latex公式的完整性和可解析性,对latex 中出现中文字符发出警告 -学习路线图 +公式语法结构解析 +-------------------- + +本功能主要由EduNLP.Formula模块实现,具有检查传入的公式是否合法,并将合法的公式转换为art树的形式。从实际使用的角度,本模块常作为中间处理过程,调用相应的模型即可自动选择本模块的相关参数,故一般不需要特别关注。 + +主要内容介绍 ++++++++++++++++ + +1.Formula:对传入的单个公式进行判断,判断传入的公式是否为str形式,如果是则使用ast的方法进行处理,否则进行报错。此外,提供了variable_standardization参数,当此参数为True时,使用变量标准化方法,即同一变量拥有相同的变量编号。 + +2.FormulaGroup:如果需要传入公式集则可调用此接口,最终将形成ast森林,森林中树的结构同Formula。 + +Formula +>>>>>>>>>>>> + +Formula 首先在分词功能中对原始文本的公式做切分处理,另外提供 ``公式解析树`` 功能,可以将数学公式的抽象语法分析树用文本或图片的形式表示出来。 + +本模块另提供公式变量标准化的功能,如判断几个子公式内的‘x’为同一变量。 + +调用库 ++++++++++ + +:: + + import matplotlib.pyplot as plt + from EduNLP.Formula import Formula + from EduNLP.Formula.viz import ForestPlotter + +初始化 ++++++++++ + +传入参数:item + +item为str 或 List[Dict]类型,具体内容为latex 公式 或 公式经解析后产生的抽象语法分析树。 + +:: + + >>> f=Formula("x^2 + x+1 = y") + >>> f + + +查看公式切分后的具体内容 +++++++++++++++++++++++++++++ + +- 查看公式切分后的结点元素 + +:: + + >>> f.elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None}, + {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None}] + +- 查看公式的抽象语法分析树 + +:: + + >>> f.ast + [{'val': {'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 3],'child': [1, 2],'father': None,'forest': None}}, + {'val': {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + 'structure': {'bro': [None, 2], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + 'structure': {'bro': [1, None], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + 'structure': {'bro': [0, 4], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None}, + 'structure': {'bro': [3, 5], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + 'structure': {'bro': [4, 6], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + 'structure': {'bro': [5, 7], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + 'structure': {'bro': [6, 8], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None}, + 'structure': {'bro': [7, None],'child': None,'father': None,'forest': None}}] + + >>> print('nodes: ',f.ast_graph.nodes) + nodes: [0, 1, 2, 3, 4, 5, 6, 7, 8] + >>> print('edges: ' ,f.ast_graph.edges) + edges: [(0, 1), (0, 2)] + +- 将抽象语法分析树用图片表示 + +:: + + >>> ForestPlotter().export(f.ast_graph, root_list=[node["val"]["id"] for node in f.ast if node["structure"]["father"] is None],) + >>> plt.show() + + +.. figure:: ../../_static/formula.png + + +变量标准化 ++++++++++++ + +此参数使得同一变量拥有相同的变量编号。 + +如:``x`` 变量的编号为 ``0``, ``y`` 变量的编号为 ``1``。 + +:: + + >>> f.variable_standardization().elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}, + {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}] + +FormulaGroup +>>>>>>>>>>>>>>> + +调用 ``FormulaGroup`` 类解析公式方程组,相关的属性和函数方法同上。 + +:: + + import matplotlib.pyplot as plt + from EduNLP.Formula import Formula + from EduNLP.Formula import FormulaGroup + from EduNLP.Formula.viz import ForestPlotter + >>> fs = FormulaGroup(["x^2 = y", "x^3 = y^2", "x + y = \pi"]) + >>> fs + ;;> + >>> fs.elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None}, + {'id': 5, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 7, 'type': 'textord', 'text': '3', 'role': 'sup'}, + {'id': 8, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 9, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 10, 'type': 'mathord', 'text': 'y', 'role': 'base'}, + {'id': 11, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 12, 'type': 'mathord', 'text': 'x', 'role': None}, + {'id': 13, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 14, 'type': 'mathord', 'text': 'y', 'role': None}, + {'id': 15, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 16, 'type': 'mathord', 'text': '\\pi', 'role': None}] + >>> fs.ast + [{'val': {'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 3], + 'child': [1, 2], + 'father': None, + 'forest': None}}, + {'val': {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + 'structure': {'bro': [None, 2], + 'child': None, + 'father': 0, + 'forest': [6, 12]}}, + {'val': {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + 'structure': {'bro': [1, None], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, + 'structure': {'bro': [0, 4], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None}, + 'structure': {'bro': [3, None], + 'child': None, + 'father': None, + 'forest': [10, 14]}}, + {'val': {'id': 5, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 8], + 'child': [6, 7], + 'father': None, + 'forest': None}}, + {'val': {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + show more (open the raw output data in a text editor) ... + >>> fs.variable_standardization()[0] + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0}, {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}] + >>> ForestPlotter().export(fs.ast_graph, root_list=[node["val"]["id"] for node in fs.ast if node["structure"]["father"] is None],) + +.. figure:: ../../_static/formulagroup.png + + +文本语法结构解析 -------------------- -.. toctree:: - :maxdepth: 1 - :titlesonly: - - 文本语法结构解析 - 公式语法结构解析 +本部分主要由EduNLP.SIF.Parse模块实现,主要功能为将文本中的字母、数字等进行提取,将其转换为标准格式。 + +此模块主要作为 *中间模块* 来对输入的生文本进行解析处理,用户一般不直接调用此模块。 + +主要流程介绍 ++++++++++++++++ + +1.按照以下顺序,先后对传入的文本进行判断类型 + +* is_chinese:用于匹配中文字符 [\u4e00-\u9fa5] + +* is_alphabet:匹配公式之外的英文字母,将匹配到的只对两个汉字之间的字母做修正(使用$$包裹起来),其余匹配到的情况视为不合 latex 语法录入的公式 + +* is_number:匹配公式之外的数字,只对两个汉字之间的数字做修正(使用$$包裹起来),其余匹配到的情况视为不合 latex 语法录入的公式 + +2.匹配 latex 公式 + +* latex 中出现中文字符,打印且只打印一次 warning + +* 使用_is_formula_legal函数,检查latex公式的完整性和可解析性,对于不合法公式报错 + +调用库 +>>>>>>>>>>>> + +:: + + from EduNLP.SIF.Parser import Parser + +输入 +>>>>>>> + +类型:str + +内容:题目文本 (text) + +:: + + >>> text1 = '生产某种零件的A工厂25名工人的日加工零件数_ _' + >>> text2 = 'X的分布列为( )' + >>> text3 = '① AB是⊙O的直径,AC是⊙O的切线,BC交⊙O于点E.AC的中点为D' + >>> text4 = '支持公式如$\\frac{y}{x}$,$\\SIFBlank$,$\\FigureID{1}$,不支持公式如$\\frac{ \\dddot y}{x}$' + +进行解析 +>>>>>>>>>>>>>>>>>>>> + +:: + + >>> text_parser1 = Parser(text1) + >>> text_parser2 = Parser(text2) + >>> text_parser3 = Parser(text3) + >>> text_parser4 = Parser(text4) + +相关描述参数 +>>>>>>>>>>>> + +- 尝试转换为标准形式 + +:: + + >>> text_parser1.description_list() + >>> print('text_parser1.text:',text_parser1.text) + text_parser1.text: 生产某种零件的$A$工厂$25$名工人的日加工零件数$\SIFBlank$ + >>> text_parser2.description_list() + >>> print('text_parser2.text:',text_parser2.text) + text_parser2.text: $X$的分布列为$\SIFChoice$ + +- 判断是否有语法问题 + +:: + + >>> text_parser3.description_list() + >>> print('text_parser3.error_flag: ',text_parser3.error_flag) + text_parser3.error_flag: 1 + >>> text_parser4.description_list() + >>> print('text_parser4.fomula_illegal_flag: ',text_parser4.fomula_illegal_flag) + text_parser4.fomula_illegal_flag: 1 diff --git "a/docs/source/tutorial/zh/parse/\345\205\254\345\274\217\350\257\255\346\263\225\347\273\223\346\236\204\350\247\243\346\236\220.rst" "b/docs/source/tutorial/zh/parse/\345\205\254\345\274\217\350\257\255\346\263\225\347\273\223\346\236\204\350\247\243\346\236\220.rst" index 1a7717fb..94d8517c 100644 --- "a/docs/source/tutorial/zh/parse/\345\205\254\345\274\217\350\257\255\346\263\225\347\273\223\346\236\204\350\247\243\346\236\220.rst" +++ "b/docs/source/tutorial/zh/parse/\345\205\254\345\274\217\350\257\255\346\263\225\347\273\223\346\236\204\350\247\243\346\236\220.rst" @@ -10,52 +10,159 @@ 2.FormulaGroup:如果需要传入公式集则可调用此接口,最终将形成ast森林,森林中树的结构同Formula。 +Formula +>>>>>>>>>>>> -Examples: +Formula 首先在分词功能中对原始文本的公式做切分处理,另外提供 ``公式解析树`` 功能,可以将数学公式的抽象语法分析树用文本或图片的形式表示出来。 + +本模块另提供公式变量标准化的功能,如判断几个子公式内的‘x’为同一变量。 + +初始化 ++++++++++ + +传入参数:item + +item为str 或 List[Dict]类型,具体内容为latex 公式 或 公式经解析后产生的抽象语法分析树。 :: - >>> text = '支持公式如$\\frac{y}{x}$,$\\SIFBlank$,$\\FigureID{1}$,不支持公式如$\\frac{ \\dddot y}{x}$' - >>> text_parser = Parser(text) - >>> text_parser.description_list() - >>> text_parser.fomula_illegal_flag - >>> 1 + >>> f=Formula("x^2 + x+1 = y") + >>> f + + +查看公式切分后的具体内容 +++++++++++++++++++++++++++++ + +- 查看公式切分后的结点元素 :: - >>> f = Formula("x") - >>> f - - >>> f.ast - [{'val': {'id': 0, 'type': 'mathord', 'text': 'x', 'role': None}, 'structure': {'bro': [None, None], 'child': None, 'father': None, 'forest': None}}] - >>> f.elements - [{'id': 0, 'type': 'mathord', 'text': 'x', 'role': None}] - >>> f.variable_standardization(inplace=True) - - >>> f.elements - [{'id': 0, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}] + >>> f.elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None}, + {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None}] + +- 查看公式的抽象语法分析树 :: - >>> fg = FormulaGroup(["x + y", "y + x", "z + x"]) - >>> fg - ;;> - >>> fg = FormulaGroup(["x + y", Formula("y + x"), "z + x"]) - >>> fg - ;;> - >>> fg = FormulaGroup(["x", Formula("y"), "x"]) - >>> fg.elements - [{'id': 0, 'type': 'mathord', 'text': 'x', 'role': None}, {'id': 1, 'type': 'mathord', 'text': 'y', 'role': None},\ - {'id': 2, 'type': 'mathord', 'text': 'x', 'role': None}] - >>> fg = FormulaGroup(["x", Formula("y"), "x"], variable_standardization=True) - >>> fg.elements - [{'id': 0, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}, {'id': 1, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}, {'id': 2, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}] - -详细示范 -+++++++++++++++ + >>> f.ast + [{'val': {'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 3],'child': [1, 2],'father': None,'forest': None}}, + {'val': {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + 'structure': {'bro': [None, 2], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + 'structure': {'bro': [1, None], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + 'structure': {'bro': [0, 4], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None}, + 'structure': {'bro': [3, 5], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + 'structure': {'bro': [4, 6], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + 'structure': {'bro': [5, 7], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + 'structure': {'bro': [6, 8], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None}, + 'structure': {'bro': [7, None],'child': None,'father': None,'forest': None}}] + + >>> print('nodes: ',f.ast_graph.nodes) + nodes: [0, 1, 2, 3, 4, 5, 6, 7, 8] + >>> print('edges: ' ,f.ast_graph.edges) + edges: [(0, 1), (0, 2)] + +- 将抽象语法分析树用图片表示 + +:: + + >>> ForestPlotter().export(f.ast_graph, root_list=[node["val"]["id"] for node in f.ast if node["structure"]["father"] is None],) + >>> plt.show() + +.. figure:: ../../../_static/formula.png + +变量标准化 ++++++++++++ + +此参数使得同一变量拥有相同的变量编号。 + +如:``x`` 变量的编号为 ``0``, ``y`` 变量的编号为 ``1``。 + +:: + + >>> f.variable_standardization().elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}, + {'id': 5, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 6, 'type': 'textord', 'text': '1', 'role': None}, + {'id': 7, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}] + +FormulaGroup +>>>>>>>>>>>>>>> + +调用 ``FormulaGroup`` 类解析公式方程组,相关的属性和函数方法同上。 + +:: -.. toctree:: - :titlesonly: + >>> fs = FormulaGroup(["x^2 = y", "x^3 = y^2", "x + y = \pi"]) + >>> fs + ;;> + >>> fs.elements + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None}, + {'id': 5, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + {'id': 7, 'type': 'textord', 'text': '3', 'role': 'sup'}, + {'id': 8, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 9, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + {'id': 10, 'type': 'mathord', 'text': 'y', 'role': 'base'}, + {'id': 11, 'type': 'textord', 'text': '2', 'role': 'sup'}, + {'id': 12, 'type': 'mathord', 'text': 'x', 'role': None}, + {'id': 13, 'type': 'bin', 'text': '+', 'role': None}, + {'id': 14, 'type': 'mathord', 'text': 'y', 'role': None}, + {'id': 15, 'type': 'rel', 'text': '=', 'role': None}, + {'id': 16, 'type': 'mathord', 'text': '\\pi', 'role': None}] + >>> fs.ast + [{'val': {'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 3], + 'child': [1, 2], + 'father': None, + 'forest': None}}, + {'val': {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + 'structure': {'bro': [None, 2], + 'child': None, + 'father': 0, + 'forest': [6, 12]}}, + {'val': {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, + 'structure': {'bro': [1, None], 'child': None, 'father': 0, 'forest': None}}, + {'val': {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, + 'structure': {'bro': [0, 4], 'child': None, 'father': None, 'forest': None}}, + {'val': {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None}, + 'structure': {'bro': [3, None], + 'child': None, + 'father': None, + 'forest': [10, 14]}}, + {'val': {'id': 5, 'type': 'supsub', 'text': '\\supsub', 'role': None}, + 'structure': {'bro': [None, 8], + 'child': [6, 7], + 'father': None, + 'forest': None}}, + {'val': {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base'}, + show more (open the raw output data in a text editor) ... + >>> fs.variable_standardization()[0] + [{'id': 0, 'type': 'supsub', 'text': '\\supsub', 'role': None}, {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0}, {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}] + >>> ForestPlotter().export(fs.ast_graph, root_list=[node["val"]["id"] for node in fs.ast if node["structure"]["father"] is None],) - 树型处理效果 <../../../build/blitz/formula/tree.ipynb> - 公式解析效果案例 <../../../build/blitz/formula/formula.ipynb> +.. figure:: ../../../_static/formulagroup.png \ No newline at end of file diff --git "a/docs/source/tutorial/zh/parse/\346\226\207\346\234\254\350\257\255\346\263\225\347\273\223\346\236\204\350\247\243\346\236\220.rst" "b/docs/source/tutorial/zh/parse/\346\226\207\346\234\254\350\257\255\346\263\225\347\273\223\346\236\204\350\247\243\346\236\220.rst" index f2f442a0..aaa54b64 100644 --- "a/docs/source/tutorial/zh/parse/\346\226\207\346\234\254\350\257\255\346\263\225\347\273\223\346\236\204\350\247\243\346\236\220.rst" +++ "b/docs/source/tutorial/zh/parse/\346\226\207\346\234\254\350\257\255\346\263\225\347\273\223\346\236\204\350\247\243\346\236\220.rst" @@ -2,7 +2,9 @@ -------------------- 本部分主要由EduNLP.SIF.Parse模块实现,主要功能为将文本中的字母、数字等进行提取,将其转换为标准格式。 - + +此模块主要作为 *中间模块* 来对输入的生文本进行解析处理,用户一般不直接调用此模块。 + 主要流程介绍 +++++++++++++++ @@ -20,20 +22,51 @@ * 使用_is_formula_legal函数,检查latex公式的完整性和可解析性,对于不合法公式报错 -Examples: +输入 +>>>>>>> + +类型:str + +内容:题目文本 (text) :: - >>> text = '生产某种零件的A工厂25名工人的日加工零件数_ _' - >>> text_parser = Parser(text) - >>> text_parser.description_list() - >>> text_parser.text - >>> '生产某种零件的$A$工厂$25$名工人的日加工零件数$\\SIFBlank$' + >>> text1 = '生产某种零件的A工厂25名工人的日加工零件数_ _' + >>> text2 = 'X的分布列为( )' + >>> text3 = '① AB是⊙O的直径,AC是⊙O的切线,BC交⊙O于点E.AC的中点为D' + >>> text4 = '支持公式如$\\frac{y}{x}$,$\\SIFBlank$,$\\FigureID{1}$,不支持公式如$\\frac{ \\dddot y}{x}$' -详细示范 -+++++++++++++++ +进行解析 +>>>>>>>>>>>>>>>>>>>> + +:: + + >>> text_parser1 = Parser(text1) + >>> text_parser2 = Parser(text2) + >>> text_parser3 = Parser(text3) + >>> text_parser4 = Parser(text4) + +相关描述参数 +>>>>>>>>>>>> + +- 尝试转换为标准形式 + +:: + + >>> text_parser1.description_list() + >>> print('text_parser1.text:',text_parser1.text) + text_parser1.text: 生产某种零件的$A$工厂$25$名工人的日加工零件数$\SIFBlank$ + >>> text_parser2.description_list() + >>> print('text_parser2.text:',text_parser2.text) + text_parser2.text: $X$的分布列为$\SIFChoice$ + +- 判断是否有语法问题 + +:: -.. toctree:: - :titlesonly: - - 文本语法结构解析的案例 <../../../build/blitz/parse/parse.ipynb> + >>> text_parser3.description_list() + >>> print('text_parser3.error_flag: ',text_parser3.error_flag) + text_parser3.error_flag: 1 + >>> text_parser4.description_list() + >>> print('text_parser4.fomula_illegal_flag: ',text_parser4.fomula_illegal_flag) + text_parser4.fomula_illegal_flag: 1 diff --git a/docs/source/tutorial/zh/pretrain.rst b/docs/source/tutorial/zh/pretrain.rst index 477717a4..ff4d4fed 100644 --- a/docs/source/tutorial/zh/pretrain.rst +++ b/docs/source/tutorial/zh/pretrain.rst @@ -8,13 +8,123 @@ * 如何加载预训练模型 * 公开的预训练模型 -学习路线图 ------------------- +导入模块 +---------- + +:: + + from EduNLP.I2V import get_pretrained_i2v + from EduNLP.Vector import get_pretrained_t2v + +训练模型 +------------ + +如需训练模型则可直接train_vector函数接口,来使使训练模型更加方便。模块调用gensim库中的相关训练模型,目前提供了"sg"、 "cbow"、 "fastext"、 "d2v"、 "bow"、 "tfidf"的训练方法,并提供了embedding_dim参数,使之可以按照需求确定向量的维度。 + +基本步骤 +################## + +1.确定模型的类型,选择适合的Tokenizer(GensimWordTokenizer、 GensimSegTokenizer),使之令牌化; + +2.调用train_vector函数,即可得到所需的预训练模型。 + +Examples: + +:: + + >>> tokenizer = GensimWordTokenizer(symbol="gmas", general=True) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item.tokens[:10]) + ['公式', '[FORMULA]', '如图', '[FIGURE]', 'x', ',', 'y', '约束条件', '公式', '[FORMULA]'] + + # 10 dimension with fasstext method + train_vector(sif_items, "../../../data/w2v/gensim_luna_stem_tf_", 10, method="d2v") + + +装载模型 +-------- + +将所得到的模型传入I2V模块即可装载模型 + +Examples: + +:: + + >>> model_path = "../test_model/test_gensim_luna_stem_tf_d2v_256.bin" + >>> i2v = D2V("text","d2v",filepath=model_path, pretrained_t2v = False) + +公开模型一览 +------------ + +版本说明 +################## + +一级版本 + +* 公开版本1(luna_pub):高考 +* 公开版本2( luna_pub_large):高考 + 地区试题 + +二级版本: + +* 小科(Chinese,Math,English,History,Geography,Politics,Biology,Physics,Chemistry) +* 大科(理科science、文科literal、全科all) + +三级版本:【待完成】 + +* 不使用第三方初始化词表 +* 使用第三方初始化词表 + +模型训练数据说明 +################## + +* 当前【词向量w2v】【句向量d2v】模型所用的数据均为 【高中学段】 的题目 +* 测试数据:`[OpenLUNA.json] `_ + +当前提供以下模型,更多分学科、分题型模型正在训练中,敬请期待 + "d2v_all_256"(全科),"d2v_sci_256"(理科),"d2v_eng_256"(英语),"d2v_lit_256"(文科) + + +模型训练案例 +------------ + +获得数据集 +#################### + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + prepare_dataset <../../build/blitz/pretrain/prepare_dataset.ipynb> + +gensim模型d2v例子 +#################### + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + d2v_bow_tfidf <../../build/blitz/pretrain/gensim/d2v_bow_tfidf.ipynb> + d2v_general <../../build/blitz/pretrain/gensim/d2v_general.ipynb> + d2v_stem_tf <../../build/blitz/pretrain/gensim/d2v_stem_tf.ipynb> + +gensim模型w2v例子 +#################### + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + w2v_stem_text <../../build/blitz/pretrain/gensim/w2v_stem_text.ipynb> + w2v_stem_tf <../../build/blitz/pretrain/gensim/w2v_stem_tf.ipynb> + +seg_token例子 +#################### .. toctree:: :maxdepth: 1 :titlesonly: - 训练模型 - 装载模型 - 公开模型一览 + d2v.ipynb <../../build/blitz/pretrain/seg_token/d2v.ipynb> + d2v_d1 <../../build/blitz/pretrain/seg_token/d2v_d1.ipynb> + d2v_d2 <../../build/blitz/pretrain/seg_token/d2v_d2.ipynb> \ No newline at end of file diff --git a/docs/source/tutorial/zh/seg.rst b/docs/source/tutorial/zh/seg.rst index e1e1c0db..f65a2b41 100644 --- a/docs/source/tutorial/zh/seg.rst +++ b/docs/source/tutorial/zh/seg.rst @@ -14,13 +14,173 @@ 2.将输入的item按照元素类型进行切分、分组。 -学习路线图 --------------------- +语义成分分解 +------------ + +由于选择题是以字典的形式给出,故需要将其在保留数据类型关系的情况下转换为文本格式。dict2str4sif函数就是实现此功能的一个模块,该模块可以将选择题形式的item转换为字符格式,并将题干和选项、各选项之间分割开来。 + +导入库 ++++++++++ + +:: + + from EduNLP.utils import dict2str4sif + +基础使用方法 +++++++++++++++++++ + +:: + + >>> item = { + ... "stem": r"若复数$z=1+2 i+i^{3}$,则$|z|=$", + ... "options": ['0', '1', r'$\sqrt{2}$', '2'], + ... } + >>> dict2str4sif(item) # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2$\\SIFTag{options_end}$' + +可选的的额外参数/接口 +++++++++++++++++++++++ + +1.add_list_no_tag:当此参数为True较False时区别在于是否需要将选项部分的标签计数 + +:: + + >>> dict2str4sif(item, add_list_no_tag=True) # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2$\\SIFTag{options_end}$' + + >>> dict2str4sif(item, add_list_no_tag=False) # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$0$\\SIFSep$1$\\SIFSep$$\\sqrt{2}$$\\SIFSep$2$\\SIFTag{options_end}$' + +2.tag_mode:此参数为选择标签所在位置,delimiter为头尾都加标签,head为仅头部加标签,tail为仅尾部加标签 + +:: + + >>> dict2str4sif(item, tag_mode="head") # doctest: +ELLIPSIS + '$\\SIFTag{stem}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{options}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2' + + >>> dict2str4sif(item, tag_mode="tail") # doctest: +ELLIPSIS + '若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1$\\SIFTag{list_2}$$\\sqrt{2}$$\\SIFTag{list_3}$2$\\SIFTag{options}$' + +3.key_as_tag:当其为False时则不区分切分标签的类型,而是仅在选项之间加入$\SIFSep$ + +:: + + >>> dict2str4sif(item, key_as_tag=False) + '若复数$z=1+2 i+i^{3}$,则$|z|=$0$\\SIFSep$1$\\SIFSep$$\\sqrt{2}$$\\SIFSep$2' + +结构成分分解 +------------ + +对切片后的item中的各个元素进行分词,提供深度选项,可以按照需求选择所有地方切分或者在部分标签处切分(比如\SIFSep、\SIFTag处);对标签添加的位置也可以进行选择,可以在头尾处添加或仅在头或尾处添加。 + +具有两种模式: + +* linear模式,用于对文本进行处理(使用jieba库进行分词); + +* ast模式,用于对公式进行解析。 + +基础分解流程: + +- 使用正则匹配方法匹配出各个组成成分 + +- 对特殊结构的成分进行处理,如将base64编码的图片转为numpy形式 + +- 将当前元素分类放入各个元素组中 + +- 按照需求输入相应的参数得到筛选后的结果 + +导入库 ++++++++++ + +:: + + from EduNLP.SIF.segment import seg + from EduNLP.SIF import sif4sci + +基础使用方法 +++++++++++++++++++ + +:: + + >>> test_item = r"如图所示,则$\bigtriangleup ABC$的面积是$\SIFBlank$。$\FigureID{1}$" + >>> seg(test_item) + >>> ['如图所示,则', '\\bigtriangleup ABC', '的面积是', '\\SIFBlank', '。', \FigureID{1}] + +可选的的额外参数/接口 +++++++++++++++++++++++ + +1.describe:可以统计出各种类型元素的数量 + +:: + + >>> s.describe() + {'t': 3, 'f': 1, 'g': 1, 'm': 1} + +2.filter:可以选择性的筛除某种或几种类型的元素 + +此接口可传入keep参数来选择需要保留的元素类型,也可直接传入特殊字符来筛除特定元素类型 + +各字母所代表的元素类型: + +- "t": text +- "f": formula +- "g": figure +- "m": question mark +- "a": tag +- "s": sep tag + +:: + + >>> with s.filter("f"): + ... s + ['如图所示,则', '的面积是', '\\SIFBlank', '。', \FigureID{1}] + >>> with s.filter(keep="t"): + ... s + ['如图所示,则', '的面积是', '。'] + +3.symbol:选择性的将部分类型的数据转换为特殊符号遮掩起来 + +symbol所代表的元素类型: + +- "t": text +- "f": formula +- "g": figure +- "m": question mark + +:: + + >>> seg(test_item, symbol="fgm") + ['如图所示,则', '[FORMULA]', '的面积是', '[MARK]', '。', '[FIGURE]'] + >>> seg(test_item, symbol="tfgm") + ['[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[TEXT]', '[FIGURE]'] + +此外,当前还提供了sif4sci函数,其可以很方便的将item转换为结构成分分解后的结果 + +:: + + >>> segments = sif4sci(item["stem"], figures=figures, tokenization=False) + >>> segments + ['如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形', 'ABC', '的斜边', 'BC', ', 直角边', 'AB', ', ', 'AC', '.', '\\bigtriangleup ABC', '的三边所围成的区域记为', 'I', ',黑色部分记为', 'II', ', 其余部分记为', 'III', '.在整个图形中随机取一点,此点取自', 'I,II,III', '的概率分别记为', 'p_1,p_2,p_3', ',则', '\\SIFChoice', \FigureID{1}] + +- 调用此函数时,可以按照需求选择性的输出某一类型的数据 + +:: + + >>> segments.formula_segments + ['ABC', + 'BC', + 'AB', + 'AC', + '\\bigtriangleup ABC', + 'I', + 'II', + 'III', + 'I,II,III', + 'p_1,p_2,p_3'] -.. toctree:: - :maxdepth: 1 - :titlesonly: +- 与seg函数类似,sif4sci也提供了标记化切分选项通过修改 ``symbol`` 参数来将不同的成分转化成特定标记,方便您的研究 - 语义成分分解 - 结构成分分解 +:: + >>> sif4sci(item["stem"], figures=figures, tokenization=False, symbol="tfgm") + ['[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[FIGURE]'] diff --git "a/docs/source/tutorial/zh/seg/\347\273\223\346\236\204\346\210\220\345\210\206\345\210\206\350\247\243.rst" "b/docs/source/tutorial/zh/seg/\347\273\223\346\236\204\346\210\220\345\210\206\345\210\206\350\247\243.rst" index 13ae96ca..bffe1b64 100644 --- "a/docs/source/tutorial/zh/seg/\347\273\223\346\236\204\346\210\220\345\210\206\345\210\206\350\247\243.rst" +++ "b/docs/source/tutorial/zh/seg/\347\273\223\346\236\204\346\210\220\345\210\206\345\210\206\350\247\243.rst" @@ -26,6 +26,16 @@ 2.filter:可以选择性的筛除某种或几种类型的元素 +此接口可传入keep参数来选择需要保留的元素类型,也可直接传入特殊字符来筛除特定元素类型 + +各字母所代表的元素类型: + "t": text + "f": formula + "g": figure + "m": question mark + "a": tag + "s": sep tag + :: >>> with s.filter("f"): @@ -37,17 +47,15 @@ 3.symbol:选择性的将部分类型的数据转换为特殊符号遮掩起来 +symbol所代表的元素类型: + "t": text + "f": formula + "g": figure + "m": question mark + :: >>> seg(test_item, symbol="fgm") ['如图所示,则', '[FORMULA]', '的面积是', '[MARK]', '。', '[FIGURE]'] >>> seg(test_item, symbol="tfgm") ['[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[TEXT]', '[FIGURE]'] - -详细示范 -+++++++++++ - -.. toctree:: - :titlesonly: - - 结构成分分解的案例 <../../../build/blitz/seg/seg.ipynb> diff --git "a/docs/source/tutorial/zh/seg/\350\257\255\344\271\211\346\210\220\345\210\206\345\210\206\350\247\243.rst" "b/docs/source/tutorial/zh/seg/\350\257\255\344\271\211\346\210\220\345\210\206\345\210\206\350\247\243.rst" index 0950dd87..8c709a89 100644 --- "a/docs/source/tutorial/zh/seg/\350\257\255\344\271\211\346\210\220\345\210\206\345\210\206\350\247\243.rst" +++ "b/docs/source/tutorial/zh/seg/\350\257\255\344\271\211\346\210\220\345\210\206\345\210\206\350\247\243.rst" @@ -44,12 +44,4 @@ :: >>> dict2str4sif(item, key_as_tag=False) - '若复数$z=1+2 i+i^{3}$,则$|z|=$0$\\SIFSep$1$\\SIFSep$$\\sqrt{2}$$\\SIFSep$2' - -详细示范 -++++++++++++++++++++++ - -.. toctree:: - :titlesonly: - - 语义成分分解的案例 <../../../build/blitz/utils/data.ipynb> + '若复数$z=1+2 i+i^{3}$,则$|z|=$0$\\SIFSep$1$\\SIFSep$$\\sqrt{2}$$\\SIFSep$2' \ No newline at end of file diff --git a/docs/source/tutorial/zh/sif.rst b/docs/source/tutorial/zh/sif.rst index 0bb9f2ae..0d34eb91 100644 --- a/docs/source/tutorial/zh/sif.rst +++ b/docs/source/tutorial/zh/sif.rst @@ -87,6 +87,42 @@ version: 0.2 例如:``则$a$的取值范围是(\u3000\u3000)`` +判断是否为sif格式和转换为sif格式的函数 +-------------------------------------------- + +调用库 +++++++++ +:: + + from EduNLP.SIF import is_sif, to_sif + +is_sif ++++++++++++ + +:: + + >>> text1 = '若$x,y$满足约束条件' + >>> text2 = '$\\left\\{\\begin{array}{c}2 x+y-2 \\leq 0 \\\\ x-y-1 \\geq 0 \\\\ y+1 \\geq 0\\end{array}\\right.$,' + >>> text3 = '则$z=x+7 y$的最大值$\\SIFUnderline$' + >>> text4 = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...' + >>> is_sif(text1) + True + >>> is_sif(text2) + True + >>> is_sif(text3) + True + >>> is_sif(text4) + False + +to_sif ++++++++++++ + +:: + + >>> text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...' + >>> to_sif(text) + '某校一个课外学习小组为研究某作物的发芽率$y$和温度$x$(单位...' + Change Log ---------------- @@ -106,4 +142,3 @@ Change Log 1. 注明 ``$$`` 之中不能出现换行符。 2. 添加文本标注格式说明。 - diff --git a/docs/source/tutorial/zh/tokenization/PureTextTokenizer.ipynb b/docs/source/tutorial/zh/tokenization/PureTextTokenizer.rst similarity index 100% rename from docs/source/tutorial/zh/tokenization/PureTextTokenizer.ipynb rename to docs/source/tutorial/zh/tokenization/PureTextTokenizer.rst diff --git a/docs/source/tutorial/zh/tokenize.rst b/docs/source/tutorial/zh/tokenize.rst index ce719757..4982f031 100644 --- a/docs/source/tutorial/zh/tokenize.rst +++ b/docs/source/tutorial/zh/tokenize.rst @@ -16,13 +16,157 @@ 具有两种模式,一种是linear模式,用于对文本进行处理(使用jieba库进行分词);一种是ast模式,用于对公式进行解析。 -学习路线图 --------------------- +分词 +------- -.. toctree:: - :maxdepth: 1 - :titlesonly: +词解析(text-tokenization):一个句子(不含公式)是由若干“词”按顺序构成的,将一个句子切分为若干词的过程称为“词解析”。根据词的粒度大小,又可细分为“词组解析”和"单字解析"。 + +:: + + - 词组解析 (word-tokenization):每一个词组为一个“令牌”(token)。 + + - 单字解析 (char-tokenization):单个字符即为一个“令牌”(token)。 + + +词解析分为两个主要步骤: + +1. 分词: + + - 词组解析:使用分词工具切分并提取题目文本中的词。本项目目前支持的分词工具有:`jieba` + + - 单字解析:按字符划分。 + +2. 筛选:过滤指定的停用词。 + + 本项目默认使用的停用词表:`[stopwords] `_ + 你也可以使用自己的停用词表,具体使用方法见下面的示例。 + +Examples: + +:: + + from EduNLP.SIF.tokenization.text import tokenize + >>> text = "三角函数是基本初等函数之一" + >>> tokenize(text, granularity="word") + ['三角函数', '初等', '函数'] - 分词 - 分句 - 令牌化 + >>> tokenize(text, granularity="char") + ['三', '角', '函', '数', '基', '初', '函', '数'] + +分句 +------- + +将较长的文档切分成若干句子的过程称为“分句”。每个句子为一个“令牌”(token)(待实现)。 + +令牌化 +------- +即综合解析,将带公式的句子切分为若干标记的过程。每个标记为一个“令牌”(token)。 + +此功能对应的实现函数为tokenize,将已经经过结构成分分解后的item传入其中即可得到所需结果。 + +:: + + from EduNLP.Tokenizer import get_tokenizer + >>> items = "如图所示,则三角形$ABC$的面积是$\\SIFBlank$。$\\FigureID{1}$" + >>> tokenize(SegmentList(items)) + ['如图所示', '三角形', 'ABC', '面积', '\\\\SIFBlank', \\FigureID{1}] + >>> tokenize(SegmentList(items),formula_params={"method": "ast"}) + ['如图所示', '三角形', , '面积', '\\\\SIFBlank', \\FigureID{1}] + + + +我们提供了多种已经封装好的令牌化器供用户便捷调用,通过查看 ``./EduNLP/Tokenizer/tokenizer.py`` 及 ``./EduNLP/Pretrain/gensim_vec.py`` 可以查看更多令牌化器,下面是一个完整的令牌化器列表: + +- TextTokenizer + +- PureTextTokenizer + +- GensimSegTokenizer + +- GensimWordTokenizer + + +TextTokenizer ++++++++++++++++++++++ + +即文本令牌解析器,在默认情况下对传入的item中的图片、标签、分隔符、题目空缺符等部分则转换成特殊字符进行保护,从而对文本、公式进行令牌化操作。此外,此令牌解析器对文本、公式均采用线性的分析方法,并提供的key参数用于对传入的item进行预处理,待未来根据需求进行开发。 + +:: + + >>> items = ["已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$"] + >>> tokenizer = TextTokenizer() + >>> tokens = tokenizer(items) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + >>> items = [{ + ... "stem": "已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$", + ... "options": ["1", "2"] + ... }] + >>> tokens = tokenizer(items, key=lambda x: x["stem"]) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + +PureTextTokenizer ++++++++++++++++++++++ + +即纯净型文本令牌解析器,在默认情况下对传入的item中的图片、标签、分隔符、题目空缺符等部分则转换成特殊字符进行保护,并对特殊公式(例如:$\\FormFigureID{...}$, $\\FormFigureBase64{...}$)进行筛除,从而对文本、纯文本公式进行令牌化操作。此外,此令牌解析器对文本、公式均采用线性的分析方法,并提供的key参数用于对传入的item进行预处理,待未来根据需求进行开发。 + + +:: + + >>> tokenizer = PureTextTokenizer() + >>> items = ["有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$"] + >>> tokens = tokenizer(items) + >>> next(tokens)[:10] + ['公式', '如图', '[FIGURE]', 'x', ',', 'y', '约束条件', '公式', '[SEP]', 'z'] + >>> items = ["已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$"] + >>> tokens = tokenizer(items) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + >>> items = [{ + ... "stem": "已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$", + ... "options": ["1", "2"] + ... }] + >>> tokens = tokenizer(items, key=lambda x: x["stem"]) + >>> next(tokens) # doctest: +NORMALIZE_WHITESPACE + ['已知', '集合', 'A', '=', '\\left', '\\{', 'x', '\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', + '0', '\\right', '\\}', ',', '\\quad', 'B', '=', '\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\}', ',', + '\\quad', 'A', '\\cap', 'B', '='] + +GensimWordTokenizer ++++++++++++++++++++++++ + +此令牌解析器在默认情况下对传入的item中的图片、题目空缺符等部分转换成特殊字符进行保护,从而对文本、公式、标签、分隔符进行令牌化操作。此外,从令牌化方法而言,此令牌解析器对文本均采用线性的分析方法,而对公式采用抽象语法树的分析方法,提供了general参数可供使用者选择:当general为true的时候则代表着传入的item并非标准格式,此时对公式也使用线性的分析方法;当general为false时则代表使用抽象语法树的方法对公式进行解析。 + +GensimSegTokenizer +++++++++++++++++++++ + +此令牌解析器在默认情况下对传入的item中的图片、分隔符、题目空缺符等部分则转换成特殊字符进行保护,从而对文本、公式、标签进行令牌化操作。此外,从令牌化方法而言,此令牌解析器对文本均采用线性的分析方法,而对公式采用抽象语法树的分析方法。 + +与GensimWordTokenizer相比,GensimSegTokenizer解析器主要区别是: + +* 提供了切分深度的选项,即可以在sep标签或者tag标签处进行切割 +* 默认在item组分(如text、formula)的头部插入开始标签 + +Examples +---------- + +:: + + >>> tokenizer = GensimWordTokenizer(symbol="gmas", general=True) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item.tokens[:10]) + ['公式', '[FORMULA]', '如图', '[FIGURE]', 'x', ',', 'y', '约束条件', '公式', '[FORMULA]'] + >>> tokenizer = GensimWordTokenizer(symbol="fgmas", general=False) + >>> token_item = tokenizer("有公式$\\FormFigureID{wrong1?}$,如图$\\FigureID{088f15ea-xxx}$,\ + ... 若$x,y$满足约束条件公式$\\FormFigureBase64{wrong2?}$,$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$") + >>> print(token_item.tokens[:10]) + ['公式', '[FORMULA]', '如图', '[FIGURE]', '[FORMULA]', '约束条件', '公式', '[FORMULA]', '[SEP]', '[FORMULA]'] diff --git a/docs/source/tutorial/zh/vectorization.rst b/docs/source/tutorial/zh/vectorization.rst index 89175ba6..aff364ff 100644 --- a/docs/source/tutorial/zh/vectorization.rst +++ b/docs/source/tutorial/zh/vectorization.rst @@ -3,6 +3,10 @@ 此部分提供了简便的接口,可以直接将传入的items经过转化得到向量。当前提供了是否使用预训练模型的选项,可根据需要进行选择,如不使用预训练模型则可直接调用D2V函数,使用预训练模型则调用get_pretrained_i2v函数。 +- 不使用预训练模型 + +- 使用预训练模型 + 总体流程 --------------------------- @@ -14,13 +18,138 @@ 4.使用已有或者使用提供的预训练模型,将令牌化后的item转换为向量。 -学习路线图 ---------------------------- -.. toctree:: - :maxdepth: 1 - :titlesonly: +使用预训练模型:直接调用get_pretrained_i2v +--------------------------------------------- + +使用 EduNLP 项目组给定的预训练模型将给定的题目文本转成向量。 + +* 优点:简单方便。 + +* 缺点:只能使用项目中给定的模型,局限性较大。 + +* 调用此函数即可获得相应的预训练模型,目前提供以下的预训练模型:d2v_all_256、d2v_sci_256、d2v_eng_256、d2v_lit_256 + +模型选择与使用 +################## + +根据题目所属学科选择预训练模型: + ++--------------------+------------------------+ +| 预训练模型名称 | 模型训练数据的所属学科 | ++====================+========================+ +| d2v_all_256 | 全学科 | ++--------------------+------------------------+ +| d2v_sci_256 | 理科 | ++--------------------+------------------------+ +| d2v_lit_256 | 文科 | ++--------------------+------------------------+ +| d2v_eng_256 | 英语 | ++--------------------+------------------------+ + +处理的具体流程 +################## + +1.下载相应的预处理模型 + +2.将所得到的模型传入D2V,使用D2V进行处理 + +Examples: + +:: + + >>> i2v = get_pretrained_i2v("d2v_sci_256") + >>> i2v(item) + + +不使用预训练模型:直接调用已有模型 +------------------------------------ + +使用自己提供的任一预训练模型(给出模型存放路径即可)将给定的题目文本转成向量。 + +* 优点:可以使用自己的模型,另可调整训练参数,灵活性强。 + +导入模块 +++++++++++ + +:: + + from EduNLP.I2V import D2V,W2V,get_pretrained_i2v + from EduNLP.Vector import T2V,get_pretrained_t2v + +提供的模型类型 +++++++++++++++++++++ + +- W2V + +- D2V + +- T2V + +W2V +<<<<<<<<< + +此模型方法直接使用gensim库中的相关模型方法,将传入的word转换为vector,当前提供一下四种方法: + + - FastText + + - Word2Vec + + - KeyedVectors + +:: + + >>> i2v = get_pretrained_i2v("test_w2v", "examples/test_model/data/w2v") # doctest: +ELLIPSIS + >>> item_vector, token_vector = i2v(["有学者认为:‘学习’,必须适应实际"]) + >>> item_vector # doctest: +ELLIPSIS + array([[...]], dtype=float32) + +D2V +<<<<<<<<<<<< + +此模型方法可以将item转换为vector,是一个综合性的处理方法,当前提供以下方法: + +- d2v:调用gensim库中的Doc2Vec,来使item转换为vector + +- BowLoader:调用gensim库中的corpora模块将doc转化为bow + +- TfidfLoader:调用gensim库中的TfidfModel模块将doc转化为bow + +:: + + >>> item = {"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\SIFChoice$$\FigureID{1}$"} + >>> model_path = "../test_model/test_gensim_luna_stem_tf_d2v_256.bin" + >>> i2v = D2V("text","d2v",filepath=model_path, pretrained_t2v = False) + >>> i2v(item) + ([array([ 4.76559885e-02, -1.60574958e-01, 1.94614579e-03, 2.40295693e-01, + 2.24517003e-01, -3.24351490e-02, 4.35789041e-02, -1.65670961e-02,... + +T2V +<<<<<<<<<< + +使用自己提供的任一预训练模型(给出模型存放路径即可)将一组题目的切分序列表征为向量。 + +- 优点:模型及其参数可自主调整,灵活性强。 + +输入 +^^^^^^^^^^ + +类型:list +内容:一个题组中每个题目切分序列的组合。 +> 使用 ``GensimWordTokenizer`` 模型即可将题目文本(`str` 类型)转换成 tokens。 + +:: + + >>> token_items=['公式','[FORMULA]','公式','[FORMULA]','如图','[FIGURE]','x',',','y','约束条件','[SEP]','z','=','x','+','7','y','最大值','[MARK]'] + >>> path = "../test_model/test_gensim_luna_stem_tf_d2v_256.bin" + >>> t2v = T2V('d2v',filepath=path) + >>> t2v(token_items) + [array([ 0.0256574 , 0.06061139, -0.00121044, -0.0167674 , -0.0111706 , + 0.05325712, -0.02097339, -0.01613594, 0.02904145, 0.0185046 ,... + +处理的具体流程 +++++++++++++++++++++ - 不使用预训练模型 - 使用预训练模型 +1.调用get_tokenizer函数,得到经过分词后的结果; +2.根据使用的模型,选择提供的模型类型,进行向量化处理。 diff --git "a/docs/source/tutorial/zh/vectorization/\344\270\215\344\275\277\347\224\250\351\242\204\350\256\255\347\273\203\346\250\241\345\236\213.rst" "b/docs/source/tutorial/zh/vectorization/\344\270\215\344\275\277\347\224\250\351\242\204\350\256\255\347\273\203\346\250\241\345\236\213.rst" index 5a26588f..04f21712 100644 --- "a/docs/source/tutorial/zh/vectorization/\344\270\215\344\275\277\347\224\250\351\242\204\350\256\255\347\273\203\346\250\241\345\236\213.rst" +++ "b/docs/source/tutorial/zh/vectorization/\344\270\215\344\275\277\347\224\250\351\242\204\350\256\255\347\273\203\346\250\241\345\236\213.rst" @@ -11,7 +11,7 @@ 1.调用get_tokenizer函数,得到经过分词后的结果; -2.调用T2V模块,根据需要选择是否使用预训练的t2v模型 +2.调用D2V或W2V等模块,根据需要选择是否使用预训练的t2v模型 Examples: diff --git a/examples/formula/formula.ipynb b/examples/formula/formula.ipynb index f748a90a..a9626563 100644 --- a/examples/formula/formula.ipynb +++ b/examples/formula/formula.ipynb @@ -3,13 +3,13 @@ { "cell_type": "markdown", "source": [ - "# Formula\n", - "\n", - "## 概述\n", - "\n", - "Formula 首先在分词功能中对原始文本的公式做切分处理,另外提供 [公式解析树] 功能,可以将数学公式的抽象语法分析树用文本或图片的形式表示出来。 \n", - "\n", - "本模块另提供公式变量标准化的功能,如判断几个子公式内的‘x’为同一变量。" + "# Formula\r\n", + "\r\n", + "## 概述\r\n", + "\r\n", + "Formula 首先在分词功能中对原始文本的公式做切分处理,另外提供多种功能使之能够适应多种用户需求,例如 [公式解析树] 功能,可以将数学公式的抽象语法分析树用文本或图片的形式表示出来;又如[公式变量标准化]的功能,能判断几个子公式内的‘x’为同一变量。\r\n", + "\r\n", + "由于本部分常作为中间模块,故仅展示基本调用方法,如需更进一步学习模块相关参数请参见对应文档。" ], "metadata": {} }, @@ -17,9 +17,9 @@ "cell_type": "code", "execution_count": 1, "source": [ - "import matplotlib.pyplot as plt\n", - "from EduNLP.Formula import Formula\n", - "from EduNLP.Formula import FormulaGroup\n", + "import matplotlib.pyplot as plt\r\n", + "from EduNLP.Formula import Formula\r\n", + "from EduNLP.Formula import FormulaGroup\r\n", "from EduNLP.Formula.viz import ForestPlotter" ], "outputs": [], @@ -41,7 +41,7 @@ "cell_type": "code", "execution_count": 2, "source": [ - "f = Formula(\"x^2 + x+1 = y\")\n", + "f = Formula(\"x^2 + x+1 = y\")\r\n", "f " ], "outputs": [ @@ -60,188 +60,6 @@ "collapsed": true } }, - { - "cell_type": "markdown", - "source": [ - "- 查看公式切分后的结点元素:" - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 3, - "source": [ - "f.elements" - ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[{'id': 0, 'type': 'supsub', 'text': '\\\\supsub', 'role': None},\n", - " {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'},\n", - " {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'},\n", - " {'id': 3, 'type': 'bin', 'text': '+', 'role': None},\n", - " {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None},\n", - " {'id': 5, 'type': 'bin', 'text': '+', 'role': None},\n", - " {'id': 6, 'type': 'textord', 'text': '1', 'role': None},\n", - " {'id': 7, 'type': 'rel', 'text': '=', 'role': None},\n", - " {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None}]" - ] - }, - "metadata": {}, - "execution_count": 3 - } - ], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [ - "- 查看公式的抽象语法分析树:" - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 4, - "source": [ - "f.ast " - ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[{'val': {'id': 0, 'type': 'supsub', 'text': '\\\\supsub', 'role': None},\n", - " 'structure': {'bro': [None, 3],\n", - " 'child': [1, 2],\n", - " 'father': None,\n", - " 'forest': None}},\n", - " {'val': {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'},\n", - " 'structure': {'bro': [None, 2], 'child': None, 'father': 0, 'forest': None}},\n", - " {'val': {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'},\n", - " 'structure': {'bro': [1, None], 'child': None, 'father': 0, 'forest': None}},\n", - " {'val': {'id': 3, 'type': 'bin', 'text': '+', 'role': None},\n", - " 'structure': {'bro': [0, 4], 'child': None, 'father': None, 'forest': None}},\n", - " {'val': {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None},\n", - " 'structure': {'bro': [3, 5], 'child': None, 'father': None, 'forest': None}},\n", - " {'val': {'id': 5, 'type': 'bin', 'text': '+', 'role': None},\n", - " 'structure': {'bro': [4, 6], 'child': None, 'father': None, 'forest': None}},\n", - " {'val': {'id': 6, 'type': 'textord', 'text': '1', 'role': None},\n", - " 'structure': {'bro': [5, 7], 'child': None, 'father': None, 'forest': None}},\n", - " {'val': {'id': 7, 'type': 'rel', 'text': '=', 'role': None},\n", - " 'structure': {'bro': [6, 8], 'child': None, 'father': None, 'forest': None}},\n", - " {'val': {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None},\n", - " 'structure': {'bro': [7, None],\n", - " 'child': None,\n", - " 'father': None,\n", - " 'forest': None}}]" - ] - }, - "metadata": {}, - "execution_count": 4 - } - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 13, - "source": [ - "print('nodes: ',f.ast_graph.nodes)\n", - "print('edges: ' ,f.ast_graph.edges)\n" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "nodes: [0, 1, 2, 3, 4, 5, 6, 7, 8]\n", - "edges: [(0, 1), (0, 2)]\n" - ] - } - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 17, - "source": [ - "ForestPlotter().export(\n", - " f.ast_graph, root_list=[node[\"val\"][\"id\"] for node in f.ast if node[\"structure\"][\"father\"] is None],\n", - ")\n", - "plt.show()" - ], - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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" - }, - "metadata": { - "needs_background": "light" - } - } - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "## 变量标准化\n", - "\n", - "下面这个例子中,`var` 为变量编号。同一变量拥有相同的变量编号。 \n", - "如:`x` 变量的编号为 `0`, `y` 变量的编号为 `1`。" - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 20, - "source": [ - "f.variable_standardization().elements" - ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[{'id': 0, 'type': 'supsub', 'text': '\\\\supsub', 'role': None},\n", - " {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0},\n", - " {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'},\n", - " {'id': 3, 'type': 'bin', 'text': '+', 'role': None},\n", - " {'id': 4, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0},\n", - " {'id': 5, 'type': 'bin', 'text': '+', 'role': None},\n", - " {'id': 6, 'type': 'textord', 'text': '1', 'role': None},\n", - " {'id': 7, 'type': 'rel', 'text': '=', 'role': None},\n", - " {'id': 8, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}]" - ] - }, - "metadata": {}, - "execution_count": 20 - } - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, { "cell_type": "markdown", "source": [ @@ -255,11 +73,11 @@ "cell_type": "code", "execution_count": 21, "source": [ - "fs = FormulaGroup([\n", - " \"x^2 = y\",\n", - " \"x^3 = y^2\",\n", - " \"x + y = \\pi\"\n", - "])\n", + "fs = FormulaGroup([\r\n", + " \"x^2 = y\",\r\n", + " \"x^3 = y^2\",\r\n", + " \"x + y = \\pi\"\r\n", + "])\r\n", "fs" ], "outputs": [ @@ -280,209 +98,6 @@ "name": "#%%\n" } } - }, - { - "cell_type": "code", - "execution_count": 22, - "source": [ - "fs.elements" - ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[{'id': 0, 'type': 'supsub', 'text': '\\\\supsub', 'role': None},\n", - " {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'},\n", - " {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'},\n", - " {'id': 3, 'type': 'rel', 'text': '=', 'role': None},\n", - " {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None},\n", - " {'id': 5, 'type': 'supsub', 'text': '\\\\supsub', 'role': None},\n", - " {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base'},\n", - " {'id': 7, 'type': 'textord', 'text': '3', 'role': 'sup'},\n", - " {'id': 8, 'type': 'rel', 'text': '=', 'role': None},\n", - " {'id': 9, 'type': 'supsub', 'text': '\\\\supsub', 'role': None},\n", - " {'id': 10, 'type': 'mathord', 'text': 'y', 'role': 'base'},\n", - " {'id': 11, 'type': 'textord', 'text': '2', 'role': 'sup'},\n", - " {'id': 12, 'type': 'mathord', 'text': 'x', 'role': None},\n", - " {'id': 13, 'type': 'bin', 'text': '+', 'role': None},\n", - " {'id': 14, 'type': 'mathord', 'text': 'y', 'role': None},\n", - " {'id': 15, 'type': 'rel', 'text': '=', 'role': None},\n", - " {'id': 16, 'type': 'mathord', 'text': '\\\\pi', 'role': None}]" - ] - }, - "metadata": {}, - "execution_count": 22 - } - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 23, - "source": [ - "fs.ast" - ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[{'val': {'id': 0, 'type': 'supsub', 'text': '\\\\supsub', 'role': None},\n", - " 'structure': {'bro': [None, 3],\n", - " 'child': [1, 2],\n", - " 'father': None,\n", - " 'forest': None}},\n", - " {'val': {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base'},\n", - " 'structure': {'bro': [None, 2],\n", - " 'child': None,\n", - " 'father': 0,\n", - " 'forest': [6, 12]}},\n", - " {'val': {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'},\n", - " 'structure': {'bro': [1, None], 'child': None, 'father': 0, 'forest': None}},\n", - " {'val': {'id': 3, 'type': 'rel', 'text': '=', 'role': None},\n", - " 'structure': {'bro': [0, 4], 'child': None, 'father': None, 'forest': None}},\n", - " {'val': {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None},\n", - " 'structure': {'bro': [3, None],\n", - " 'child': None,\n", - " 'father': None,\n", - " 'forest': [10, 14]}},\n", - " {'val': {'id': 5, 'type': 'supsub', 'text': '\\\\supsub', 'role': None},\n", - " 'structure': {'bro': [None, 8],\n", - " 'child': [6, 7],\n", - " 'father': None,\n", - " 'forest': None}},\n", - " {'val': {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base'},\n", - " 'structure': {'bro': [None, 7],\n", - " 'child': None,\n", - " 'father': 5,\n", - " 'forest': [1, 12]}},\n", - " {'val': {'id': 7, 'type': 'textord', 'text': '3', 'role': 'sup'},\n", - " 'structure': {'bro': [6, None], 'child': None, 'father': 5, 'forest': None}},\n", - " {'val': {'id': 8, 'type': 'rel', 'text': '=', 'role': None},\n", - " 'structure': {'bro': [5, 9], 'child': None, 'father': None, 'forest': None}},\n", - " {'val': {'id': 9, 'type': 'supsub', 'text': '\\\\supsub', 'role': None},\n", - " 'structure': {'bro': [8, None],\n", - " 'child': [10, 11],\n", - " 'father': None,\n", - " 'forest': None}},\n", - " {'val': {'id': 10, 'type': 'mathord', 'text': 'y', 'role': 'base'},\n", - " 'structure': {'bro': [None, 11],\n", - " 'child': None,\n", - " 'father': 9,\n", - " 'forest': [4, 14]}},\n", - " {'val': {'id': 11, 'type': 'textord', 'text': '2', 'role': 'sup'},\n", - " 'structure': {'bro': [10, None],\n", - " 'child': None,\n", - " 'father': 9,\n", - " 'forest': None}},\n", - " {'val': {'id': 12, 'type': 'mathord', 'text': 'x', 'role': None},\n", - " 'structure': {'bro': [None, 13],\n", - " 'child': None,\n", - " 'father': None,\n", - " 'forest': [1, 6]}},\n", - " {'val': {'id': 13, 'type': 'bin', 'text': '+', 'role': None},\n", - " 'structure': {'bro': [12, 14],\n", - " 'child': None,\n", - " 'father': None,\n", - " 'forest': None}},\n", - " {'val': {'id': 14, 'type': 'mathord', 'text': 'y', 'role': None},\n", - " 'structure': {'bro': [13, 15],\n", - " 'child': None,\n", - " 'father': None,\n", - " 'forest': [4, 10]}},\n", - " {'val': {'id': 15, 'type': 'rel', 'text': '=', 'role': None},\n", - " 'structure': {'bro': [14, 16],\n", - " 'child': None,\n", - " 'father': None,\n", - " 'forest': None}},\n", - " {'val': {'id': 16, 'type': 'mathord', 'text': '\\\\pi', 'role': None},\n", - " 'structure': {'bro': [15, None],\n", - " 'child': None,\n", - " 'father': None,\n", - " 'forest': None}}]" - ] - }, - "metadata": {}, - "execution_count": 23 - } - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 25, - "source": [ - "ForestPlotter().export(\n", - " fs.ast_graph, root_list=[node[\"val\"][\"id\"] for node in fs.ast if node[\"structure\"][\"father\"] is None],\n", - ")" - ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[Text(22.32, 181.2, 'id: 0\\ntype: supsub\\ntext: \\\\supsub\\nrole: None'),\n", - " Text(11.16, 108.72, 'id: 1\\ntype: mathord\\ntext: x\\nrole: base'),\n", - " Text(33.480000000000004, 108.72, 'id: 2\\ntype: textord\\ntext: 2\\nrole: sup'),\n", - " Text(55.8, 181.2, 'id: 3\\ntype: rel\\ntext: =\\nrole: None'),\n", - " Text(78.12, 181.2, 'id: 4\\ntype: mathord\\ntext: y\\nrole: None'),\n", - " Text(111.6, 181.2, 'id: 5\\ntype: supsub\\ntext: \\\\supsub\\nrole: None'),\n", - " Text(100.44, 108.72, 'id: 6\\ntype: mathord\\ntext: x\\nrole: base'),\n", - " Text(122.76, 108.72, 'id: 7\\ntype: textord\\ntext: 3\\nrole: sup'),\n", - " Text(145.08, 181.2, 'id: 8\\ntype: rel\\ntext: =\\nrole: None'),\n", - " Text(178.56, 181.2, 'id: 9\\ntype: supsub\\ntext: \\\\supsub\\nrole: None'),\n", - " Text(167.4, 108.72, 'id: 10\\ntype: mathord\\ntext: y\\nrole: base'),\n", - " Text(189.72, 108.72, 'id: 11\\ntype: textord\\ntext: 2\\nrole: sup'),\n", - " Text(212.04, 181.2, 'id: 12\\ntype: mathord\\ntext: x\\nrole: None'),\n", - " Text(234.36, 181.2, 'id: 13\\ntype: bin\\ntext: +\\nrole: None'),\n", - " Text(256.68, 181.2, 'id: 14\\ntype: mathord\\ntext: y\\nrole: None'),\n", - " Text(279.0, 181.2, 'id: 15\\ntype: rel\\ntext: =\\nrole: None'),\n", - " Text(301.32, 181.2, 'id: 16\\ntype: mathord\\ntext: \\\\pi\\nrole: None')]" - ] - }, - "metadata": {}, - "execution_count": 25 - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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" - }, - "metadata": { - "needs_background": "light" - } - } - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 28, - "source": [ - "for ft in fs.variable_standardization():\n", - " print(ft.elements)" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "[{'id': 0, 'type': 'supsub', 'text': '\\\\supsub', 'role': None}, {'id': 1, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0}, {'id': 2, 'type': 'textord', 'text': '2', 'role': 'sup'}, {'id': 3, 'type': 'rel', 'text': '=', 'role': None}, {'id': 4, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}]\n", - "[{'id': 5, 'type': 'supsub', 'text': '\\\\supsub', 'role': None}, {'id': 6, 'type': 'mathord', 'text': 'x', 'role': 'base', 'var': 0}, {'id': 7, 'type': 'textord', 'text': '3', 'role': 'sup'}, {'id': 8, 'type': 'rel', 'text': '=', 'role': None}, {'id': 9, 'type': 'supsub', 'text': '\\\\supsub', 'role': None}, {'id': 10, 'type': 'mathord', 'text': 'y', 'role': 'base', 'var': 1}, {'id': 11, 'type': 'textord', 'text': '2', 'role': 'sup'}]\n", - "[{'id': 12, 'type': 'mathord', 'text': 'x', 'role': None, 'var': 0}, {'id': 13, 'type': 'bin', 'text': '+', 'role': None}, {'id': 14, 'type': 'mathord', 'text': 'y', 'role': None, 'var': 1}, {'id': 15, 'type': 'rel', 'text': '=', 'role': None}, {'id': 16, 'type': 'mathord', 'text': '\\\\pi', 'role': None}]\n" - ] - } - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } } ], "metadata": { diff --git a/examples/i2v/get_pretrained_i2v.ipynb b/examples/i2v/get_pretrained_i2v.ipynb new file mode 100644 index 00000000..9fe707b7 --- /dev/null +++ b/examples/i2v/get_pretrained_i2v.ipynb @@ -0,0 +1,211 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# get_pretrained_i2v\n", + "\n", + "## 概述\n", + "\n", + "使用 EduNLP 项目组给定的预训练模型将给定的题目文本转成向量。\n", + "\n", + "- 优点:简单方便。\n", + "- 缺点:只能使用项目中给定的模型,局限性较大。\n" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 导入功能块" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 1, + "source": [ + "from EduNLP import get_pretrained_i2v" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 输入\n", + "\n", + "类型:str \n", + "内容:题目文本 (text)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 2, + "source": [ + "item = {\n", + "\"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\"\n", + "}\n" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 模型选择与使用" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "根据题目所属学科选择预训练模型: \n", + "\n", + " 预训练模型名称 | 模型训练数据的所属学科 \n", + " -------------- | ---------------------- \n", + " d2v_all_256 | 全学科 \n", + " d2v_sci_256 | 理科 \n", + " d2v_eng_256 | 英语 \n", + " d2v_lit_256 | 文科 \n", + "\n" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 3, + "source": [ + "i2v = get_pretrained_i2v(\"d2v_sci_256\")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "EduNLP, INFO Use pretrained t2v model d2v_sci_256\n", + "downloader, INFO http://base.ustc.edu.cn/data/model_zoo/EduNLP/d2v/general_science_256.zip is saved as /home/lvrui/.EduNLP/model/general_science_256.zip\n", + "downloader, INFO file existed, skipped\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 注意:\n", + " 默认的 EduNLP 项目存储地址为根目录(`~/.EduNLP`),模型存储地址为项目存储地址下的 `model` 文件夹。您可以通过修改下面的环境变量来修改模型存储地址:\n", + " - EduNLP 项目存储地址:`EDUNLPPATH = xx/xx/xx`\n", + " - 模型存储地址:`EDUNLPMODELPATH = xx/xx/xx`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 4, + "source": [ + "print(i2v(item))" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "([array([-2.38860980e-01, 7.09681511e-02, -2.71706015e-01, 1.64714813e-01,\n", + " 2.81243492e-02, -1.82386801e-01, 9.22331214e-02, 1.31783364e-02,\n", + " 9.15176645e-02, 3.14464062e-01, 9.37800854e-02, -2.28523940e-01,\n", + " -2.60597020e-01, 6.49375990e-02, 9.75619778e-02, -1.97933778e-01,\n", + " 8.29798505e-02, -2.26491719e-01, -1.77030653e-01, -3.56038064e-02,\n", + " 6.22844934e-01, -2.66110301e-01, 8.00080523e-02, -1.60827965e-01,\n", + " -1.78654417e-01, -1.33000776e-01, 2.76004016e-01, 1.79546073e-01,\n", + " 8.71006995e-02, 2.33958483e-01, 1.76031828e-01, 1.55402005e-01,\n", + " -1.38987333e-01, -1.92975491e-01, -1.09528497e-01, 1.12305783e-01,\n", + " 2.32549626e-02, 7.75609687e-02, -2.43636876e-01, 6.35311157e-02,\n", + " -4.82399836e-02, -2.24204548e-02, 7.49862418e-02, -1.91449642e-01,\n", + " 9.72701237e-02, 4.00750965e-01, 2.81992704e-01, 3.07581365e-01,\n", + " -4.68867749e-01, -3.03025767e-02, -1.95257351e-01, 1.79073047e-02,\n", + " -2.15334237e-01, 9.98005569e-02, -2.62755096e-01, -2.39337608e-01,\n", + " 3.44270498e-01, 1.50241479e-01, -2.96006531e-01, -3.81666899e-01,\n", + " -1.19041964e-01, 6.18071109e-02, 6.49120063e-02, 9.94637012e-02,\n", + " 1.23297565e-01, 1.29930690e-01, 1.27305657e-01, -1.53804764e-01,\n", + " 7.04720244e-03, -1.33500487e-01, -1.51161134e-01, 1.13862932e-01,\n", + " -2.44814962e-01, -8.95622373e-02, 4.76458520e-02, -5.92206642e-02,\n", + " 2.88407020e-02, -5.88610955e-02, -4.25557904e-02, 3.20446432e-01,\n", + " -2.61463765e-02, 7.19539896e-02, -1.32161498e-01, 1.62227061e-02,\n", + " 1.20197656e-03, -2.03355268e-01, -6.83294982e-03, -2.82588631e-01,\n", + " -1.61395460e-01, -5.05547188e-02, -2.27462381e-01, -1.70932785e-01,\n", + " 1.41351461e-01, -1.30069017e-01, -1.83039993e-01, -6.79691881e-02,\n", + " -2.15642393e-01, -7.84436688e-02, 1.77202985e-01, 4.50607650e-02,\n", + " 7.02605024e-02, 8.01992565e-02, -1.55584306e-01, -2.00563252e-01,\n", + " 1.17082551e-01, 9.73844752e-02, -1.10356934e-01, -1.37866074e-02,\n", + " -8.57235789e-02, -5.56467362e-02, -9.36827138e-02, 6.82030804e-03,\n", + " 6.92379624e-02, -2.28701755e-01, 6.70390204e-02, 1.34586483e-01,\n", + " 2.25231394e-01, 1.33322045e-01, -8.82911906e-02, 1.42205298e-01,\n", + " 2.41012901e-01, 7.94170424e-03, -7.02124536e-02, 2.51370400e-01,\n", + " 1.04983136e-01, -6.39194548e-02, 5.24720028e-02, 7.16757867e-03,\n", + " -1.08169973e-01, -1.08731678e-02, 1.69618204e-02, 7.87692815e-02,\n", + " -2.26539060e-01, 3.29003595e-02, 1.91522852e-01, 2.75921494e-01,\n", + " -1.64055750e-01, 5.83723187e-02, 9.84422341e-02, 3.21688712e-01,\n", + " -2.62310840e-02, -2.08140060e-01, 1.14425711e-01, 1.23823956e-01,\n", + " -8.62085819e-03, -4.14005108e-02, -3.41566652e-02, 1.34680912e-01,\n", + " 4.27634180e-01, 1.42883554e-01, -1.54787973e-01, 7.96157196e-02,\n", + " 1.40678003e-01, 1.39171826e-02, 1.66003749e-01, -4.85638082e-02,\n", + " 5.88261709e-02, 9.51106697e-02, 1.81014258e-02, 1.44485429e-01,\n", + " 4.01205927e-01, 6.77596256e-02, -5.52676022e-01, -1.87850371e-01,\n", + " 1.12366609e-01, -6.84190989e-02, 9.48949978e-02, 2.23454669e-01,\n", + " -1.69843137e-01, 2.09085494e-01, 4.29946512e-01, -3.36349100e-01,\n", + " 6.12608856e-03, -1.46142125e-01, -5.11092655e-02, 8.06671828e-02,\n", + " 1.81744993e-01, -6.78945482e-02, -5.77093139e-02, 1.52337164e-01,\n", + " 2.21259117e-01, 3.35705757e-01, -2.51778495e-02, 1.03662543e-01,\n", + " -4.21361588e-02, 1.43061429e-01, -3.92947495e-01, -4.89463992e-02,\n", + " -9.15660262e-02, -1.00108273e-01, 3.86523217e-01, -4.25569601e-02,\n", + " 4.10154127e-02, -3.41399819e-01, 2.13903114e-02, 8.09015241e-03,\n", + " 9.56344381e-02, 1.12729572e-01, 7.25207478e-02, -6.64384067e-02,\n", + " -2.73666024e-01, -2.79651750e-02, 1.18422434e-01, -5.22459708e-02,\n", + " -2.47057881e-02, 2.84700710e-02, 2.07451075e-01, -9.74238589e-02,\n", + " 8.08936954e-02, 4.07307222e-02, -1.35277033e-01, 2.18436554e-01,\n", + " 1.28792310e-02, -1.20433331e-01, 2.41929386e-02, 1.28128864e-02,\n", + " -7.39881098e-02, -1.12995692e-01, 7.69245178e-02, -2.87000872e-02,\n", + " 1.64782573e-02, -2.78794408e-01, -2.64403820e-01, -2.43874848e-01,\n", + " 1.77457914e-01, 4.11631197e-01, -6.09753132e-02, 2.84967333e-01,\n", + " 9.81074646e-02, -2.68213183e-01, 1.52153388e-01, 2.42148209e-02,\n", + " 1.24371536e-01, 6.02926640e-03, 8.22689310e-02, 2.82294262e-04,\n", + " -1.40584474e-02, 4.09389734e-02, -2.58334547e-01, -9.83026102e-02,\n", + " -1.91695184e-01, -2.61005852e-02, -2.21736208e-01, -4.36628833e-02,\n", + " 9.49840024e-02, -5.16017936e-02, 2.17577979e-01, 2.58604765e-01,\n", + " 6.33814484e-02, -7.10158283e-03, 9.87893157e-03, -2.26405971e-02,\n", + " 1.67435139e-01, 2.90897069e-03, 2.35914681e-02, 5.43428905e-06],\n", + " dtype=float32)], None)\n" + ] + } + ], + "metadata": {} + } + ], + "metadata": { + "orig_nbformat": 4, + "language_info": { + "name": "python", + "version": "3.8.5", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.8.5 64-bit" + }, + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/examples/i2v/i2v.ipynb b/examples/i2v/i2v.ipynb new file mode 100644 index 00000000..507c994e --- /dev/null +++ b/examples/i2v/i2v.ipynb @@ -0,0 +1,192 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# I2V\n", + "\n", + "## 概述\n", + "\n", + "使用自己提供的任一预训练模型(给出模型存放路径即可)将给定的题目文本转成向量。\n", + "\n", + "- 优点:可以使用自己的模型,另可调整训练参数,灵活性强。" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 导入类" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 1, + "source": [ + "from EduNLP.I2V import D2V" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 输入\n", + "\n", + "类型:str \n", + "内容:题目文本 (text)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 37, + "source": [ + "item = {\n", + "\"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\"\n", + "}" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 输出" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 34, + "source": [ + "model_path = \"../test_model/test_gensim_luna_stem_tf_d2v_256.bin\"\n", + "i2v = D2V(\"text\",\"d2v\",filepath=model_path, pretrained_t2v = False)\n", + "i2v " + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 34 + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 35, + "source": [ + "i2v(item)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "([array([ 4.76559885e-02, -1.60574958e-01, 1.94614579e-03, 2.40295693e-01,\n", + " 2.24517003e-01, -3.24351490e-02, 4.35789041e-02, -1.65670961e-02,\n", + " -7.77302235e-02, 4.23757173e-02, 4.62658405e-02, 7.54115507e-02,\n", + " -4.54682261e-02, -1.82153687e-01, 5.55203669e-02, 4.23391759e-02,\n", + " 8.86691213e-02, 6.97413310e-02, -2.47167766e-01, 2.54209518e-01,\n", + " -3.76413465e-02, 3.58376503e-02, -1.39907554e-01, -8.55517760e-02,\n", + " -1.62535697e-01, -4.44540828e-02, -3.99694731e-03, 1.83905549e-02,\n", + " -8.03738683e-02, -9.05910060e-02, 1.45633578e-01, 9.63102728e-02,\n", + " -7.19666481e-02, -8.49684048e-03, -1.51718438e-01, -1.46381939e-02,\n", + " 8.34727809e-02, -7.11122975e-02, 1.66607365e-01, -1.14558250e-01,\n", + " -1.72963589e-01, 4.86062802e-02, -1.63086802e-02, -3.68945636e-02,\n", + " 2.46143237e-01, 5.40899672e-03, 5.04904091e-02, 1.16586924e-01,\n", + " 7.59096816e-02, 1.20751150e-02, 1.04407202e-02, 3.19544263e-02,\n", + " -6.02783300e-02, 1.18572332e-01, -2.19343737e-01, 2.67594811e-02,\n", + " 1.01860933e-01, -2.87170410e-02, 5.16606905e-02, 1.62313670e-01,\n", + " -5.12879491e-02, -1.62193626e-02, -6.77167401e-02, 1.67254247e-02,\n", + " 1.10977821e-01, 8.02466944e-02, -2.00764649e-02, 1.28788516e-01,\n", + " -7.20706284e-02, -6.22547232e-02, 1.06899485e-01, 4.60059335e-03,\n", + " -1.99650228e-01, -1.38489634e-01, 7.20307231e-02, -4.98757213e-02,\n", + " -1.94095057e-02, -5.85906627e-03, 1.47433639e-01, 4.68258560e-02,\n", + " 9.31144804e-02, -4.59938832e-02, 3.38427201e-02, 4.83937971e-02,\n", + " -1.27312467e-01, 2.01561809e-01, 1.10482745e-01, -1.70595810e-01,\n", + " -9.55015421e-02, -7.73611516e-02, 4.43056040e-02, -1.65684260e-02,\n", + " 1.65379923e-02, -1.26138464e-01, 8.31304193e-02, 2.06687212e-01,\n", + " -1.69529378e-01, 3.43789416e-03, 1.19198427e-01, -1.38129979e-01,\n", + " -1.87937781e-01, -8.27087983e-02, -1.76488962e-02, 8.51018950e-02,\n", + " 8.15693215e-02, 2.30262652e-02, 1.05074964e-01, 3.13350782e-02,\n", + " 1.53877333e-01, 1.01772640e-02, 9.17675197e-02, -1.32400826e-01,\n", + " 5.29836975e-02, 2.52282787e-02, -6.19753152e-02, -5.56256585e-02,\n", + " 3.87686864e-02, 4.30755690e-02, 7.57815093e-02, 2.63280701e-02,\n", + " 4.59217802e-02, -1.17288530e-01, 1.76368475e-01, 9.27482091e-04,\n", + " 2.64808517e-02, 9.73805785e-03, 1.90501258e-01, 1.02596413e-02,\n", + " -5.55249080e-02, -1.17555618e-01, -9.98716354e-02, 1.28057361e-01,\n", + " -4.52451073e-02, 7.51599446e-02, -3.01250312e-02, 6.24186322e-02,\n", + " 5.77449016e-02, 2.07213312e-02, -2.53734970e-03, -1.69801563e-01,\n", + " -2.28750743e-02, -2.55512260e-02, 1.70693725e-01, 2.35232189e-01,\n", + " -2.71384805e-01, -1.84327438e-01, 4.16823551e-02, 8.70332569e-02,\n", + " 1.82847306e-01, 2.76729286e-01, -4.31840494e-02, -1.38212308e-01,\n", + " -3.26297544e-02, -4.25132550e-02, -1.62892416e-01, 1.91870285e-03,\n", + " 1.52552709e-01, -1.01523520e-02, -9.16219354e-02, -5.46490997e-02,\n", + " 6.06994517e-02, -6.42470419e-02, 7.96310753e-02, -5.70830703e-02,\n", + " -8.82780831e-03, -3.94574478e-02, 9.63162258e-02, 1.54309124e-01,\n", + " 1.81100428e-01, 8.63620341e-02, 1.56518817e-02, -4.08006124e-02,\n", + " 5.20652272e-02, 8.38029310e-02, -1.55516326e-01, 3.57730500e-03,\n", + " -1.50946556e-02, 2.84812655e-02, 1.37905419e-01, 8.77659023e-02,\n", + " 8.23542774e-02, -1.04377635e-01, 4.80731949e-03, 1.18891411e-02,\n", + " 9.32120830e-02, 7.88019150e-02, -1.44494563e-01, -7.53350407e-02,\n", + " -1.13602541e-01, 5.43805361e-02, 1.64935380e-01, -2.00515296e-02,\n", + " 1.92917317e-01, -4.35359031e-02, 8.92477036e-02, -4.37481068e-02,\n", + " 4.01461311e-02, -2.59898454e-01, -1.11872263e-01, -1.25746787e-01,\n", + " -2.34577611e-01, -6.69524372e-02, 5.55978045e-02, -1.91931397e-01,\n", + " 5.87355606e-02, 1.01886272e-01, -2.64038593e-01, -2.05450356e-02,\n", + " -1.97510555e-01, 9.13371146e-02, 1.49546817e-01, -3.91026959e-02,\n", + " 5.94646595e-02, 1.29657034e-02, -3.72891256e-04, 5.56622408e-02,\n", + " 1.61776438e-01, 2.29037628e-02, -1.94774106e-01, -5.02247922e-02,\n", + " -5.45939505e-02, 5.31783216e-02, 1.26433298e-01, -1.23263724e-01,\n", + " 8.53074417e-02, -1.41412809e-01, -7.71067888e-02, 1.21865064e-01,\n", + " 4.73318882e-02, 7.20091909e-02, -9.83269960e-02, 1.99413914e-02,\n", + " -1.88907124e-02, -2.14710683e-02, -4.93260436e-02, 1.64937660e-01,\n", + " -1.07827298e-01, -7.75848776e-02, -6.23578345e-03, -1.05760902e-01,\n", + " -4.14819457e-02, 5.95730543e-02, 4.11023498e-02, -2.18305327e-02,\n", + " -2.30057724e-02, -3.34391668e-02, 1.30382255e-01, 5.10290638e-02,\n", + " -1.21569566e-01, -1.23630039e-01, -1.83883369e-01, 1.10945016e-01,\n", + " -1.05633408e-01, -8.24846700e-02, -3.76710802e-01, -4.50239740e-02],\n", + " dtype=float32)],\n", + " None)" + ] + }, + "metadata": {}, + "execution_count": 35 + } + ], + "metadata": {} + } + ], + "metadata": { + "orig_nbformat": 4, + "language_info": { + "name": "python", + "version": "3.8.5", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.8.5 64-bit" + }, + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/examples/sif/sif.ipynb b/examples/sif/sif.ipynb index 2076e126..3758f3f8 100644 --- a/examples/sif/sif.ipynb +++ b/examples/sif/sif.ipynb @@ -7,7 +7,7 @@ "\n", "## 概述\n", "\n", - "SIFSci 是一个提供试题切分和标注的模块。它可定制化的将文本切分为令牌(token)序列,为后续试题的向量化做准备。" + "SIF4Sci 是一个提供试题切分和标注的模块。它可定制化的将文本切分为令牌(token)序列,为后续试题的向量化做准备。" ], "metadata": { "collapsed": true, @@ -19,7 +19,7 @@ { "cell_type": "markdown", "source": [ - "本文将以下面这道题目(来源自 LUNA 题库)为例,展示 SIFSci 的使用方法。 \n", + "本文将以下面这道题目(来源自 LUNA 题库)为例,展示 SIF4Sci 的使用方法。 \n", "\n", "![Figure](../../asset/_static/item.png)" ], @@ -34,12 +34,12 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 1, "source": [ - "item = {\n", - " \"stem\": r\"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\",\n", - " \"options\": [\"$p_1=p_2$\", \"$p_1=p_3$\", \"$p_2=p_3$\", \"$p_1=p_2+p_3$\"]\n", - "}\n", + "item = {\r\n", + " \"stem\": r\"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\",\r\n", + " \"options\": [\"$p_1=p_2$\", \"$p_1=p_3$\", \"$p_2=p_3$\", \"$p_1=p_2+p_3$\"]\r\n", + "}\r\n", "item[\"stem\"]" ], "outputs": [ @@ -51,7 +51,7 @@ ] }, "metadata": {}, - "execution_count": 5 + "execution_count": 1 } ], "metadata": { @@ -70,24 +70,24 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 2, "source": [ - "from PIL import Image\n", - "img = Image.open(\"../../asset/_static/item_figure.png\")\n", - "figures = {\"1\": img}\n", + "from PIL import Image\r\n", + "img = Image.open(\"../../asset/_static/item_figure.png\")\r\n", + "figures = {\"1\": img}\r\n", "img" ], "outputs": [ { "output_type": "execute_result", "data": { + "image/png": "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", "text/plain": [ - "" - ], - "image/png": "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" + "" + ] }, "metadata": {}, - "execution_count": 6 + "execution_count": 2 } ], "metadata": { @@ -108,11 +108,20 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "source": [ "from EduNLP.SIF import sif4sci, is_sif, to_sif" ], - "outputs": [], + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "D:\\MySoftwares\\Anaconda\\envs\\data\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", + " warnings.warn(msg)\n" + ] + } + ], "metadata": { "collapsed": false, "pycharm": { @@ -129,7 +138,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 4, "source": [ "is_sif(item['stem'])" ], @@ -142,7 +151,7 @@ ] }, "metadata": {}, - "execution_count": 7 + "execution_count": 4 } ], "metadata": {} @@ -156,9 +165,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 5, "source": [ - "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\n", + "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\r\n", "is_sif(text)" ], "outputs": [ @@ -170,17 +179,17 @@ ] }, "metadata": {}, - "execution_count": 8 + "execution_count": 5 } ], "metadata": {} }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, "source": [ - "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\n", - "to_sif(text)\n" + "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\r\n", + "to_sif(text)\r\n" ], "outputs": [ { @@ -191,7 +200,7 @@ ] }, "metadata": {}, - "execution_count": 9 + "execution_count": 6 } ], "metadata": {} @@ -232,9 +241,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 7, "source": [ - "segments = sif4sci(item[\"stem\"], figures=figures, tokenization=False)\n", + "segments = sif4sci(item[\"stem\"], figures=figures, tokenization=False)\r\n", "segments" ], "outputs": [ @@ -246,7 +255,7 @@ ] }, "metadata": {}, - "execution_count": 12 + "execution_count": 7 } ], "metadata": {} @@ -260,7 +269,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 8, "source": [ "segments.text_segments" ], @@ -283,7 +292,7 @@ ] }, "metadata": {}, - "execution_count": 13 + "execution_count": 8 } ], "metadata": {} @@ -297,9 +306,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 9, "source": [ - "segments.formula_segments\n" + "segments.formula_segments\r\n" ], "outputs": [ { @@ -319,7 +328,7 @@ ] }, "metadata": {}, - "execution_count": 15 + "execution_count": 9 } ], "metadata": {} @@ -333,7 +342,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 10, "source": [ "segments.figure_segments" ], @@ -346,14 +355,14 @@ ] }, "metadata": {}, - "execution_count": 16 + "execution_count": 10 } ], "metadata": {} }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 11, "source": [ "segments.figure_segments[0].figure" ], @@ -361,13 +370,13 @@ { "output_type": "execute_result", "data": { + "image/png": "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", "text/plain": [ - "" - ], - "image/png": "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" + "" + ] }, "metadata": {}, - "execution_count": 17 + "execution_count": 11 } ], "metadata": {} @@ -381,7 +390,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 12, "source": [ "segments.ques_mark_segments" ], @@ -394,7 +403,7 @@ ] }, "metadata": {}, - "execution_count": 19 + "execution_count": 12 } ], "metadata": {} @@ -420,7 +429,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 13, "source": [ "sif4sci(item[\"stem\"], figures=figures, tokenization=False, symbol=\"tfgm\")" ], @@ -433,7 +442,7 @@ ] }, "metadata": {}, - "execution_count": 11 + "execution_count": 13 } ], "metadata": { @@ -461,7 +470,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 14, "source": [ "tokens = sif4sci(item[\"stem\"], figures=figures, tokenization=True)" ], @@ -487,7 +496,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 15, "source": [ "tokens.text_tokens" ], @@ -532,7 +541,7 @@ ] }, "metadata": {}, - "execution_count": 12 + "execution_count": 15 } ], "metadata": { @@ -556,7 +565,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 16, "source": [ "tokens.formula_tokens" ], @@ -593,7 +602,7 @@ ] }, "metadata": {}, - "execution_count": 13 + "execution_count": 16 } ], "metadata": { @@ -619,17 +628,17 @@ }, { "cell_type": "code", - "execution_count": 37, - "source": [ - "sif4sci(\n", - " item[\"stem\"],\n", - " figures=figures,\n", - " tokenization=True,\n", - " tokenization_params={\n", - " \"formula_params\": {\n", - " \"method\": \"linear\",\n", - " }\n", - " }\n", + "execution_count": 17, + "source": [ + "sif4sci(\r\n", + " item[\"stem\"],\r\n", + " figures=figures,\r\n", + " tokenization=True,\r\n", + " tokenization_params={\r\n", + " \"formula_params\": {\r\n", + " \"method\": \"linear\",\r\n", + " }\r\n", + " }\r\n", ").formula_tokens" ], "outputs": [ @@ -665,7 +674,7 @@ ] }, "metadata": {}, - "execution_count": 37 + "execution_count": 17 } ], "metadata": { @@ -686,18 +695,18 @@ }, { "cell_type": "code", - "execution_count": 39, - "source": [ - "sif4sci(\n", - " item[\"stem\"],\n", - " figures=figures,\n", - " tokenization=True,\n", - " tokenization_params={\n", - " \"formula_params\":{\n", - " \"method\": \"ast\",\n", - " }\n", - " }\n", - ").formula_tokens\n" + "execution_count": 18, + "source": [ + "sif4sci(\r\n", + " item[\"stem\"],\r\n", + " figures=figures,\r\n", + " tokenization=True,\r\n", + " tokenization_params={\r\n", + " \"formula_params\":{\r\n", + " \"method\": \"ast\",\r\n", + " }\r\n", + " }\r\n", + ").formula_tokens\r\n" ], "outputs": [ { @@ -717,7 +726,7 @@ ] }, "metadata": {}, - "execution_count": 39 + "execution_count": 18 } ], "metadata": { @@ -736,55 +745,55 @@ }, { "cell_type": "code", - "execution_count": 109, - "source": [ - "f = sif4sci(\n", - " item[\"stem\"],\n", - " figures=figures,\n", - " tokenization=True,\n", - " tokenization_params={\n", - " \"formula_params\":{\n", - " \"method\": \"ast\",\n", - " \"return_type\": \"ast\",\n", - " \"ord2token\": True,\n", - " \"var_numbering\": True,\n", - " }\n", - " }\n", - ").formula_tokens\n", - "f\n" + "execution_count": 19, + "source": [ + "f = sif4sci(\r\n", + " item[\"stem\"],\r\n", + " figures=figures,\r\n", + " tokenization=True,\r\n", + " tokenization_params={\r\n", + " \"formula_params\":{\r\n", + " \"method\": \"ast\",\r\n", + " \"return_type\": \"ast\",\r\n", + " \"ord2token\": True,\r\n", + " \"var_numbering\": True,\r\n", + " }\r\n", + " }\r\n", + ").formula_tokens\r\n", + "f\r\n" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "[,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ]" + "[,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ]" ] }, "metadata": {}, - "execution_count": 109 + "execution_count": 19 } ], "metadata": {} }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 20, "source": [ - "for i in range(0, len(f)):\n", - " ForestPlotter().export(\n", - " f[i], root_list=[node for node in f[i]],\n", - " )\n", - "# plt.show()\n" + "# for i in range(0, len(f)):\r\n", + "# ForestPlotter().export(\r\n", + "# f[i], root_list=[node for node in f[i]],\r\n", + "# )\r\n", + "# plt.show()\r\n" ], "outputs": [], "metadata": {} @@ -799,19 +808,19 @@ }, { "cell_type": "code", - "execution_count": 40, - "source": [ - "sif4sci(\n", - " item[\"stem\"],\n", - " figures=figures,\n", - " tokenization=True,\n", - " tokenization_params={\n", - " \"formula_params\":{\n", - " \"method\": \"ast\",\n", - " \"return_type\": \"list\",\n", - " \"ord2token\": True,\n", - " }\n", - " }\n", + "execution_count": 21, + "source": [ + "sif4sci(\r\n", + " item[\"stem\"],\r\n", + " figures=figures,\r\n", + " tokenization=True,\r\n", + " tokenization_params={\r\n", + " \"formula_params\":{\r\n", + " \"method\": \"ast\",\r\n", + " \"return_type\": \"list\",\r\n", + " \"ord2token\": True,\r\n", + " }\r\n", + " }\r\n", ").formula_tokens" ], "outputs": [ @@ -860,7 +869,7 @@ ] }, "metadata": {}, - "execution_count": 40 + "execution_count": 21 } ], "metadata": { @@ -879,20 +888,20 @@ }, { "cell_type": "code", - "execution_count": 44, - "source": [ - "sif4sci(\n", - " item[\"stem\"],\n", - " figures=figures,\n", - " tokenization=True,\n", - " tokenization_params={\n", - " \"formula_params\":{\n", - " \"method\": \"ast\",\n", - " \"ord2token\": True,\n", - " \"return_type\": \"list\",\n", - " \"var_numbering\": True\n", - " }\n", - " }\n", + "execution_count": 22, + "source": [ + "sif4sci(\r\n", + " item[\"stem\"],\r\n", + " figures=figures,\r\n", + " tokenization=True,\r\n", + " tokenization_params={\r\n", + " \"formula_params\":{\r\n", + " \"method\": \"ast\",\r\n", + " \"ord2token\": True,\r\n", + " \"return_type\": \"list\",\r\n", + " \"var_numbering\": True\r\n", + " }\r\n", + " }\r\n", ").formula_tokens" ], "outputs": [ @@ -941,7 +950,7 @@ ] }, "metadata": {}, - "execution_count": 44 + "execution_count": 22 } ], "metadata": { @@ -967,9 +976,9 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 23, "source": [ - "sif4sci(item[\"stem\"], figures=figures, tokenization=True,\n", + "sif4sci(item[\"stem\"], figures=figures, tokenization=True,\r\n", " symbol=\"fgm\")" ], "outputs": [ @@ -981,7 +990,7 @@ ] }, "metadata": {}, - "execution_count": 96 + "execution_count": 23 } ], "metadata": { @@ -995,11 +1004,11 @@ "metadata": { "kernelspec": { "name": "python3", - "display_name": "Python 3.8.5 64-bit" + "display_name": "Python 3.6.13 64-bit ('data': conda)" }, "language_info": { "name": "python", - "version": "3.8.5", + "version": "3.6.13", "mimetype": "text/x-python", "codemirror_mode": { "name": "ipython", @@ -1010,9 +1019,9 @@ "file_extension": ".py" }, "interpreter": { - "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + "hash": "776957673adb719a00031a24ed5efd2fa5ce8a13405e5193f8d278edd3805d55" } }, "nbformat": 4, "nbformat_minor": 2 -} \ No newline at end of file +} diff --git a/examples/sif/sif4sci.ipynb b/examples/sif/sif4sci.ipynb new file mode 100644 index 00000000..2076e126 --- /dev/null +++ b/examples/sif/sif4sci.ipynb @@ -0,0 +1,1018 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# SIF4Sci 使用示例\n", + "\n", + "## 概述\n", + "\n", + "SIFSci 是一个提供试题切分和标注的模块。它可定制化的将文本切分为令牌(token)序列,为后续试题的向量化做准备。" + ], + "metadata": { + "collapsed": true, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "本文将以下面这道题目(来源自 LUNA 题库)为例,展示 SIFSci 的使用方法。 \n", + "\n", + "![Figure](../../asset/_static/item.png)" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 符合 [SIF 格式](https://edunlp.readthedocs.io/en/docs_dev/tutorial/zh/sif.html) 的题目录入格式为:" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 5, + "source": [ + "item = {\n", + " \"stem\": r\"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\",\n", + " \"options\": [\"$p_1=p_2$\", \"$p_1=p_3$\", \"$p_2=p_3$\", \"$p_1=p_2+p_3$\"]\n", + "}\n", + "item[\"stem\"]" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\\\SIFChoice$$\\\\FigureID{1}$'" + ] + }, + "metadata": {}, + "execution_count": 5 + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "- 加载图片:`$\\\\FigureID{1}$`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 6, + "source": [ + "from PIL import Image\n", + "img = Image.open(\"../../asset/_static/item_figure.png\")\n", + "figures = {\"1\": img}\n", + "img" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "image/png": "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" + }, + "metadata": {}, + "execution_count": 6 + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "## 导入模块" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 2, + "source": [ + "from EduNLP.SIF import sif4sci, is_sif, to_sif" + ], + "outputs": [], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "## 验证题目格式" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 7, + "source": [ + "is_sif(item['stem'])" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "True" + ] + }, + "metadata": {}, + "execution_count": 7 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 若发现题目因为公式没有包含在 `$$` 中而不符合 SIF 格式,则可以使用 `to_sif` 模块转成标准格式。示例如下:" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 8, + "source": [ + "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\n", + "is_sif(text)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "False" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 9, + "source": [ + "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\n", + "to_sif(text)\n" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'某校一个课外学习小组为研究某作物的发芽率$y$和温度$x$(单位...'" + ] + }, + "metadata": {}, + "execution_count": 9 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 题目切分及令牌化\n", + "\n", + "现在我们得到了符合标准格式的题目文本,接下来可以对题目做进一步的预训练,例如:切分和令牌化。" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "### 题目切分" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "#### 基本切分\n", + "分离文本、公式、图片和特殊符号。" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 12, + "source": [ + "segments = sif4sci(item[\"stem\"], figures=figures, tokenization=False)\n", + "segments" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形', 'ABC', '的斜边', 'BC', ', 直角边', 'AB', ', ', 'AC', '.', '\\\\bigtriangleup ABC', '的三边所围成的区域记为', 'I', ',黑色部分记为', 'II', ', 其余部分记为', 'III', '.在整个图形中随机取一点,此点取自', 'I,II,III', '的概率分别记为', 'p_1,p_2,p_3', ',则', '\\\\SIFChoice', \\FigureID{1}]" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 文本部分" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 13, + "source": [ + "segments.text_segments" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形',\n", + " '的斜边',\n", + " ', 直角边',\n", + " ', ',\n", + " '.',\n", + " '的三边所围成的区域记为',\n", + " ',黑色部分记为',\n", + " ', 其余部分记为',\n", + " '.在整个图形中随机取一点,此点取自',\n", + " '的概率分别记为',\n", + " ',则']" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 公式部分" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 15, + "source": [ + "segments.formula_segments\n" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['ABC',\n", + " 'BC',\n", + " 'AB',\n", + " 'AC',\n", + " '\\\\bigtriangleup ABC',\n", + " 'I',\n", + " 'II',\n", + " 'III',\n", + " 'I,II,III',\n", + " 'p_1,p_2,p_3']" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 图片部分" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 16, + "source": [ + "segments.figure_segments" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[\\FigureID{1}]" + ] + }, + "metadata": {}, + "execution_count": 16 + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 17, + "source": [ + "segments.figure_segments[0].figure" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "image/png": "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" + }, + "metadata": {}, + "execution_count": 17 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 特殊符号" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 19, + "source": [ + "segments.ques_mark_segments" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['\\\\SIFChoice']" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "#### 标记化切分 \n", + "如果您不注重题目文本和公式的具体内容,仅仅是对题目的整体(或部分)构成感兴趣,那么可以通过修改 `symbol` 参数来将不同的成分转化成特定标记,方便您的研究。" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + " - symbol:\n", + " - \"t\": text\n", + " - \"f\": formula\n", + " - \"g\": figure\n", + " - \"m\": question mark" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 11, + "source": [ + "sif4sci(item[\"stem\"], figures=figures, tokenization=False, symbol=\"tfgm\")" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[FIGURE]']" + ] + }, + "metadata": {}, + "execution_count": 11 + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "### 令牌化\n", + "\n", + "为了方便后续向量化表征试题,本模块提供题目文本的令牌化解析(Tokenization),即将题目转换成令牌序列。 \n", + "\n", + "根据构成题目的元素类型,解析功能分为 **“文本解析”** 和 **“公式解析”** 两部分。更具体的过程解析参见 [令牌化](../Tokenizer/tokenizer.ipynb)。" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 20, + "source": [ + "tokens = sif4sci(item[\"stem\"], figures=figures, tokenization=True)" + ], + "outputs": [], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "- 文本解析结果" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 12, + "source": [ + "tokens.text_tokens" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['如图',\n", + " '古希腊',\n", + " '数学家',\n", + " '希波',\n", + " '克拉底',\n", + " '研究',\n", + " '几何图形',\n", + " '此图',\n", + " '三个',\n", + " '半圆',\n", + " '三个',\n", + " '半圆',\n", + " '直径',\n", + " '直角三角形',\n", + " '斜边',\n", + " '直角',\n", + " '三边',\n", + " '围成',\n", + " '区域',\n", + " '记',\n", + " '黑色',\n", + " '记',\n", + " '其余部分',\n", + " '记',\n", + " '图形',\n", + " '中',\n", + " '随机',\n", + " '取',\n", + " '一点',\n", + " '此点',\n", + " '取自',\n", + " '概率',\n", + " '记']" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "#### 公式解析结果" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 13, + "source": [ + "tokens.formula_tokens" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['ABC',\n", + " 'BC',\n", + " 'AB',\n", + " 'AC',\n", + " '\\\\bigtriangleup',\n", + " 'ABC',\n", + " 'I',\n", + " 'II',\n", + " 'III',\n", + " 'I',\n", + " ',',\n", + " 'II',\n", + " ',',\n", + " 'III',\n", + " 'p',\n", + " '_',\n", + " '1',\n", + " ',',\n", + " 'p',\n", + " '_',\n", + " '2',\n", + " ',',\n", + " 'p',\n", + " '_',\n", + " '3']" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "- 自定义参数,得到定制化解析结果" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "(1)如果您想按 latex 语法标记拆分公式的各个部分,并得到顺序序列结果,输出方法(`method`)可以选择:`linear`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 37, + "source": [ + "sif4sci(\n", + " item[\"stem\"],\n", + " figures=figures,\n", + " tokenization=True,\n", + " tokenization_params={\n", + " \"formula_params\": {\n", + " \"method\": \"linear\",\n", + " }\n", + " }\n", + ").formula_tokens" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['ABC',\n", + " 'BC',\n", + " 'AB',\n", + " 'AC',\n", + " '\\\\bigtriangleup',\n", + " 'ABC',\n", + " 'I',\n", + " 'II',\n", + " 'III',\n", + " 'I',\n", + " ',',\n", + " 'II',\n", + " ',',\n", + " 'III',\n", + " 'p',\n", + " '_',\n", + " '1',\n", + " ',',\n", + " 'p',\n", + " '_',\n", + " '2',\n", + " ',',\n", + " 'p',\n", + " '_',\n", + " '3']" + ] + }, + "metadata": {}, + "execution_count": 37 + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "(2) 如果您想得到公式解析出的语法分析树序列,输出方法可以选择:`ast`\n", + "> 抽象语法分析树,简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。 \n", + "> 因此,ast 可以看做是公式的语法结构表征。" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 39, + "source": [ + "sif4sci(\n", + " item[\"stem\"],\n", + " figures=figures,\n", + " tokenization=True,\n", + " tokenization_params={\n", + " \"formula_params\":{\n", + " \"method\": \"ast\",\n", + " }\n", + " }\n", + ").formula_tokens\n" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "metadata": {}, + "execution_count": 39 + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "- 语法树展示:" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 109, + "source": [ + "f = sif4sci(\n", + " item[\"stem\"],\n", + " figures=figures,\n", + " tokenization=True,\n", + " tokenization_params={\n", + " \"formula_params\":{\n", + " \"method\": \"ast\",\n", + " \"return_type\": \"ast\",\n", + " \"ord2token\": True,\n", + " \"var_numbering\": True,\n", + " }\n", + " }\n", + ").formula_tokens\n", + "f\n" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "metadata": {}, + "execution_count": 109 + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 110, + "source": [ + "for i in range(0, len(f)):\n", + " ForestPlotter().export(\n", + " f[i], root_list=[node for node in f[i]],\n", + " )\n", + "# plt.show()\n" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "(3)如果您只是关心公式的结构和类型,并不关心变量具体是什么,比如二元二次方程 `x^2 + y = 1` ,它从公式结构和类型上来说,和 `w^2 + z = 1` 没有区别。 \n", + "此时,您可以设置如下参数:`ord2token = True`,将公式变量名转换成 token" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 40, + "source": [ + "sif4sci(\n", + " item[\"stem\"],\n", + " figures=figures,\n", + " tokenization=True,\n", + " tokenization_params={\n", + " \"formula_params\":{\n", + " \"method\": \"ast\",\n", + " \"return_type\": \"list\",\n", + " \"ord2token\": True,\n", + " }\n", + " }\n", + ").formula_tokens" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " '\\\\bigtriangleup',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " ',',\n", + " 'mathord',\n", + " 'mathord',\n", + " ',',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'textord',\n", + " '\\\\supsub',\n", + " ',',\n", + " 'mathord',\n", + " 'textord',\n", + " '\\\\supsub',\n", + " ',',\n", + " 'mathord',\n", + " 'textord',\n", + " '\\\\supsub']" + ] + }, + "metadata": {}, + "execution_count": 40 + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "(4) 如果您除了 (3) 中提供的功能之外,还需要区分不同的变量。此时可以另外设置参数:`var_numbering=True`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 44, + "source": [ + "sif4sci(\n", + " item[\"stem\"],\n", + " figures=figures,\n", + " tokenization=True,\n", + " tokenization_params={\n", + " \"formula_params\":{\n", + " \"method\": \"ast\",\n", + " \"ord2token\": True,\n", + " \"return_type\": \"list\",\n", + " \"var_numbering\": True\n", + " }\n", + " }\n", + ").formula_tokens" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['mathord_0',\n", + " 'mathord_1',\n", + " 'mathord_2',\n", + " 'mathord_1',\n", + " 'mathord_2',\n", + " 'mathord_0',\n", + " 'mathord_1',\n", + " 'mathord_0',\n", + " 'mathord_2',\n", + " '\\\\bigtriangleup',\n", + " 'mathord_0',\n", + " 'mathord_1',\n", + " 'mathord_2',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " ',',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " ',',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_4',\n", + " 'textord',\n", + " '\\\\supsub',\n", + " ',',\n", + " 'mathord_4',\n", + " 'textord',\n", + " '\\\\supsub',\n", + " ',',\n", + " 'mathord_4',\n", + " 'textord',\n", + " '\\\\supsub']" + ] + }, + "metadata": {}, + "execution_count": 44 + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "## 综合训练\n", + "\n", + "综合上述方法,将题目转换成令牌序列,为后续向量化做准备。" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 96, + "source": [ + "sif4sci(item[\"stem\"], figures=figures, tokenization=True,\n", + " symbol=\"fgm\")" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['如图', '古希腊', '数学家', '希波', '克拉底', '研究', '几何图形', '此图', '三个', '半圆', '三个', '半圆', '直径', '直角三角形', '[FORMULA]', '斜边', '[FORMULA]', '直角', '[FORMULA]', '[FORMULA]', '[FORMULA]', '三边', '围成', '区域', '记', '[FORMULA]', '黑色', '记', '[FORMULA]', '其余部分', '记', '[FORMULA]', '图形', '中', '随机', '取', '一点', '此点', '取自', '[FORMULA]', '概率', '记', '[FORMULA]', '[MARK]', '[FIGURE]']" + ] + }, + "metadata": {}, + "execution_count": 96 + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + } + ], + "metadata": { + "kernelspec": { + "name": "python3", + "display_name": "Python 3.8.5 64-bit" + }, + "language_info": { + "name": "python", + "version": "3.8.5", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + }, + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/examples/sif/sif_addition.ipynb b/examples/sif/sif_addition.ipynb index 57830c43..7a2a1b20 100644 --- a/examples/sif/sif_addition.ipynb +++ b/examples/sif/sif_addition.ipynb @@ -2,102 +2,166 @@ "cells": [ { "cell_type": "markdown", + "metadata": {}, "source": [ "# sif_addition" - ], - "metadata": {} + ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "D:\\MySoftwares\\Anaconda\\envs\\data\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", + " warnings.warn(msg)\n" + ] + } + ], "source": [ "from EduNLP.SIF import is_sif, to_sif,sif4sci" - ], - "outputs": [], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## is_sif" - ], - "metadata": {} + ] }, { "cell_type": "code", - "execution_count": 4, - "source": [ - " text = '若$x,y$满足约束条件' \\\r\n", - " '$\\\\left\\\\{\\\\begin{array}{c}2 x+y-2 \\\\leq 0 \\\\\\\\ x-y-1 \\\\geq 0 \\\\\\\\ y+1 \\\\geq 0\\\\end{array}\\\\right.$,' \\\r\n", - " '则$z=x+7 y$的最大值$\\\\SIFUnderline$'\r\n", - " \r\n", - "is_sif(text)\r\n" - ], + "execution_count": 2, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "True" ] }, + "execution_count": 2, "metadata": {}, - "execution_count": 4 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "text = '若$x,y$满足约束条件' \\\n", + " '$\\\\left\\\\{\\\\begin{array}{c}2 x+y-2 \\\\leq 0 \\\\\\\\ x-y-1 \\\\geq 0 \\\\\\\\ y+1 \\\\geq 0\\\\end{array}\\\\right.$,' \\\n", + " '则$z=x+7 y$的最大值$\\\\SIFUnderline$'\n", + " \n", + "is_sif(text)\n" + ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\r\n", + "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\n", "is_sif(text)" - ], + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ - "False" + "(False, )" ] }, + "execution_count": 4, "metadata": {}, - "execution_count": 5 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\n", + "is_sif(text, return_parser=True)" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## to_sif" - ], - "metadata": {} + ] }, { "cell_type": "code", - "execution_count": 6, - "source": [ - "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\r\n", - "to_sif(text)" - ], + "execution_count": 5, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "'某校一个课外学习小组为研究某作物的发芽率$y$和温度$x$(单位...'" ] }, + "execution_count": 5, "metadata": {}, - "execution_count": 6 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\n", + "to_sif(text)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1]siftext : 某校一个课外学习小组为研究某作物的发芽率$y$和温度$x$(单位... ,consume time [0.018142223358154297s]\n", + "[2]return : (False, )\n", + "[2]siftext : 某校一个课外学习小组为研究某作物的发芽率$y$和温度$x$(单位... ,consume time [0.008990764617919922s]\n" + ] + } + ], + "source": [ + "import time\n", + "# ------------不使用‘加速’机制--------------- #\n", + "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'*150\n", + "start = time.time()\n", + "if not is_sif(text):\n", + " siftext = to_sif(text)\n", + "print(\"[1]siftext : {} ,consume time [{}s]\".format(siftext[:35], time.time() - start))\n", + "\n", + "# ------------使用‘加速’机制--------------- #\n", + "start = time.time()\n", + "ret = is_sif(text, return_parser=True)\n", + "print(\"[2]return : \", ret)\n", + "if ret[0] is not True:\n", + " siftext = to_sif(text, parser=ret[1])\n", + "print(\"[2]siftext : {} ,consume time [{}s]\".format(siftext[:35], time.time() - start))" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## sif4sci\n", " to_symbolize:\n", @@ -105,283 +169,279 @@ " - \"f\": formula\n", " - \"g\": figure\n", " - \"m\": question mark" - ], - "metadata": {} + ] }, { "cell_type": "code", - "execution_count": 14, - "source": [ - " test_item = r\"如图所示,则$\\bigtriangleup ABC$的面积是$\\SIFBlank$。$\\FigureID{1}$\"\r\n", - " t1 = sif4sci(test_item)\r\n", - " t1" - ], + "execution_count": 7, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "['如图所示', '\\\\bigtriangleup', 'ABC', '面积', '\\\\SIFBlank', \\FigureID{1}]" ] }, + "execution_count": 7, "metadata": {}, - "execution_count": 14 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "test_item = r\"如图所示,则$\\bigtriangleup ABC$的面积是$\\SIFBlank$。$\\FigureID{1}$\"\n", + "t1 = sif4sci(test_item)\n", + "t1" + ] }, { "cell_type": "code", - "execution_count": 15, - "source": [ - "t1.describe()" - ], + "execution_count": 8, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "{'t': 2, 'f': 2, 'g': 1, 'm': 1}" ] }, + "execution_count": 8, "metadata": {}, - "execution_count": 15 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "t1.describe()" + ] }, { "cell_type": "code", - "execution_count": 17, - "source": [ - "with t1.filter('fgm'):\n", - " print(t1)" - ], + "execution_count": 9, + "metadata": {}, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "['如图所示', '面积']\n" ] } ], - "metadata": {} + "source": [ + "with t1.filter('fgm'):\n", + " print(t1)" + ] }, { "cell_type": "code", - "execution_count": 18, - "source": [ - "with t1.filter(keep='t'):\n", - " print(t1)" - ], + "execution_count": 10, + "metadata": {}, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "['如图所示', '面积']\n" ] } ], - "metadata": {} + "source": [ + "with t1.filter(keep='t'):\n", + " print(t1)" + ] }, { "cell_type": "code", - "execution_count": 19, - "source": [ - "with t1.filter():\n", - " print(t1)" - ], + "execution_count": 11, + "metadata": {}, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "['如图所示', '\\\\bigtriangleup', 'ABC', '面积', '\\\\SIFBlank', \\FigureID{1}]\n" ] } ], - "metadata": {} + "source": [ + "with t1.filter():\n", + " print(t1)" + ] }, { "cell_type": "code", - "execution_count": 20, - "source": [ - "t1.text_tokens" - ], + "execution_count": 12, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "['如图所示', '面积']" ] }, + "execution_count": 12, "metadata": {}, - "execution_count": 20 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "t1.text_tokens" + ] }, { "cell_type": "code", - "execution_count": 23, - "source": [ - "t1.formula_tokens" - ], + "execution_count": 13, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "['\\\\bigtriangleup', 'ABC']" ] }, + "execution_count": 13, "metadata": {}, - "execution_count": 23 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "t1.formula_tokens" + ] }, { "cell_type": "code", - "execution_count": 24, - "source": [ - "t1.figure_tokens" - ], + "execution_count": 14, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[\\FigureID{1}]" ] }, + "execution_count": 14, "metadata": {}, - "execution_count": 24 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "t1.figure_tokens" + ] }, { "cell_type": "code", - "execution_count": 25, - "source": [ - "t1.ques_mark_tokens" - ], + "execution_count": 15, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "['\\\\SIFBlank']" ] }, + "execution_count": 15, "metadata": {}, - "execution_count": 25 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "t1.ques_mark_tokens" + ] }, { "cell_type": "code", - "execution_count": 26, - "source": [ - "sif4sci(test_item, symbol=\"gm\", tokenization_params={\"formula_params\": {\"method\": \"ast\"}})" - ], + "execution_count": 16, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "['如图所示', , '面积', '[MARK]', '[FIGURE]']" ] }, + "execution_count": 16, "metadata": {}, - "execution_count": 26 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "sif4sci(test_item, symbol=\"gm\", tokenization_params={\"formula_params\": {\"method\": \"ast\"}})" + ] }, { "cell_type": "code", - "execution_count": 27, - "source": [ - "sif4sci(test_item, symbol=\"tfgm\")" - ], + "execution_count": 17, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "['[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[TEXT]', '[FIGURE]']" ] }, + "execution_count": 17, "metadata": {}, - "execution_count": 27 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "sif4sci(test_item, symbol=\"tfgm\")" + ] }, { "cell_type": "code", - "execution_count": 28, - "source": [ - "sif4sci(test_item, symbol=\"gm\", tokenization_params={\"formula_params\": {\"method\": \"ast\", \"return_type\": \"list\"}})" - ], + "execution_count": 18, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "['如图所示', '\\\\bigtriangleup', 'A', 'B', 'C', '面积', '[MARK]', '[FIGURE]']" ] }, + "execution_count": 18, "metadata": {}, - "execution_count": 28 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "sif4sci(test_item, symbol=\"gm\", tokenization_params={\"formula_params\": {\"method\": \"ast\", \"return_type\": \"list\"}})" + ] }, { "cell_type": "code", - "execution_count": 29, - "source": [ - " test_item_1 = {\n", - " \"stem\": r\"若$x=2$, $y=\\sqrt{x}$,则下列说法正确的是$\\SIFChoice$\",\n", - " \"options\": [r\"$x < y$\", r\"$y = x$\", r\"$y < x$\"]\n", - " }" - ], + "execution_count": 19, + "metadata": {}, "outputs": [], - "metadata": {} + "source": [ + "test_item_1 = {\n", + " \"stem\": r\"若$x=2$, $y=\\sqrt{x}$,则下列说法正确的是$\\SIFChoice$\",\n", + " \"options\": [r\"$x < y$\", r\"$y = x$\", r\"$y < x$\"]\n", + "}" + ] }, { "cell_type": "code", - "execution_count": 30, - "source": [ - " tls = [\n", - " sif4sci(e, symbol=\"gm\",\n", - " tokenization_params={\n", - " \"formula_params\": {\n", - " \"method\": \"ast\", \"return_type\": \"list\", \"ord2token\": True, \"var_numbering\": True,\n", - " \"link_variable\": False}\n", - " })\n", - " for e in ([test_item_1[\"stem\"]] + test_item_1[\"options\"])\n", - " ]" - ], + "execution_count": 20, + "metadata": {}, "outputs": [], - "metadata": {} + "source": [ + "tls = [\n", + " sif4sci(e, symbol=\"gm\",\n", + " tokenization_params={\n", + " \"formula_params\": {\n", + " \"method\": \"ast\", \"return_type\": \"list\", \"ord2token\": True, \"var_numbering\": True,\n", + " \"link_variable\": False}\n", + " })\n", + " for e in ([test_item_1[\"stem\"]] + test_item_1[\"options\"])\n", + "]" + ] }, { "cell_type": "code", - "execution_count": 33, - "source": [ - "tls" - ], + "execution_count": 21, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['mathord_0', '=', 'textord', 'mathord_1', '=', 'mathord_0', '{ }', '\\\\sqrt', '说法', '正确', '[MARK]'],\n", @@ -390,21 +450,21 @@ " ['mathord_0', '<', 'mathord_1']]" ] }, + "execution_count": 21, "metadata": {}, - "execution_count": 33 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tls" + ] }, { "cell_type": "code", - "execution_count": 34, - "source": [ - "tls[1:]" - ], + "execution_count": 22, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['mathord_0', '<', 'mathord_1'],\n", @@ -412,38 +472,43 @@ " ['mathord_0', '<', 'mathord_1']]" ] }, + "execution_count": 22, "metadata": {}, - "execution_count": 34 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tls[1:]" + ] }, { "cell_type": "code", - "execution_count": 35, - "source": [ - "from EduNLP.utils import dict2str4sif\n", - "\n", - "test_item_1_str = dict2str4sif(test_item_1, tag_mode=\"head\", add_list_no_tag=False)\n", - "test_item_1_str " - ], + "execution_count": 23, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "'$\\\\SIFTag{stem}$若$x=2$, $y=\\\\sqrt{x}$,则下列说法正确的是$\\\\SIFChoice$$\\\\SIFTag{options}$$x < y$$\\\\SIFSep$$y = x$$\\\\SIFSep$$y < x$'" ] }, + "execution_count": 23, "metadata": {}, - "execution_count": 35 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "from EduNLP.utils import dict2str4sif\n", + "\n", + "test_item_1_str = dict2str4sif(test_item_1, tag_mode=\"head\", add_list_no_tag=False)\n", + "test_item_1_str " + ] }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 24, + "metadata": {}, + "outputs": [], "source": [ "tl1 = sif4sci(\n", " test_item_1_str, \n", @@ -452,60 +517,55 @@ " \"formula_params\": {\"method\": \"ast\", \"return_type\": \"list\", \"ord2token\": True}\n", " })\n", " " - ], - "outputs": [], - "metadata": {} + ] }, { "cell_type": "code", - "execution_count": 37, - "source": [ - "tl1.get_segments()[0]" - ], + "execution_count": 25, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "['\\\\SIFTag{stem}']" ] }, + "execution_count": 25, "metadata": {}, - "execution_count": 37 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tl1.get_segments()[0]" + ] }, { "cell_type": "code", - "execution_count": 38, - "source": [ - "tl1.get_segments()[1:3]" - ], + "execution_count": 26, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['[TEXT_BEGIN]', '[TEXT_END]'],\n", " ['[FORMULA_BEGIN]', 'mathord', '=', 'textord', '[FORMULA_END]']]" ] }, + "execution_count": 26, "metadata": {}, - "execution_count": 38 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tl1.get_segments()[1:3]" + ] }, { "cell_type": "code", - "execution_count": 39, - "source": [ - "tl1.get_segments(add_seg_type=False)[0:3]" - ], + "execution_count": 27, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['\\\\SIFTag{stem}'],\n", @@ -513,81 +573,81 @@ " ['mathord', '=', 'mathord', '{ }', '\\\\sqrt']]" ] }, + "execution_count": 27, "metadata": {}, - "execution_count": 39 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tl1.get_segments(add_seg_type=False)[0:3]" + ] }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 28, + "metadata": {}, + "outputs": [], "source": [ "test_item_2 = {\"options\": [r\"$x < y$\", r\"$y = x$\", r\"$y < x$\"]}" - ], - "outputs": [], - "metadata": {} + ] }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 29, + "metadata": {}, + "outputs": [], "source": [ "test_item_2_str = dict2str4sif(test_item_2, tag_mode=\"head\", add_list_no_tag=False)" - ], - "outputs": [], - "metadata": {} + ] }, { "cell_type": "code", - "execution_count": 43, - "source": [ - "test_item_2_str" - ], + "execution_count": 30, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "'$\\\\SIFTag{options}$$x < y$$\\\\SIFSep$$y = x$$\\\\SIFSep$$y < x$'" ] }, + "execution_count": 30, "metadata": {}, - "execution_count": 43 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "test_item_2_str" + ] }, { "cell_type": "code", - "execution_count": 44, - "source": [ - "tl2 = sif4sci(test_item_2_str, symbol=\"gms\",\n", - " tokenization_params={\"formula_params\": {\"method\": \"ast\", \"return_type\": \"list\"}})\n", - "tl2 " - ], + "execution_count": 31, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "['\\\\SIFTag{options}', 'x', '<', 'y', '[SEP]', 'y', '=', 'x', '[SEP]', 'y', '<', 'x']" ] }, + "execution_count": 31, "metadata": {}, - "execution_count": 44 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tl2 = sif4sci(test_item_2_str, symbol=\"gms\",\n", + " tokenization_params={\"formula_params\": {\"method\": \"ast\", \"return_type\": \"list\"}})\n", + "tl2 " + ] }, { "cell_type": "code", - "execution_count": 45, - "source": [ - "tl2.get_segments(add_seg_type=False)" - ], + "execution_count": 32, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['\\\\SIFTag{options}'],\n", @@ -598,143 +658,146 @@ " ['y', '<', 'x']]" ] }, + "execution_count": 32, "metadata": {}, - "execution_count": 45 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tl2.get_segments(add_seg_type=False)" + ] }, { "cell_type": "code", - "execution_count": 46, - "source": [ - "tl2.get_segments(add_seg_type=False, drop=\"s\")" - ], + "execution_count": 33, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['\\\\SIFTag{options}'], ['x', '<', 'y'], ['y', '=', 'x'], ['y', '<', 'x']]" ] }, + "execution_count": 33, "metadata": {}, - "execution_count": 46 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tl2.get_segments(add_seg_type=False, drop=\"s\")" + ] }, { "cell_type": "code", - "execution_count": 47, - "source": [ - "tl3 = sif4sci(test_item_1[\"stem\"], symbol=\"gs\")\n", - "tl3.text_segments" - ], + "execution_count": 34, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['说法', '正确']]" ] }, + "execution_count": 34, "metadata": {}, - "execution_count": 47 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tl3 = sif4sci(test_item_1[\"stem\"], symbol=\"gs\")\n", + "tl3.text_segments" + ] }, { "cell_type": "code", - "execution_count": 48, - "source": [ - "tl3.formula_segments" - ], + "execution_count": 35, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['x', '=', '2'], ['y', '=', '\\\\sqrt', '{', 'x', '}']]" ] }, + "execution_count": 35, "metadata": {}, - "execution_count": 48 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tl3.formula_segments" + ] }, { "cell_type": "code", - "execution_count": 49, - "source": [ - "tl3.figure_segments" - ], + "execution_count": 36, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[]" ] }, + "execution_count": 36, "metadata": {}, - "execution_count": 49 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tl3.figure_segments" + ] }, { "cell_type": "code", - "execution_count": 50, - "source": [ - "tl3.ques_mark_segments" - ], + "execution_count": 37, + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['\\\\SIFChoice']]" ] }, + "execution_count": 37, "metadata": {}, - "execution_count": 50 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tl3.ques_mark_segments" + ] }, { "cell_type": "code", "execution_count": null, - "source": [], + "metadata": {}, "outputs": [], - "metadata": {} + "source": [] } ], "metadata": { - "orig_nbformat": 4, + "interpreter": { + "hash": "776957673adb719a00031a24ed5efd2fa5ce8a13405e5193f8d278edd3805d55" + }, + "kernelspec": { + "display_name": "Python 3.6.13 64-bit ('data': conda)", + "name": "python3" + }, "language_info": { - "name": "python", - "version": "3.8.5", - "mimetype": "text/x-python", "codemirror_mode": { "name": "ipython", "version": 3 }, - "pygments_lexer": "ipython3", + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", "nbconvert_exporter": "python", - "file_extension": ".py" - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3.8.5 64-bit" + "pygments_lexer": "ipython3", + "version": "3.6.13" }, - "interpreter": { - "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" - } + "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 -} \ No newline at end of file +} diff --git a/examples/t2v/get_pretrained_t2v.ipynb b/examples/t2v/get_pretrained_t2v.ipynb new file mode 100644 index 00000000..801bcf87 --- /dev/null +++ b/examples/t2v/get_pretrained_t2v.ipynb @@ -0,0 +1,161 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# get_pretrained_t2v\n", + "\n", + "## 概述\n", + "\n", + "使用 EduNLP 项目组给定的预训练模型将一组题目的切分序列表征为向量。\n", + "\n", + "- 优点:简单方便。\n", + "- 缺点:只能使用项目中给定的模型,局限性较大。" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 导入功能块" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 1, + "source": [ + "from tqdm import tqdm\n", + "from EduNLP.SIF.segment import seg\n", + "from EduNLP.SIF.tokenization import tokenize\n", + "from EduNLP.Pretrain import GensimWordTokenizer\n", + "from EduNLP.Vector import get_pretrained_t2v" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 输入\n", + "\n", + "类型:list \n", + "内容:一个题组中每个题目切分序列的组合。\n", + "> 这里需要调用 `GensimWordTokenizer` 将题目文本(`str` 类型)转换成 tokens。" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 2, + "source": [ + "def load_items():\n", + " test_items = [\n", + " {'ques_content':'有公式$\\\\FormFigureID{wrong1?}$和公式$\\\\FormFigureBase64{wrong2?}$,如图$\\\\FigureID{088f15ea-8b7c-11eb-897e-b46bfc50aa29}$,若$x,y$满足约束条件$\\\\SIFSep$,则$z=x+7 y$的最大值为$\\\\SIFBlank$'},\n", + " {'ques_content':'如图$\\\\FigureID{088f15ea-8b7c-11eb-897e-b46bfc50aa29}$,若$x,y$满足约束条件$\\\\SIFSep$,则$z=x+7 y$的最大值为$\\\\SIFBlank$'},\n", + " {'ques_content':'
Below is a discussion on a website.
t2v\n", + "t2v = get_pretrained_t2v(\"d2v_sci_256\")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "downloader, INFO http://base.ustc.edu.cn/data/model_zoo/EduNLP/d2v/general_science_256.zip is saved as /home/lvrui/.EduNLP/model/general_science_256.zip\n", + "downloader, INFO file existed, skipped\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 注意:\n", + " 默认的 EduNLP 项目存储地址为根目录(`~/.EduNLP`),模型存储地址为项目存储地址下的 `model` 文件夹。您可以通过修改下面的环境变量来修改模型存储地址:\n", + " - EduNLP 项目存储地址:`EDUNLPPATH = xx/xx/xx`\n", + " - 模型存储地址:`EDUNLPMODELPATH = xx/xx/xx`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "t2v(token_items)" + ], + "outputs": [], + "metadata": {} + } + ], + "metadata": { + "orig_nbformat": 4, + "language_info": { + "name": "python", + "version": "3.8.5", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.8.5 64-bit" + }, + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/examples/t2v/t2v.ipynb b/examples/t2v/t2v.ipynb new file mode 100644 index 00000000..908ff182 --- /dev/null +++ b/examples/t2v/t2v.ipynb @@ -0,0 +1,261 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# T2V\n", + "\n", + "## 概述\n", + "\n", + "使用自己提供的任一预训练模型(给出模型存放路径即可)将一组题目的切分序列表征为向量。\n", + "\n", + "- 优点:模型及其参数可自主调整,灵活性强。\n" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 导入功能块" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 12, + "source": [ + "from tqdm import tqdm\n", + "from EduNLP.SIF.segment import seg\n", + "from EduNLP.SIF.tokenization import tokenize\n", + "from EduNLP.Pretrain import GensimWordTokenizer\n", + "from EduNLP.Vector import T2V" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 输入\n", + "\n", + "类型:list \n", + "内容:一个题组中每个题目切分序列的组合。\n", + "> 这里需要调用 `GensimWordTokenizer` 将题目文本(`str` 类型)转换成 tokens。" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 11, + "source": [ + "print(type(token_items))\n", + "print(type(token_items[0]))" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 6, + "source": [ + "token_items[0]" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['公式',\n", + " '[FORMULA]',\n", + " '公式',\n", + " '[FORMULA]',\n", + " '如图',\n", + " '[FIGURE]',\n", + " 'x',\n", + " ',',\n", + " 'y',\n", + " '约束条件',\n", + " '[SEP]',\n", + " 'z',\n", + " '=',\n", + " 'x',\n", + " '+',\n", + " '7',\n", + " 'y',\n", + " '最大值',\n", + " '[MARK]']" + ] + }, + "metadata": {}, + "execution_count": 6 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 输出" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 4, + "source": [ + "path = \"../test_model/test_gensim_luna_stem_tf_d2v_256.bin\"\n", + "t2v = T2V('d2v',filepath=path)\n", + "t2v(token_items)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[array([ 0.0256574 , 0.06061139, -0.00121044, -0.0167674 , -0.0111706 ,\n", + " 0.05325712, -0.02097339, -0.01613594, 0.02904145, 0.0185046 ,\n", + " 0.03473525, 0.00628165, 0.03696947, 0.00666153, -0.02352318,\n", + " -0.00458236, 0.02308686, -0.02153478, 0.01579256, -0.01575841,\n", + " -0.02654778, 0.01376328, 0.02539059, -0.01098955, 0.02203193,\n", + " -0.01503642, 0.01310026, -0.03569775, -0.00450978, 0.02522727,\n", + " -0.01547103, -0.00907244, -0.00072009, -0.0021727 , 0.02894731,\n", + " 0.01382611, 0.01647377, 0.00452782, -0.02488854, 0.02741116,\n", + " 0.0489724 , -0.04156181, -0.00855933, 0.01783935, 0.00704233,\n", + " 0.01296936, -0.06078439, -0.04922014, -0.0206639 , 0.00820663,\n", + " 0.02565274, 0.0164784 , 0.00996537, -0.02215545, 0.06741589,\n", + " 0.01634789, -0.0094168 , 0.00183323, 0.00853508, -0.0547929 ,\n", + " 0.00405556, 0.01386227, -0.04204945, 0.02175955, -0.01960315,\n", + " -0.05279269, -0.01511251, -0.02905018, -0.00405249, 0.03328003,\n", + " -0.00487469, -0.00338632, 0.01793213, 0.00942458, -0.02468935,\n", + " 0.03548338, -0.00907473, 0.00927462, -0.02545504, 0.02286367,\n", + " -0.01822809, 0.03625014, -0.00976438, -0.00188348, 0.06408882,\n", + " -0.04314236, -0.00193059, 0.02433112, -0.0091018 , 0.0276503 ,\n", + " -0.0036342 , -0.02485391, 0.02309245, 0.01880057, -0.00893952,\n", + " -0.03391525, 0.02678591, -0.00618519, -0.03601262, 0.0327184 ,\n", + " 0.09240578, 0.03631649, -0.00700663, -0.01786321, -0.02987848,\n", + " 0.00315695, -0.02082208, -0.00494443, -0.02717963, -0.00938541,\n", + " -0.0329605 , 0.0069218 , 0.01227082, 0.00856757, -0.0008222 ,\n", + " -0.0067637 , -0.01577486, 0.0628339 , -0.02329138, -0.00475964,\n", + " 0.02197625, 0.03022351, 0.00256966, -0.00247619, -0.01218352,\n", + " 0.01257284, 0.0051926 , -0.05297434, -0.0057066 , 0.01031242,\n", + " 0.02414824, -0.0115857 , 0.01625632, -0.03126714, -0.02389767,\n", + " -0.01417263, 0.02280749, -0.01431546, -0.00771551, 0.0264634 ,\n", + " 0.00115387, -0.01903204, -0.00100629, 0.00608774, 0.03787961,\n", + " 0.05098663, 0.03064756, -0.00654223, -0.01838502, -0.01889201,\n", + " 0.04686983, -0.02295219, -0.00901293, 0.00916024, -0.00013042,\n", + " 0.01236307, -0.00918534, 0.01792936, 0.00862702, -0.00018518,\n", + " -0.00566689, 0.00499178, 0.0246148 , -0.0170825 , 0.01850726,\n", + " 0.00031357, 0.02411471, 0.01080729, -0.01361136, -0.06226439,\n", + " 0.01830878, 0.01209503, -0.00980596, -0.01865078, 0.03692432,\n", + " -0.04503555, 0.0037965 , -0.04214804, -0.05657932, -0.01566005,\n", + " 0.00271924, -0.00026349, -0.00783886, 0.01218421, -0.03205092,\n", + " -0.02793218, -0.00298462, 0.00380523, 0.04471321, -0.02079478,\n", + " 0.0100926 , 0.00450996, -0.03412817, 0.03027697, 0.00872989,\n", + " 0.01512562, 0.01527565, 0.03683509, 0.05608684, 0.01055199,\n", + " 0.01637757, -0.01995301, -0.01610573, 0.04207385, 0.00058077,\n", + " 0.03846577, 0.04952911, -0.02142448, 0.0049874 , -0.00308159,\n", + " -0.02233348, 0.02013967, -0.01194606, -0.02481469, 0.01824989,\n", + " -0.00939436, -0.00374474, 0.02278485, 0.04107878, 0.01870474,\n", + " -0.00310527, -0.00257802, -0.03689042, -0.0200304 , -0.04838364,\n", + " 0.0035307 , 0.02496746, -0.0385387 , 0.01649689, 0.01429029,\n", + " 0.04338812, -0.05614391, -0.01632982, 0.03378268, 0.01393604,\n", + " -0.03859077, 0.01855484, 0.00241599, -0.00985778, 0.00530987,\n", + " 0.03700508, -0.06107654, -0.00972089, 0.02251891, 0.01154722,\n", + " 0.00913082, -0.0267815 , -0.01723521, 0.0136464 , 0.01965802,\n", + " 0.04769301, -0.02218902, -0.01268643, 0.00650465, 0.00985247,\n", + " 0.0029873 ], dtype=float32),\n", + " array([ 0.00877787, 0.03242666, -0.00026327, -0.01881958, -0.00730135,\n", + " 0.03559063, -0.01825701, -0.01065201, 0.01681685, 0.01074173,\n", + " 0.02253641, 0.0082016 , 0.02200216, 0.00088347, -0.0205142 ,\n", + " -0.01339685, 0.01239092, -0.01781665, 0.01000167, -0.01227449,\n", + " -0.03044926, 0.00296532, 0.01440197, -0.01035894, 0.01061506,\n", + " -0.00530907, 0.00484147, -0.02209524, 0.00735557, 0.01712263,\n", + " -0.00231011, -0.01255511, -0.00114341, -0.01413104, 0.02112199,\n", + " 0.01123461, 0.01380601, -0.00019924, -0.02128731, 0.01526375,\n", + " 0.02988552, -0.02491145, -0.00939747, 0.00798917, 0.0135474 ,\n", + " 0.01258122, -0.03753063, -0.04039029, -0.01517935, 0.00668549,\n", + " 0.02796665, 0.01242495, 0.0059546 , -0.01216253, 0.0372387 ,\n", + " 0.01762399, -0.00170241, 0.0003667 , 0.00895109, -0.03517802,\n", + " -0.00762667, 0.01357641, -0.02436312, 0.01829541, -0.01330634,\n", + " -0.02818829, -0.01139517, -0.01664645, 0.00769452, 0.01209339,\n", + " -0.00416979, -0.01296107, -0.0064631 , 0.0050506 , -0.01833598,\n", + " 0.02872021, -0.00062401, 0.0109796 , -0.01280711, 0.01152301,\n", + " -0.01085931, 0.02023655, 0.00272896, -0.00558658, 0.03704501,\n", + " -0.01837787, -0.00414707, 0.00713773, -0.01023714, 0.0090292 ,\n", + " 0.00089387, -0.01082103, 0.02051528, 0.01287969, -0.0074691 ,\n", + " -0.01942614, 0.01223695, -0.0136801 , -0.01567431, 0.01466064,\n", + " 0.04967042, 0.02889016, -0.005946 , -0.00131571, -0.0110809 ,\n", + " 0.00165396, -0.01279759, -0.01407798, -0.01902512, -0.01361593,\n", + " -0.00631681, -0.00142478, 0.01678663, 0.00815052, -0.00193329,\n", + " -0.00845464, -0.00746565, 0.03766166, -0.01099476, 0.00489809,\n", + " 0.01403449, 0.01477709, -0.00150515, 0.00462877, -0.01271886,\n", + " 0.00072193, 0.00815068, -0.04432011, -0.00604029, -0.00264471,\n", + " 0.01325564, -0.01315497, 0.00713541, -0.0137267 , -0.01845939,\n", + " -0.02801731, 0.01673851, -0.00593479, -0.01457028, 0.01636872,\n", + " -0.00751132, -0.01056858, 0.01126528, 0.01645665, 0.02689397,\n", + " 0.01920939, 0.01767929, -0.00843761, -0.01002457, -0.00844629,\n", + " 0.02888541, -0.00503441, -0.00025836, 0.01326172, -0.00968244,\n", + " 0.00430614, -0.00964946, 0.00635843, 0.00445558, -0.00235765,\n", + " 0.00160239, -0.00325711, 0.03206096, -0.00511734, 0.01108837,\n", + " 0.0014369 , 0.02616214, 0.01631057, -0.00778238, -0.04322761,\n", + " -0.00086197, 0.01174034, -0.00230315, -0.01354581, 0.01665967,\n", + " -0.02281472, -0.0123808 , -0.02901287, -0.04143119, -0.00477564,\n", + " 0.00608404, -0.00701787, -0.00686041, 0.01422733, -0.02854553,\n", + " -0.01464688, -0.00404892, 0.00348112, 0.02299088, -0.02302668,\n", + " 0.01208024, 0.01010513, -0.01571813, 0.01446694, -0.00129136,\n", + " -0.00054684, -0.00328883, 0.01649218, 0.03326375, -0.00185443,\n", + " 0.02091988, -0.00814938, -0.0088084 , 0.02302703, -0.01156406,\n", + " 0.04080933, 0.02902327, -0.01330268, -0.00385899, -0.00826302,\n", + " -0.02295679, 0.00658087, -0.0056047 , -0.01404469, 0.00368797,\n", + " -0.01484573, 0.00689151, 0.02035506, 0.02181732, 0.02151672,\n", + " 0.0004279 , -0.00763045, -0.01551796, -0.02054572, -0.03275407,\n", + " 0.00623783, 0.007831 , -0.02604559, 0.01956206, 0.0161521 ,\n", + " 0.02634443, -0.03285164, -0.01301691, 0.01066694, 0.01585914,\n", + " -0.0187955 , 0.01046878, -0.00189302, -0.01132144, -0.00140048,\n", + " 0.02645635, -0.04300842, -0.00639437, 0.01285532, -0.00437311,\n", + " 0.01163111, -0.015357 , -0.00531165, 0.01102756, 0.00182517,\n", + " 0.02303016, -0.00949884, -0.02009463, 0.00573564, 0.00076009,\n", + " 0.00078505], dtype=float32)]" + ] + }, + "metadata": {}, + "execution_count": 4 + } + ], + "metadata": {} + } + ], + "metadata": { + "orig_nbformat": 4, + "language_info": { + "name": "python", + "version": "3.8.5", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.8.5 64-bit" + }, + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/examples/test_model/data/d2v/test_256.zip b/examples/test_model/data/d2v/test_256.zip new file mode 100644 index 00000000..f5ddd67b Binary files /dev/null and b/examples/test_model/data/d2v/test_256.zip differ diff --git a/examples/test_model/data/d2v/test_256/test_256.bin b/examples/test_model/data/d2v/test_256/test_256.bin new file mode 100644 index 00000000..7a56bca4 Binary files /dev/null and b/examples/test_model/data/d2v/test_256/test_256.bin differ diff --git a/examples/test_model/data/w2v/test_w2v_256.zip b/examples/test_model/data/w2v/test_w2v_256.zip new file mode 100644 index 00000000..00085d5f Binary files /dev/null and b/examples/test_model/data/w2v/test_w2v_256.zip differ diff --git a/examples/test_model/data/w2v/test_w2v_256/test_w2v_256.kv b/examples/test_model/data/w2v/test_w2v_256/test_w2v_256.kv new file mode 100644 index 00000000..23544927 Binary files /dev/null and b/examples/test_model/data/w2v/test_w2v_256/test_w2v_256.kv differ diff --git a/examples/tokenizer/tokenizer.ipynb b/examples/tokenizer/tokenizer.ipynb index 4819b00d..a928ebba 100644 --- a/examples/tokenizer/tokenizer.ipynb +++ b/examples/tokenizer/tokenizer.ipynb @@ -3,28 +3,39 @@ { "cell_type": "markdown", "source": [ - "# Tokenizer\n", - "\n", - "## 概述\n", - "\n", - "为了方便后续向量化表征试题,本模块提供题目文本的令牌化解析(Tokenization),即将题目转换成令牌序列。 \n", - "\n", - "根据构成题目的元素类型,解析功能分为 **“文本解析”** 和 **“公式解析”** 两部分。\n", - "\n", - "### 文本解析\n", - "\n", - "根据题目文本切分粒度的大小,文本解析又分为 **“句解析”** 和 **“词解析”**。\n", - "\n", - "(1) 句解析(sentence-tokenization):将较长的文档切分成若干句子的过程称为“分句”。每个句子为一个“令牌”(token)。(待实现) \n", - " \n", - "\n", - "(2) 词解析(text-tokenization):一个句子(不含公式)是由若干“词”按顺序构成的,将一个句子切分为若干词的过程称为“词解析”。根据词的粒度大小,又可细分为“词组解析”和\"单字解析\"。\n", - "- 词组解析 (word-tokenization):每一个词组为一个“令牌”(token)。\n", - "- 单字解析 (char-tokenization):单个字符即为一个“令牌”(token)。\n", - "\n", - "### 公式解析\n", - "\n", - "公式解析(formula-tokenization):理科类文本中常常含有公式。将一个符合 latex 语法的公式切分为标记字符列表的过程称为“公式解析”。每个标记字符为一个“令牌”(token)。 \n", + "# 令牌化\r\n", + "\r\n", + "## 概述\r\n", + "\r\n", + "此模块可以定制化的将文本切分为令牌(token)序列,在此,将展示三种方式来进行令牌化:调用tokenize函数、调用sif4sci函数、调用封装好的tokenizer。" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 调用tokenize函数\r\n", + "\r\n", + "### 概述\r\n", + "\r\n", + "为了方便后续向量化表征试题,本模块提供题目文本的令牌化解析(Tokenization),即将题目转换成令牌序列。 \r\n", + "\r\n", + "根据构成题目的元素类型,解析功能分为 **“文本解析”** 和 **“公式解析”** 两部分。\r\n", + "\r\n", + "#### 文本解析\r\n", + "\r\n", + "根据题目文本切分粒度的大小,文本解析又分为 **“句解析”** 和 **“词解析”**。\r\n", + "\r\n", + "(1) 句解析(sentence-tokenization):将较长的文档切分成若干句子的过程称为“分句”。每个句子为一个“令牌”(token)。(待实现) \r\n", + " \r\n", + "\r\n", + "(2) 词解析(text-tokenization):一个句子(不含公式)是由若干“词”按顺序构成的,将一个句子切分为若干词的过程称为“词解析”。根据词的粒度大小,又可细分为“词组解析”和\"单字解析\"。\r\n", + "- 词组解析 (word-tokenization):每一个词组为一个“令牌”(token)。\r\n", + "- 单字解析 (char-tokenization):单个字符即为一个“令牌”(token)。\r\n", + "\r\n", + "#### 公式解析\r\n", + "\r\n", + "公式解析(formula-tokenization):理科类文本中常常含有公式。将一个符合 latex 语法的公式切分为标记字符列表的过程称为“公式解析”。每个标记字符为一个“令牌”(token)。 \r\n", " " ], "metadata": {} @@ -32,15 +43,15 @@ { "cell_type": "markdown", "source": [ - "## 文本解析" + "### 文本解析" ], "metadata": {} }, { "cell_type": "markdown", "source": [ - "### 句解析\n", - "\n", + "#### 句解析\r\n", + "\r\n", "待实现..." ], "metadata": {} @@ -48,19 +59,19 @@ { "cell_type": "markdown", "source": [ - "### 词解析\n", - "\n", - "词解析分为两个主要步骤: \n", - "\n", - "(1) 分词: \n", - "- 词组解析:使用分词工具切分并提取题目文本中的词。 \n", - " 本项目目前支持的分词工具有:`jieba` \n", - "- 单字解析:按字符划分。\n", - " \n", - " \n", - "(2) 筛选:过滤指定的停用词。 \n", - "- 本项目默认使用的停用词表:[stopwords](https://github.com/bigdata-ustc/EduNLP/blob/master/EduNLP/meta_data/sif_stopwords.txt) \n", - "- 你也可以使用自己的停用词表,具体使用方法见下面的示例。\n" + "#### 词解析\r\n", + "\r\n", + "词解析分为两个主要步骤: \r\n", + "\r\n", + "(1) 分词: \r\n", + "- 词组解析:使用分词工具切分并提取题目文本中的词。 \r\n", + " 本项目目前支持的分词工具有:`jieba` \r\n", + "- 单字解析:按字符划分。\r\n", + " \r\n", + " \r\n", + "(2) 筛选:过滤指定的停用词。 \r\n", + "- 本项目默认使用的停用词表:[stopwords](https://github.com/bigdata-ustc/EduNLP/blob/master/EduNLP/meta_data/sif_stopwords.txt) \r\n", + "- 你也可以使用自己的停用词表,具体使用方法见下面的示例。\r\n" ], "metadata": {} }, @@ -68,7 +79,7 @@ "cell_type": "code", "execution_count": 1, "source": [ - "# 导入模块\n", + "# 导入模块\r\n", "from EduNLP.SIF.tokenization.text import tokenize " ], "outputs": [], @@ -78,7 +89,7 @@ "cell_type": "code", "execution_count": 2, "source": [ - "# 输入\n", + "# 输入\r\n", "text = \"三角函数是基本初等函数之一\"" ], "outputs": [], @@ -87,8 +98,8 @@ { "cell_type": "markdown", "source": [ - "#### 词组解析\n", - "\n", + "##### 词组解析\r\n", + "\r\n", "分词粒度参数选择 word: `granularity = \"word\"` " ], "metadata": {} @@ -97,7 +108,7 @@ "cell_type": "code", "execution_count": 3, "source": [ - "# 输出:默认使用 EduNLP 项目提供的停用词表\n", + "# 输出:默认使用 EduNLP 项目提供的停用词表\r\n", "tokenize(text, granularity=\"word\")" ], "outputs": [ @@ -117,8 +128,8 @@ { "cell_type": "markdown", "source": [ - "#### 单字解析\n", - "\n", + "##### 单字解析\r\n", + "\r\n", "分词粒度参数选择 word: `granularity = \"char\"` " ], "metadata": {} @@ -127,7 +138,7 @@ "cell_type": "code", "execution_count": 4, "source": [ - "# 输出:默认使用 EduNLP 项目提供的停用词表\n", + "# 输出:默认使用 EduNLP 项目提供的停用词表\r\n", "tokenize(text, granularity=\"char\")" ], "outputs": [ @@ -147,7 +158,7 @@ { "cell_type": "markdown", "source": [ - "#### 停用词表" + "##### 停用词表" ], "metadata": {} }, @@ -155,10 +166,10 @@ "cell_type": "code", "execution_count": 5, "source": [ - "# 获取自己的停用词表\n", - "spath = \"test_stopwords.txt\"\n", - "from EduNLP.SIF.tokenization.text.stopwords import get_stopwords\n", - "stopwords = get_stopwords(spath)\n", + "# 获取自己的停用词表\r\n", + "spath = \"test_stopwords.txt\"\r\n", + "from EduNLP.SIF.tokenization.text.stopwords import get_stopwords\r\n", + "stopwords = get_stopwords(spath)\r\n", "stopwords" ], "outputs": [ @@ -179,7 +190,7 @@ "cell_type": "code", "execution_count": 6, "source": [ - "# 输出:传入停用词表(stopwords)\n", + "# 输出:传入停用词表(stopwords)\r\n", "tokenize(text,granularity=\"word\",stopwords=stopwords)" ], "outputs": [ @@ -199,7 +210,7 @@ { "cell_type": "markdown", "source": [ - "## 公式解析\n", + "### 公式解析\r\n", "切分出 latex 公式的每个标记符号。针对本模块更加详细的解释参见 [formula](../formula/formula.ipynb)" ], "metadata": {} @@ -208,7 +219,7 @@ "cell_type": "code", "execution_count": 7, "source": [ - "# 导入模块\n", + "# 导入模块\r\n", "from EduNLP.SIF.tokenization.formula import tokenize" ], "outputs": [], @@ -305,7 +316,7 @@ "cell_type": "code", "execution_count": 11, "source": [ - "# 输出形式选择抽象语法分析树(ast)且将公式变量名转换成 token\n", + "# 输出形式选择抽象语法分析树(ast)且将公式变量名转换成 token\r\n", "tokenize(formula, method=\"ast\", return_type=\"list\", ord2token=True)" ], "outputs": [ @@ -343,7 +354,7 @@ "cell_type": "code", "execution_count": 12, "source": [ - "# 输出形式选择抽象语法分析树(ast)且将公式变量名转换成带编号的 token\n", + "# 输出形式选择抽象语法分析树(ast)且将公式变量名转换成带编号的 token\r\n", "tokenize(formula, method=\"ast\", return_type=\"list\", ord2token=True, var_numbering=True)" ], "outputs": [ @@ -373,13 +384,13 @@ { "cell_type": "markdown", "source": [ - "## 综合解析\n", - "\n", - "综合解析,即综合以上两种解析方式(标记解析 + 公式解析),提供对题目文本的全解析。另外,如遇到特殊符号将转换成常量,例如:\n", - "```python\n", - "FIGURE_SYMBOL = \"[FIGURE]\" # $\\SIFChoice$\n", - "QUES_MARK_SYMBOL = \"[MARK]\" # $\\FigureID{1}$\n", - "```\n" + "### 综合解析\r\n", + "\r\n", + "综合解析,即综合以上两种解析方式(标记解析 + 公式解析),提供对题目文本的全解析。另外,如遇到特殊符号将转换成常量,例如:\r\n", + "```python\r\n", + "FIGURE_SYMBOL = \"[FIGURE]\" # $\\SIFChoice$\r\n", + "QUES_MARK_SYMBOL = \"[MARK]\" # $\\FigureID{1}$\r\n", + "```\r\n" ], "metadata": {} }, @@ -387,17 +398,17 @@ "cell_type": "code", "execution_count": 39, "source": [ - "# 导入模块\n", - "from EduNLP.Tokenizer import get_tokenizer\n", - "\n", - "# 输入\n", - "item = {\n", - " \"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\"\n", - "}\n", - "\n", - "# 输出\n", - "tokenizer = get_tokenizer(\"text\")\n", - "tokens = tokenizer(item)\n", + "# 导入模块\r\n", + "from EduNLP.Tokenizer import get_tokenizer\r\n", + "\r\n", + "# 输入\r\n", + "item = {\r\n", + " \"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\"\r\n", + "}\r\n", + "\r\n", + "# 输出\r\n", + "tokenizer = get_tokenizer(\"text\")\r\n", + "tokens = tokenizer(item)\r\n", "next(tokens) " ], "outputs": [ @@ -472,6 +483,1125 @@ } ], "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 调用sif4sci函数来进行令牌化\r\n", + "\r\n", + "### 概述\r\n", + "\r\n", + "SIFSci 是一个提供试题切分和标注的模块。它可定制化的将文本切分为令牌(token)序列,为后续试题的向量化做准备。" + ], + "metadata": { + "collapsed": true, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "本文将以下面这道题目(来源自 LUNA 题库)为例,展示 SIFSci 的使用方法。 \n", + "\n", + "![Figure](../../asset/_static/item.png)" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 符合 [SIF 格式](https://edunlp.readthedocs.io/en/docs_dev/tutorial/zh/sif.html) 的题目录入格式为:" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "item = {\r\n", + " \"stem\": r\"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\",\r\n", + " \"options\": [\"$p_1=p_2$\", \"$p_1=p_3$\", \"$p_2=p_3$\", \"$p_1=p_2+p_3$\"]\r\n", + "}\r\n", + "item[\"stem\"]" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "'如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\\\SIFChoice$$\\\\FigureID{1}$'" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "- 加载图片:`$\\\\FigureID{1}$`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "from PIL import Image\r\n", + "img = Image.open(\"../../asset/_static/item_figure.png\")\r\n", + "figures = {\"1\": img}\r\n", + "img" + ], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOYAAACICAYAAADzlJeRAAAe3klEQVR4nO2df1RT9/3/nyE/SWJyBdSUOgs72mKP1XhK24j2CGon4FagbtTMtpZt6rDzR7rjKt+2C+rnHGxdBbr2xB9zgc4j1NMJbpXg2hlsp2DnjrSHVaqcgquWbFqNLUgQkvf3DwgiSSA/7uUm8f04530O3Ny87zu5ed7X+8fr/XoJCCEEFAolrIjhuwEUCsUTKkwKJQyhwqRQwhAR3w2IBJqamuBwOHy+rtFokJKSMo4tokQ7VJgAGhoa0NzcDLvdjn//+99oa2uDw+FAa2srAIBhmFHf73K58O233wIAYmNj8cADDwAAZs+ejblz50Kr1UKn00Emk3H6OSjRg+Bum5Vtbm5Gc3MzrFYrPvnkE7S2toJhGPT09KC3t5f160mlUsTGxqKrqwsMw2D69OlYunQpdDodMjMzWb8eJTqIemHa7XbU19fjT3/6E/72t79BoVDA6XSiq6uL13YxDIOuri48/vjjyM/PR2ZmJpKSknhtEyV8iEph2mw21NbW4tChQzh16hSkUulQVzMckcvliImJgUwmQ3Z2NgwGA7RaLd/NovBIVAmzuroar732Gs6fPw8AuHnzJs8tCg61Wg2FQoFXX30VK1asGHOMS4k+Il6YNpsNf/jDH7Bz504ACGvLGChyuRxOpxOLFy/G+vXr6Zj0LiJihdnU1IQ33ngDdXV1cLlcoy5nRAMMw0AkEmHnzp14/vnn+W4OhWMiTpjNzc0oLCxEa2sr7HY7380Zd5RKJWQyGRVolBMxwrTZbFi/fj0++OAD3Lhxg+/m8A4VaHQT9sK02+347W9/i8rKyqgaP7KFUqmESqXCn//8Z+h0Or6bQ2GJsPaV3bdvH5KTk7Fv3z4qSh90dXXh66+/RlZWFjZs2HBXdu+jEhKGdHZ2Ep1OR9RqNQFAi59FJpORSZMmEYvFwuLdqCNlZRdYrI/iD2FnMfft24dZs2ahqamJjiUDxOFw4MqVK9Dr9XjqqadYsJ5tKJ+fjUNsNI4SGHw/Gdxcv36d5OXlUSvJUhGLxWTSpEmksbEx6HtyoSyNACBr6li80RS/CAuL2dDQgPvvvx/vv/8+tZIs0dfXhytXruBHP/oRSkpKAq+grRw78QrK0thvG2VseJ+VLS0txbZt2+ikBYeoVCrMmzcP1dXVfrr3WbB2/nlsPnk/dgr+Dw9eOImN07lrX0NDA4Db+17/+c9/4uuvv/Z67uzZs5GcnAwASEpKuqNEFXya65/97GeEYRjeu313QxGLxSQ5OZmcO3duzPtSt2YNqSOEkAtlJA2Df7NAT08PsVqtxGg0Ep1OR2JjYwkAwjAMYRiGiESigD6TUqkkDMMQpVJJABCtVkuys7OJ0WgMqQsfDvAizOvXr5NHH3106MbQMn4lLi6OHDlyxOe9cY8rb5fQhHnu3Dny8ssvk+TkZCISicbtQcwwDImNjSUZGRnEZDKR9vb2ED7F+DPuwmxvbycpKSlEIpHw/iO9W8uUKVPIO++843lzLpSRNcOXRurWEKSVkUAXSxobG0lhYSFJSEggKpUqYEvIdpHL5USpVJLExERiMpnI9evXQ/kJjwvjKsyzZ8+SxMRE3n+YtIBMnDiRvP3227dvzoUykjZChBfK0vwWZk9PDzGbzSQxMTGshydyuZwoFAqSnZ3N8novu4ybMM+ePUs0Gg3vN4aW2yUuLm5InAPH0siAwbxAytKGn+u7O9vZ2Uk2bdpEJkyYMDTWi5TCMAxJSEggZrN5nFTgP+MizPb2dmopw7TExcWRjRs3BnxPOzs7ycqVK4lcLue9qxpqUSqVYSdQzoXZ3t5OkpKSeP/yafFdGIbxW5w9PT3EaDSS+Ph4IhaLeW87m8Ut0JqaGk414Q+cCpOKMnIKwzBk165do97PqqoqotFoiEKh4L29XBa1Wk10Oh2vM7mcCfP69eskJSWF9y+ZFv/LlClTvC6luDcVqFQq3ts4noVhGGI0GklPTw9XMvEJJ54/DocDjzzyCFpaWtiuOuqRy+WQSCQecW6Tk5OhVqvvODcnJwcA8NFHH+G///0vrl27ht7eXvT19QUdnnPKlCloaGgYiixfX1+PZ555Bt98802QnyiyUSgUiI+Px5EjR8Y1ciEnwnzqqafw/vvvo6+vj+2qowaGYYYiuLtFl5OTM5RuQavVshodr6GhAXa7Hc3Nzaivr4fNZsNXX30FAIiJiUF/f//QuSqVCrt27cJf/vIXfPTRR9RdEkB8fDxKSkqwevXqcbke68Kkvq+eiEQiKJVKdHV1ITU1FUuXLkV6enpY5Dxxi7WjowN//etfceLECXz33XdwuVx3iJUyEFZ00aJFOHjwIPfpLtjsFzc2NpKEhATexwZ8F7frmUgkIjqdjpSUlESU7+bhw4eJRqMharWayOVyIpVKSUxMDO/fazgUsVhMZsyY4ZfPcSiwJszOzk4ybdo03r84vopMJiNKpZJotdqIE+JwTCYTSU9PJ+3t7aSqqoqsWLGCnDt3jphMJpKZmUkkEknULZMEU6ZMmULOnj3L2X1gRZg9PT0kNTWV9y+Lj6JWq0liYiLZvn17xDlKD6enp4esWLGC/PKXvyQ9PT3k448/Jh9//DHZtGkTKS0tveM8s9k8tDtEKBTyfg/4KhqNhrMHMCvCNBqNUb+2NVKMKpWKPPfcc5w+NceLc+fOEa1WS6qqqoYE6S49PT0kMzOTWK1Wj/e1t7eT7du3k8TERCKXy3m/L3yUhISEUXfrBEvIwmxvbw9rp2U2i1KpJNnZ2WHhGcIWVVVVRKfTkXPnznmI0l06OzuJVqslnZ2dPus5e/Ysee6554hSqSRSqZT3ezWexdf6byiEPCs7b948NDU1hVJFWCMSiSCXy5Gbm4utW7dGzU55h8OBoqIi2Gw2mEymMdecRSIRioqKYLFYRp2RdDgceOutt1BSUoLu7m5Oco6GI1OmTMHevXvx5JNPslJfSMLct28fNm/eHJVxemQyGWQyGX7yk59g27Zt0Gg0fDeJNWw2G/R6PXJycpCamur3+86cOYOLFy+itLR0zHMdDgcqKirw6quvoru7Gz09PaE0OSKIj4/Hhx9+yIojQtDCtNlsmDt3Lmw2W8iNCCcUCgViYmKwbt06bNmyJepS4NXX18NgMMBsNge1Trl//34sXLgwoLQMFRUV2Lx5M3p6etDd3R3wNSOJpKQkWK3WkHtWQUfJW7duXVS5aYnFYjAMg+LiYvzvf//Djh07ok6UxcXFKC8vR2NjY9DOAyaTCZWVlQENX55//nlcuXIFBw4cQHJyMmJjY4O6diTQ0dGBH/zgByFnnwvKYjY3NyM9PT1qurAMw2DZsmV46623ok6MwIB3T15eHhYuXIglS5aEXN/UqVORl5cHq9Ua1Pf1u9/9Djt27IDdbofT6Qy5PeGGRCKBVqvF6dOng64jKGEuWrQIVqs16IuGCxMmTMC9994Ls9kctQl5mpqaUFBQAJPJBJFIxFq9/f392Lp1a9C/A5vNhnXr1uH48eNR84AfjkqlwpYtW1BUVBTU+wMWZjRYS7FYDIVCgW3btmH9+vV8N4czysrKcOTIEVRVVaGtrY31+v/xj3/gxo0bwQWUHqShoQErV67E9evXo26CKJTJoIDHmC+++GJEi5JhGOTn56O9vT1qRWm326HX63Hx4kVYLBZORAkACxYsQGtrK2pra4OuIz09HZcvX8ZvfvMbxMfHs9e4MOCbb75BTk5OUOPNgCxmJFtLsViMyZMn47333ovabisAtLa2oqCgABs3bsTUqVM5v96sWbOQlZUFs9kc8k4Zm82GvLw8fPbZZ7h58yZLLeQXsViM/Px8HDhwIKD3BWQxI9VaMgyDRYsWoaWlJapFWVFRAb1eD7PZPC6iBICWlhaYzWbo9fqQZyI1Gg0aGxuxefPmqJmE6+vrw9GjR1FfXx/Q+/y2mE1NTcjKyoq4fZZxcXF45ZVXYDAY+G4KZzgcDhgMBjgcDphMJpw5c2bc23D16lVUVlaipqaGlfqamprw5JNP4sqVK6zUxzfJycn48ssv/T7fb4tpMpkiSpRisRjTpk3DyZMno1qUHR0dyMjIwJw5c/Dzn/+cF1ECQEJCAlJSUrBjxw5W6tPpdDh//jx0Oh3kcjkrdfLJ1atX8fvf/97v8/0SpsPhwKFDkZO+dOLEifjhD3+IL774gvcIAVxSW1uLvLw8mEwmzJo1i+/mYNmyZTh27NhQ9q5QYRgmarq23333HYqLi/3u7vslzOrqalbXwLgkISEB5eXlOHz4MPfhH3ikqKgIlZWVsFqtQQfe4oKamhoYDAZ0dHSwVmdxcTEsFgsSExNZq5MPent7/e5R+DXGnDlzJlpbW0NuGNdoNBpUVVUhPT2d76ZwhtsBfenSpViwYAHfzfGKvztRAqWjowNZWVkR8Vv0hUqlwhdffDHmpogxLWZra6vPJKLhRGJiIiwWS1SL0j0BZzQaw1aUwIBX0KpVq1BYWMhqvUlJSWhsbERqamrE9OBG4nQ6/Vo6GVOYe/bsCfs1pXvvvRcnT54c17if482OHTtgMBhgsVgi4kc5ffp0yGQy7N69m9V6GYbBxx9/jLS0tIh0hu/u7kZJScmYY80xhXngwIGwDWMokUiQkpKClpaWqNnAPBK3A/qNGzewc+dOzrx4uKC0tBTvvvsu6xvpZTIZTpw4gSeeeMIjCHYk4HQ6x1zXHHWM2dHRgYceeiisJhfcyOVyzJkzB3V1dRE/Y+eL5uZmFBQUwGg0IiEhge/mBMXUqVOh1+tRU1PDyWbzTZs2oaKiIuIcX8Za1xzVYtbX18PlcrHeqFCRSCSYM2cOjh8/HrWi3L17NwoLC1FTUxOxogSAS5cuoaSkBAUFBSF7BnmjrKwMRqMREydOZL1uLrl27Rqam5t9vj6qMA8dOhSW48v7778fx48fj8rlEIfDgYKCAnz66aewWq24dOkS300KGZFIhKVLlwa9BWosDAYDnnvuuYjq1nZ3d6OystLn6z67sg6HAxMnTuTkKRcKKSkpaGxsjEpL6XZAX7t2LaZPn853c1jn7bffRk5ODlasWMFJ/Xq9HrW1tWH3m/VFQkKCT5dDnxazqakp7CzStGnTgt41H+7U1tYObWiORlECgNlsxmuvvcbZOmRVVRUeffTRiJi1BgaWlXxNjPkU5ocffhhWkz6JiYk4ceJEVEWrc2MwGFBZWQmLxRJW3znbnDlzBjU1NdDr9Zz5XR87dgyPPPIIxGIxJ/WzSVdXF959912vr/nsyoZT+BCNRgOLxRJ165Tu/YdPP/10QGEkIx22d6KMxG63Y968eRHhIeSrO+vTYv7rX//itEH+kpCQgJqamqgTZUNDAzIyMlBaWnpXiRIYuKdz5sxBcXExJ/UzDAOr1Ypp06ZxUj+bOBwOr37FXoVpt9vDIoK2SqXCiy++GHWbm4uLi7F169aQwkhGOkuWLMHp06cD3kDsLxqNBseOHUNcXBwn9bOJt904XoXZ3NzMu7uTWCyGVqvlbIqdD+x2O7KysgAA27dvHzMtQbRTVVWFoqIiVneiDMe9P1SlUnFSPxt0dXXhk08+8TjuU5h8RyybPHkyjhw5wmsb2KSpqQkZGRnYuHEjK7Fdo4GWlhZUVVUhLy+PsyWO1atXY/HixWE9U+ut1+BVmGfPnuW1K5uQkID33nsvapZFdu/ejaKiItTU1ECpVPLdnLDi6tWreOmll1BQUMDZNQ4ePBjWezm/+uorjweTV2F+9tln49Igb0TTuNLhcECv1+PTTz+FxWKJCi8eLpg6dSo0Gg3Kyso4qV8mk4X1eFOpVHq453kVJl8/ILFYjMWLF0fFuLK1tRXz5s1DTk4OVq5cyVssnkihpKSE1bAkIwnn8abL5fIYZ/ucleWD+Ph4HDx4kJdrs0l1dTX0ej2qqqrGLYxkpHPmzBmYzWYYDAbOMsi5x5tCoZCT+oOlt7fX4zPfIUzi6se3Xd9BoIoF1ApgHD3yGIaB2WwOOzfAQHA4HCgsLMSRI0fQ2NiIq1ev8t2kiKKtrQ0mk4mVGLW++OMf/xh2Xdre3l6cP3/+jmN3CFMQI8K1K/+DTCwGbnYD4+QLLBaL8dhjjyEzM3N8LsgB7ng0c+bMwQsvvEC7rkHS39+PnJwczoYzDMPgjTfeCLsu7UgvJY+ubMfFi4iJCTptZlCoVCpUVFSM6zXZpL6+Hnl5eSgpKQmLMJKRTmpqKux2O2e/iWeffRbf//73Oak7WDo7O+/432Nxx27/dvAvMaCWDPzpugV81wfIZIBUCPQOWlOxGJAPntM7zMIOPw4ncGOY6R3x2gSXGEaj0dM5nThxy+kCAQBBDCRCIQQjj0MAsUiEGBD09/fDCcHA+MHZDycAxIggFbhunx8jgjRGENAXNhbFxcU4ffo0rFbrXe8wwCYmkwlZWVlISUnhZIbebDZj8eLFuHbtGut1B8PIYY+HabTbrw9GLegDbt4C4BwQJQA4nED/rUEBigfGoDe6gRu3AKkMEA8elwsHusI3uoF+IaBwe/p7vjbpnslesm4R9DsJYoRiSEUiCOGCk4w8LoY4hqDPRQAIIBLGQAACp9OJGJEYUmEMBK5+9LoA8dD/TrAVj8FutyMjIwMA8PLLL1NRsox7MqiwsJCTyUitVouVK1eG7S6U0fusfX1AL24LSyYEnH23/46RDEwSqSUAhIBw8LjLCQyehlu3AJHw9nuGvaaWSlFd9a6nWIgTzhghRAJgQHTigb+JE06BAMJBoxcjGCk2AYRC0bAPJYAwZtDSDuIKOE2vJ01NTZg3bx6MRiP14uGQS5cuobS0FHl5eZzU//rrr2PChAmc1B0qvoXpFpbDOSAsMQCh884Jof5bgxZzsLhfixllOnrwNZFIhPzlyzFn9hzv5xF3d3XkceL9+DhRVlYGg8EAq9Ua1m5e0QKXYUlkMhn2798flt5YQ8J0ufrQ6yIDyxXEOeyUQaspV9y2lsCgYCXDllQGu7YOJwDh7eNCIdDvvP2ewddUKhXeLC8FiRF6eToIICDu7isAkAFLJxBCCIL+IbNHfLyffdxhJC9evBhxYSQjHTYS5PoiNzc3LCfshn7TAggAVz/iJ09GTP+ICRKHE8AIa4k+oNcJSBWD3Vnh4OuDY1P3cbET6O67/Z6bt6BQxWHz/9sCgUQGydBkDEF/fx/6BwUoEQrgdPaht78Pvf1OYKhbGwO4+geOuwSD7yfod7pAQOB09sM15v+B0dzcjKysLKxatQrLly8P8N0UNuAyLInJZAo7q+kRwaChoQF5eXkjBtxiQNbH2rpmXFwcLl++HBHOBBUVFdizZw/MZjN1GOCZhIQE6PV6NDY2sv7b4Ttix8hIBv71AmVCwDn2af6gUChQVFQU9qJ0e/GcOHECVquVijIMuHr1KoxGI/R6Pet179q1i1erOdJ100OYdwhGMdgdheP2ZFCISKVS/OpXv2KnMo4Il2SwFE/YTpDrRqvVYtKkSazWGQgjDZWHMDUaze1wF90jZltDJBKsZbglg6V4wnaCXDe7du3iLXv1mBYzKSmJsxCK4W4twzUZLMUTLhLk5ubmYsqUKazVFwgjrbXXMSYXDr7hbC1tNhvmzZsHtVqNX//619SLJwJoaWmByWRiPScKH1ZTLpdj9uzZdxzzKsz4+HjWLy4UCvHMM8+wXm+oNDQ0ICsrC6WlpWGdDJbiCRcJcnNzczF58mTW6vMHiUTiEZ7VqzC5MOcPP/xw2EVR37FjB7Zu3QqLxXLXhpGMdLhIkPvSSy+Nq1dXT08PUlJS7jjmVZhs77pXq9XYsGEDq3WGwvBksNu3b6dePBEO2wlyc3NzIZFIxj6RJaRSqUfgOa/CfOCBB1h9YgiFwrDZBN3c3IyMjAysWrUKy5Yt47s5FBZgOyyJRqPBY489xkLL/OPBBx/0OOZVmAsWLGBtsVUkEmH58uVhMekTLclgKZ6wnSB3w4YNkEqlLLRsdEQiERYvXuxx3KswdTodawGfFQoF1q1bx0pdwRKNyWApnrC5EyUzM3NcjIlSqfS6ddCrMBmGYW1m9p577uE1IZA7jOTChQtpGMm7gNTUVNhsNlRXV4dUj0wmQ05ODkut8o3D4fAaocGnrywbYpLL5di4cWPI9QRLdXU1CgoKUFVVFbXJYCmesLUTpbCwkHOrqdVqvV7DpzCfeOKJkPvYTqeTs7Teo+FwOGAwGHDkyBFYLBbqgH6XwVaCXJ1Ox2mEA6lUiqefftrraz6FqdPpQs74NXPmzHHPP2Kz2ZCVlYX77rsPL7zwAvXiuUu5dOkSjEZjyDlR1qxZw1KLPJFKpT5XK0btyjqdwe/1EolE474c4U4GW1JSctclg6V4wkaC3CVLlnAWsCs+Pt7DscCNT2HKZDI8/vjjQV/U12wTV9BksBRvhJogV6fTcZJSYazVilE3Sj/77LNBO7Q7nc5xydhFk8FSxiKUBLkymQxz585lv1EAfvGLX/h8bVRhZmZmBt2dTU1N5XxGyx1GkiaDpYxGqAly8/PzIRCwGyh84cKFo86/jCpMhmHw0EMPBXxRqVSKJ598MuD3BUJZWRmKiopgtVrDLpASJfwIJUFueno6q+NMhmG8BDm/kzFj/qxatSrg/WmjzTaFit1uh16vx8WLF2GxWKgDOsVvgk2Qy7aDzMSJE8fUx5jCzM3NDfjCEonE52xTKLS2tiIrKws5OTlYvnw59eKhBEywCXLZGmeq1Wrs2rVrzPPGFGYwnvaPPvpoQOf7gzsZrNlspslgKUET7E6UH//4x6xcPy4uzi9j51f4yg0bNkCtVvt1YZFIFNIyy0hoMlgK2wSTIHfJkiUhp6f011oCXgI+++Lee+/F119/7dfFKyoqguoCj6SjowMFBQV4+umnacQ6CuucOXMGFy9eRGlp6ZjnOhwOyOVy+CkXryQnJ+PLL7/061y/HwEGgwEKhWLM8wghrIwvaTJYCtcEkiBXJpOFtPynVqtx+PBhv8/3W5ijLYYO5+bNmyELs6ioCOXl5bBardSLh8IpJpMJlZWVfoUlCTZmlUgkQn5+fkCzu34Lk2EY/PSnPx0z5Mj3vvc9vy8+EpvNhoyMDKjVapoMljIuBJIgN9iZWZVKhTfffDOg9wQ0ml23bt2Y3dmZM2cG1AA3TU1NyMrKgtFopGEkKeOKvwlytVptwB5AarUa+/fvD7gbHJAwtVot8vPzfVrNYGdk3clgLRYLTQZL4QV/wpI88sgjAdUpFouxaNGioCZCA57/3bZtm09PIIVCEdD4kiaDpYQTYyXITUlJCchi3nPPPTh48GBQbQlYmBqNBqtWrfJqmgOZkaXJYCnhyGhhSZKSkvxeLomLi8OxY8eCnskNasX09ddf92o1XS6XXw2pqKhAYWEhzGYzDSNJCStaWlpgNpt9Oh/4EwharVZjx44dIa1OBCVMmUyGoqIij4kgh8Mx6pSyO4wkTQZLCWdGS5A7Vhws97hy9erVIbXBb8+fkTgcDsyePRsXLly447iv6lpbW1FQUIC1a9fSiHWUiODo0aNQq9XYsmXL0LH4+Hhcu3bN6/kSiQQPP/wwjh8/HvJe5KCd/2QyGd555507Nnv6inZQW1uLgoICmEwmKkpKxOAtQe5oET1mz57NiiiBEIQJDMRDefbZZ4ca4q3/bTAYUFlZCYvFQpPBUiKOkQlyfW2YTklJwQcffMBa1I7Q3OUxMBHk9vYZvh3LnQz2vvvuo8lgKRHLyAS53nZZpaSkoLGxkdVQrSELUyaT4dChQ3eY+OHJYGkYSUqkMzxB7vAJT3dAALZFCbAgTGDAIygtLQ0zZsygyWApUYk7Qa5UKoVQKERsbCy0Wi0nogQCEKZlrQACwYgyvxxuX50lS5bAarWitbUVf//736kXDyXqKC0txX/+8x/I5XLk5OTg9OnTnGUaCGi5pK18PmZ8/grIniwAFqwVZGPvmjqQPVk4cOAAtmzZgsuXL7PeSK1Wy8oXkJ6ePvR3RUVFUHFGKRSRSIS+vj5OrxGAMNtQPn8GPn+FYM9AfGVY1gqQjbpBoVIo0U9HRwc6OjrueMgDACxrIcjeO/TvmjqCPViLtdiDYOTh/xiz7SgOnVqD3MGLtJXPR/beNJRtpqKk3D0kJSWNEGUbyucLIMgG6ggBGSy5tQIIslvw4IzgruO3MNuOHsIp7EX24PhyFSpByElspP4ClLuWgV7kJpThAtmD4SYqa08d1mAW7g9SH34Ksw1HD53CmrrBJ8KFMmDTDMwvpxM8lLuXtvJV2HQqDWWVG+Gpvxl4sCwXwfYn/RtjtpVj/ozP8cqwp4JlrQDZe9egbsSTgkK5Oxi0lrO4mWPxy2K2HT2EU2uGq78N51sApD2IILvQFEqEcwGfnwLSgh1EjoEfcTwGu7Gv3JalZe0MbDoFrKnzZsIplLuAtvPg0sl0TIspEAyIcG/2bceC7L1pKLtAgpoGplCigun3YxaAU59f8Pqypfy2800wBL0fk0K56xlcu0wru4CTQ8sTnuv9wUCFSaGEQls55s/YhFNDB9JQdiH0ZUQqTAolDGFldwmFQmEXKkwKJQz5/6GFNae7ZI7lAAAAAElFTkSuQmCC", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "### 导入模块" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "from EduNLP.SIF import sif4sci, is_sif, to_sif" + ], + "outputs": [], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "### 验证题目格式" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "is_sif(item['stem'])" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 若发现题目因为公式没有包含在 `$$` 中而不符合 SIF 格式,则可以使用 `to_sif` 模块转成标准格式。示例如下:" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\r\n", + "is_sif(text)" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "text = '某校一个课外学习小组为研究某作物的发芽率y和温度x(单位...'\r\n", + "to_sif(text)\r\n" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "'某校一个课外学习小组为研究某作物的发芽率$y$和温度$x$(单位...'" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### 题目切分及令牌化\r\n", + "\r\n", + "现在我们得到了符合标准格式的题目文本,接下来可以对题目做进一步的预训练,例如:切分和令牌化。" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "#### 题目切分" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "##### 基本切分\r\n", + "分离文本、公式、图片和特殊符号。" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "segments = sif4sci(item[\"stem\"], figures=figures, tokenization=False)\r\n", + "segments" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形', 'ABC', '的斜边', 'BC', ', 直角边', 'AB', ', ', 'AC', '.', '\\\\bigtriangleup ABC', '的三边所围成的区域记为', 'I', ',黑色部分记为', 'II', ', 其余部分记为', 'III', '.在整个图形中随机取一点,此点取自', 'I,II,III', '的概率分别记为', 'p_1,p_2,p_3', ',则', '\\\\SIFChoice', \\FigureID{1}]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 文本部分" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "segments.text_segments" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形',\n", + " '的斜边',\n", + " ', 直角边',\n", + " ', ',\n", + " '.',\n", + " '的三边所围成的区域记为',\n", + " ',黑色部分记为',\n", + " ', 其余部分记为',\n", + " '.在整个图形中随机取一点,此点取自',\n", + " '的概率分别记为',\n", + " ',则']" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 公式部分" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "segments.formula_segments\r\n" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['ABC',\n", + " 'BC',\n", + " 'AB',\n", + " 'AC',\n", + " '\\\\bigtriangleup ABC',\n", + " 'I',\n", + " 'II',\n", + " 'III',\n", + " 'I,II,III',\n", + " 'p_1,p_2,p_3']" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 图片部分" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "segments.figure_segments" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "[\\FigureID{1}]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "segments.figure_segments[0].figure" + ], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 特殊符号" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "segments.ques_mark_segments" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['\\\\SIFChoice']" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "##### 标记化切分 \r\n", + "如果您不注重题目文本和公式的具体内容,仅仅是对题目的整体(或部分)构成感兴趣,那么可以通过修改 `symbol` 参数来将不同的成分转化成特定标记,方便您的研究。" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + " - symbol:\n", + " - \"t\": text\n", + " - \"f\": formula\n", + " - \"g\": figure\n", + " - \"m\": question mark" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "sif4sci(item[\"stem\"], figures=figures, tokenization=False, symbol=\"tfgm\")" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[FIGURE]']" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "#### 令牌化\r\n", + "\r\n", + "为了方便后续向量化表征试题,本模块提供题目文本的令牌化解析(Tokenization),即将题目转换成令牌序列。 \r\n", + "\r\n", + "根据构成题目的元素类型,解析功能分为 **“文本解析”** 和 **“公式解析”** 两部分。更具体的过程解析参见 [令牌化](../Tokenizer/tokenizer.ipynb)。" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "tokens = sif4sci(item[\"stem\"], figures=figures, tokenization=True)" + ], + "outputs": [], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "- 文本解析结果" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "tokens.text_tokens" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['如图',\n", + " '古希腊',\n", + " '数学家',\n", + " '希波',\n", + " '克拉底',\n", + " '研究',\n", + " '几何图形',\n", + " '此图',\n", + " '三个',\n", + " '半圆',\n", + " '三个',\n", + " '半圆',\n", + " '直径',\n", + " '直角三角形',\n", + " '斜边',\n", + " '直角',\n", + " '三边',\n", + " '围成',\n", + " '区域',\n", + " '记',\n", + " '黑色',\n", + " '记',\n", + " '其余部分',\n", + " '记',\n", + " '图形',\n", + " '中',\n", + " '随机',\n", + " '取',\n", + " '一点',\n", + " '此点',\n", + " '取自',\n", + " '概率',\n", + " '记']" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "##### 公式解析结果" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "tokens.formula_tokens" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['ABC',\n", + " 'BC',\n", + " 'AB',\n", + " 'AC',\n", + " '\\\\bigtriangleup',\n", + " 'ABC',\n", + " 'I',\n", + " 'II',\n", + " 'III',\n", + " 'I',\n", + " ',',\n", + " 'II',\n", + " ',',\n", + " 'III',\n", + " 'p',\n", + " '_',\n", + " '1',\n", + " ',',\n", + " 'p',\n", + " '_',\n", + " '2',\n", + " ',',\n", + " 'p',\n", + " '_',\n", + " '3']" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "- 自定义参数,得到定制化解析结果" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "(1)如果您想按 latex 语法标记拆分公式的各个部分,并得到顺序序列结果,输出方法(`method`)可以选择:`linear`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "sif4sci(\r\n", + " item[\"stem\"],\r\n", + " figures=figures,\r\n", + " tokenization=True,\r\n", + " tokenization_params={\r\n", + " \"formula_params\": {\r\n", + " \"method\": \"linear\",\r\n", + " }\r\n", + " }\r\n", + ").formula_tokens" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['ABC',\n", + " 'BC',\n", + " 'AB',\n", + " 'AC',\n", + " '\\\\bigtriangleup',\n", + " 'ABC',\n", + " 'I',\n", + " 'II',\n", + " 'III',\n", + " 'I',\n", + " ',',\n", + " 'II',\n", + " ',',\n", + " 'III',\n", + " 'p',\n", + " '_',\n", + " '1',\n", + " ',',\n", + " 'p',\n", + " '_',\n", + " '2',\n", + " ',',\n", + " 'p',\n", + " '_',\n", + " '3']" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "(2) 如果您想得到公式解析出的语法分析树序列,输出方法可以选择:`ast`\n", + "> 抽象语法分析树,简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。 \n", + "> 因此,ast 可以看做是公式的语法结构表征。" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "sif4sci(\r\n", + " item[\"stem\"],\r\n", + " figures=figures,\r\n", + " tokenization=True,\r\n", + " tokenization_params={\r\n", + " \"formula_params\":{\r\n", + " \"method\": \"ast\",\r\n", + " }\r\n", + " }\r\n", + ").formula_tokens\r\n" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "- 语法树展示:" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "f = sif4sci(\r\n", + " item[\"stem\"],\r\n", + " figures=figures,\r\n", + " tokenization=True,\r\n", + " tokenization_params={\r\n", + " \"formula_params\":{\r\n", + " \"method\": \"ast\",\r\n", + " \"return_type\": \"ast\",\r\n", + " \"ord2token\": True,\r\n", + " \"var_numbering\": True,\r\n", + " }\r\n", + " }\r\n", + ").formula_tokens\r\n", + "f\r\n" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "for i in range(0, len(f)):\r\n", + " ForestPlotter().export(\r\n", + " f[i], root_list=[node for node in f[i]],\r\n", + " )\r\n", + "# plt.show()\r\n" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "(3)如果您只是关心公式的结构和类型,并不关心变量具体是什么,比如二元二次方程 `x^2 + y = 1` ,它从公式结构和类型上来说,和 `w^2 + z = 1` 没有区别。 \n", + "此时,您可以设置如下参数:`ord2token = True`,将公式变量名转换成 token" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "sif4sci(\r\n", + " item[\"stem\"],\r\n", + " figures=figures,\r\n", + " tokenization=True,\r\n", + " tokenization_params={\r\n", + " \"formula_params\":{\r\n", + " \"method\": \"ast\",\r\n", + " \"return_type\": \"list\",\r\n", + " \"ord2token\": True,\r\n", + " }\r\n", + " }\r\n", + ").formula_tokens" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " '\\\\bigtriangleup',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " ',',\n", + " 'mathord',\n", + " 'mathord',\n", + " ',',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'mathord',\n", + " 'textord',\n", + " '\\\\supsub',\n", + " ',',\n", + " 'mathord',\n", + " 'textord',\n", + " '\\\\supsub',\n", + " ',',\n", + " 'mathord',\n", + " 'textord',\n", + " '\\\\supsub']" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "(4) 如果您除了 (3) 中提供的功能之外,还需要区分不同的变量。此时可以另外设置参数:`var_numbering=True`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "sif4sci(\r\n", + " item[\"stem\"],\r\n", + " figures=figures,\r\n", + " tokenization=True,\r\n", + " tokenization_params={\r\n", + " \"formula_params\":{\r\n", + " \"method\": \"ast\",\r\n", + " \"ord2token\": True,\r\n", + " \"return_type\": \"list\",\r\n", + " \"var_numbering\": True\r\n", + " }\r\n", + " }\r\n", + ").formula_tokens" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['mathord_0',\n", + " 'mathord_1',\n", + " 'mathord_2',\n", + " 'mathord_1',\n", + " 'mathord_2',\n", + " 'mathord_0',\n", + " 'mathord_1',\n", + " 'mathord_0',\n", + " 'mathord_2',\n", + " '\\\\bigtriangleup',\n", + " 'mathord_0',\n", + " 'mathord_1',\n", + " 'mathord_2',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " ',',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " ',',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_3',\n", + " 'mathord_4',\n", + " 'textord',\n", + " '\\\\supsub',\n", + " ',',\n", + " 'mathord_4',\n", + " 'textord',\n", + " '\\\\supsub',\n", + " ',',\n", + " 'mathord_4',\n", + " 'textord',\n", + " '\\\\supsub']" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "### 综合训练\r\n", + "\r\n", + "综合上述方法,将题目转换成令牌序列,为后续向量化做准备。" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "sif4sci(item[\"stem\"], figures=figures, tokenization=True,\r\n", + " symbol=\"fgm\")" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "['如图', '古希腊', '数学家', '希波', '克拉底', '研究', '几何图形', '此图', '三个', '半圆', '三个', '半圆', '直径', '直角三角形', '[FORMULA]', '斜边', '[FORMULA]', '直角', '[FORMULA]', '[FORMULA]', '[FORMULA]', '三边', '围成', '区域', '记', '[FORMULA]', '黑色', '记', '[FORMULA]', '其余部分', '记', '[FORMULA]', '图形', '中', '随机', '取', '一点', '此点', '取自', '[FORMULA]', '概率', '记', '[FORMULA]', '[MARK]', '[FIGURE]']" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "## Tokenizer" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "from EduNLP.Tokenizer import PureTextTokenizer, TextTokenizer, get_tokenizer" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "D:\\MySoftwares\\Anaconda\\envs\\data\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", + " warnings.warn(msg)\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### TextTokenizer" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "items = [{\r\n", + " \"stem\": \"已知集合$A=\\\\left\\\\{x \\\\mid x^{2}-3 x-4<0\\\\right\\\\}, \\\\quad B=\\\\{-4,1,3,5\\\\}, \\\\quad$ 则 $A \\\\cap B=$\",\r\n", + " \"options\": [\"1\", \"2\"]\r\n", + " }]\r\n", + "tokenizer = get_tokenizer(\"text\") # tokenizer = TextTokenizer()\r\n", + "tokens = tokenizer(items, key=lambda x: x[\"stem\"])\r\n", + "print(next(tokens))" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "['已知', '集合', 'A', '=', '\\\\left', '\\\\{', 'x', '\\\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', '0', '\\\\right', '\\\\}', ',', '\\\\quad', 'B', '=', '\\\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\\\}', ',', '\\\\quad', 'A', '\\\\cap', 'B', '=']\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "items = [\"有公式$\\\\FormFigureID{wrong1?}$,如图$\\\\FigureID{088f15ea-xxx}$,若$x,y$满足约束条件公式$\\\\FormFigureBase64{wrong2?}$,$\\\\SIFSep$,则$z=x+7 y$的最大值为$\\\\SIFBlank$\"]" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "\r\n", + "tokenizer = get_tokenizer(\"text\") # tokenizer = TextTokenizer()\r\n", + "tokens = [t for t in tokenizer(items)]\r\n", + "tokens" + ], + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "[['公式',\n", + " '[FORMULA]',\n", + " '如图',\n", + " '[FIGURE]',\n", + " 'x',\n", + " ',',\n", + " 'y',\n", + " '约束条件',\n", + " '公式',\n", + " '[FORMULA]',\n", + " '[SEP]',\n", + " 'z',\n", + " '=',\n", + " 'x',\n", + " '+',\n", + " '7',\n", + " 'y',\n", + " '最大值',\n", + " '[MARK]']]" + ] + }, + "metadata": {} + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### PureTextTokenizer" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [ + "tokenizer = get_tokenizer(\"pure_text\") # tokenizer = PureTextTokenizer()\r\n", + "tokens = [t for t in tokenizer(items)]\r\n", + "tokens" + ], + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "[['公式',\n", + " '如图',\n", + " '[FIGURE]',\n", + " 'x',\n", + " ',',\n", + " 'y',\n", + " '约束条件',\n", + " '公式',\n", + " '[SEP]',\n", + " 'z',\n", + " '=',\n", + " 'x',\n", + " '+',\n", + " '7',\n", + " 'y',\n", + " '最大值',\n", + " '[MARK]']]" + ] + }, + "metadata": {} + } + ], + "metadata": {} } ], "metadata": { diff --git a/examples/tokenizer/tokenizer2.ipynb b/examples/tokenizer/tokenizer2.ipynb new file mode 100644 index 00000000..4819b00d --- /dev/null +++ b/examples/tokenizer/tokenizer2.ipynb @@ -0,0 +1,501 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Tokenizer\n", + "\n", + "## 概述\n", + "\n", + "为了方便后续向量化表征试题,本模块提供题目文本的令牌化解析(Tokenization),即将题目转换成令牌序列。 \n", + "\n", + "根据构成题目的元素类型,解析功能分为 **“文本解析”** 和 **“公式解析”** 两部分。\n", + "\n", + "### 文本解析\n", + "\n", + "根据题目文本切分粒度的大小,文本解析又分为 **“句解析”** 和 **“词解析”**。\n", + "\n", + "(1) 句解析(sentence-tokenization):将较长的文档切分成若干句子的过程称为“分句”。每个句子为一个“令牌”(token)。(待实现) \n", + " \n", + "\n", + "(2) 词解析(text-tokenization):一个句子(不含公式)是由若干“词”按顺序构成的,将一个句子切分为若干词的过程称为“词解析”。根据词的粒度大小,又可细分为“词组解析”和\"单字解析\"。\n", + "- 词组解析 (word-tokenization):每一个词组为一个“令牌”(token)。\n", + "- 单字解析 (char-tokenization):单个字符即为一个“令牌”(token)。\n", + "\n", + "### 公式解析\n", + "\n", + "公式解析(formula-tokenization):理科类文本中常常含有公式。将一个符合 latex 语法的公式切分为标记字符列表的过程称为“公式解析”。每个标记字符为一个“令牌”(token)。 \n", + " " + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 文本解析" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### 句解析\n", + "\n", + "待实现..." + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### 词解析\n", + "\n", + "词解析分为两个主要步骤: \n", + "\n", + "(1) 分词: \n", + "- 词组解析:使用分词工具切分并提取题目文本中的词。 \n", + " 本项目目前支持的分词工具有:`jieba` \n", + "- 单字解析:按字符划分。\n", + " \n", + " \n", + "(2) 筛选:过滤指定的停用词。 \n", + "- 本项目默认使用的停用词表:[stopwords](https://github.com/bigdata-ustc/EduNLP/blob/master/EduNLP/meta_data/sif_stopwords.txt) \n", + "- 你也可以使用自己的停用词表,具体使用方法见下面的示例。\n" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 1, + "source": [ + "# 导入模块\n", + "from EduNLP.SIF.tokenization.text import tokenize " + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 2, + "source": [ + "# 输入\n", + "text = \"三角函数是基本初等函数之一\"" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "#### 词组解析\n", + "\n", + "分词粒度参数选择 word: `granularity = \"word\"` " + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 3, + "source": [ + "# 输出:默认使用 EduNLP 项目提供的停用词表\n", + "tokenize(text, granularity=\"word\")" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['三角函数', '初等', '函数']" + ] + }, + "metadata": {}, + "execution_count": 3 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "#### 单字解析\n", + "\n", + "分词粒度参数选择 word: `granularity = \"char\"` " + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 4, + "source": [ + "# 输出:默认使用 EduNLP 项目提供的停用词表\n", + "tokenize(text, granularity=\"char\")" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['三', '角', '函', '数', '基', '初', '函', '数']" + ] + }, + "metadata": {}, + "execution_count": 4 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "#### 停用词表" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 5, + "source": [ + "# 获取自己的停用词表\n", + "spath = \"test_stopwords.txt\"\n", + "from EduNLP.SIF.tokenization.text.stopwords import get_stopwords\n", + "stopwords = get_stopwords(spath)\n", + "stopwords" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "{'一旦', '一时', '一来', '一样', '一次', '一片', '一番', '一直', '一致'}" + ] + }, + "metadata": {}, + "execution_count": 5 + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 6, + "source": [ + "# 输出:传入停用词表(stopwords)\n", + "tokenize(text,granularity=\"word\",stopwords=stopwords)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['三角函数', '是', '基本', '初等', '函数', '之一']" + ] + }, + "metadata": {}, + "execution_count": 6 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 公式解析\n", + "切分出 latex 公式的每个标记符号。针对本模块更加详细的解释参见 [formula](../formula/formula.ipynb)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 7, + "source": [ + "# 导入模块\n", + "from EduNLP.SIF.tokenization.formula import tokenize" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 输入" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 8, + "source": [ + "formula = \"\\\\frac{\\\\pi}{x + y} + 1 = x\"" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 输出" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "(1)如果您想按 latex 语法标记拆分公式的各个部分,并得到顺序序列结果,输出方法可以选择:`linear`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 9, + "source": [ + "tokenize(formula, method=\"linear\")" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['\\\\frac', '{', '\\\\pi', '}', '{', 'x', '+', 'y', '}', '+', '1', '=', 'x']" + ] + }, + "metadata": {}, + "execution_count": 9 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "(2) 如果您想得到公式解析出的语法分析树序列,输出方法可以选择:`ast`\n", + "> 抽象语法分析树,简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。 \n", + "> 因此,ast 可以看做是公式的语法结构表征。" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 10, + "source": [ + "tokenize(formula, method=\"ast\", return_type=\"list\", ord2token=False)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['\\\\pi', '{ }', 'x', '+', 'y', '{ }', '\\\\frac', '+', '1', '=', 'x']" + ] + }, + "metadata": {}, + "execution_count": 10 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "(3)如果您只是关心公式的结构和类型,并不关心变量具体是什么,比如二元二次方程 `x^2 + y = 1` ,它从公式结构和类型上来说,和 `w^2 + z = 1` 没有区别。 \n", + "此时,您可以设置如下参数:`ord2token = True`,将公式变量名转换成 token" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 11, + "source": [ + "# 输出形式选择抽象语法分析树(ast)且将公式变量名转换成 token\n", + "tokenize(formula, method=\"ast\", return_type=\"list\", ord2token=True)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['mathord',\n", + " '{ }',\n", + " 'mathord',\n", + " '+',\n", + " 'mathord',\n", + " '{ }',\n", + " '\\\\frac',\n", + " '+',\n", + " 'textord',\n", + " '=',\n", + " 'mathord']" + ] + }, + "metadata": {}, + "execution_count": 11 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "(4) 如果您除了 (3) 中提供的功能之外,还需要区分不同的变量。此时可以另外设置参数:`var_numbering=True`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 12, + "source": [ + "# 输出形式选择抽象语法分析树(ast)且将公式变量名转换成带编号的 token\n", + "tokenize(formula, method=\"ast\", return_type=\"list\", ord2token=True, var_numbering=True)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['mathord_con',\n", + " '{ }',\n", + " 'mathord_0',\n", + " '+',\n", + " 'mathord_1',\n", + " '{ }',\n", + " '\\\\frac',\n", + " '+',\n", + " 'textord',\n", + " '=',\n", + " 'mathord_0']" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 综合解析\n", + "\n", + "综合解析,即综合以上两种解析方式(标记解析 + 公式解析),提供对题目文本的全解析。另外,如遇到特殊符号将转换成常量,例如:\n", + "```python\n", + "FIGURE_SYMBOL = \"[FIGURE]\" # $\\SIFChoice$\n", + "QUES_MARK_SYMBOL = \"[MARK]\" # $\\FigureID{1}$\n", + "```\n" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 39, + "source": [ + "# 导入模块\n", + "from EduNLP.Tokenizer import get_tokenizer\n", + "\n", + "# 输入\n", + "item = {\n", + " \"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\"\n", + "}\n", + "\n", + "# 输出\n", + "tokenizer = get_tokenizer(\"text\")\n", + "tokens = tokenizer(item)\n", + "next(tokens) " + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['如图',\n", + " '古希腊',\n", + " '数学家',\n", + " '希波',\n", + " '克拉底',\n", + " '研究',\n", + " '几何图形',\n", + " '此图',\n", + " '三个',\n", + " '半圆',\n", + " '三个',\n", + " '半圆',\n", + " '直径',\n", + " '直角三角形',\n", + " 'ABC',\n", + " '斜边',\n", + " 'BC',\n", + " '直角',\n", + " 'AB',\n", + " 'AC',\n", + " '\\x08',\n", + " 'igtriangleupABC',\n", + " '三边',\n", + " '围成',\n", + " '区域',\n", + " '记',\n", + " 'I',\n", + " '黑色',\n", + " '记',\n", + " 'II',\n", + " '其余部分',\n", + " '记',\n", + " 'III',\n", + " '图形',\n", + " '中',\n", + " '随机',\n", + " '取',\n", + " '一点',\n", + " '此点',\n", + " '取自',\n", + " 'I',\n", + " ',',\n", + " 'II',\n", + " ',',\n", + " 'III',\n", + " '概率',\n", + " '记',\n", + " 'p',\n", + " '_',\n", + " '1',\n", + " ',',\n", + " 'p',\n", + " '_',\n", + " '2',\n", + " ',',\n", + " 'p',\n", + " '_',\n", + " '3',\n", + " '[MARK]',\n", + " '[FIGURE]']" + ] + }, + "metadata": {}, + "execution_count": 39 + } + ], + "metadata": {} + } + ], + "metadata": { + "orig_nbformat": 4, + "language_info": { + "name": "python", + "version": "3.8.5", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.8.5 64-bit" + }, + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/examples/tokenizer/tokenizier.ipynb b/examples/tokenizer/tokenizier.ipynb index 8dcec093..1f52994d 100644 --- a/examples/tokenizer/tokenizier.ipynb +++ b/examples/tokenizer/tokenizier.ipynb @@ -3,82 +3,76 @@ { "cell_type": "code", "execution_count": 1, - "source": [ - "from EduNLP.Tokenizer import PureTextTokenizer, TextTokenizer, get_tokenizer" - ], + "metadata": {}, "outputs": [ { - "output_type": "stream", "name": "stderr", + "output_type": "stream", "text": [ "D:\\MySoftwares\\Anaconda\\envs\\data\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", " warnings.warn(msg)\n" ] } ], - "metadata": {} + "source": [ + "from EduNLP.Tokenizer import PureTextTokenizer, TextTokenizer, get_tokenizer" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "# TextTokenizer and PureTextTokenizer\r\n", - "\r\n", - "- ‘text’ Tokenizer ignores and skips the FormulaFigures and tokenize latex Formulas as Text\r\n", + "# TextTokenizer and PureTextTokenizer\n", + "\n", + "- ‘text’ Tokenizer ignores and skips the FormulaFigures and tokenize latex Formulas as Text\n", "- ‘pure_text’ Tokenizer symbolizes the FormulaFigures as [FUMULA] and tokenize latex Formulas as Text" - ], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## TextTokenizer" - ], - "metadata": {} + ] }, { "cell_type": "code", "execution_count": 2, - "source": [ - "items = [{\r\n", - " \"stem\": \"已知集合$A=\\\\left\\\\{x \\\\mid x^{2}-3 x-4<0\\\\right\\\\}, \\\\quad B=\\\\{-4,1,3,5\\\\}, \\\\quad$ 则 $A \\\\cap B=$\",\r\n", - " \"options\": [\"1\", \"2\"]\r\n", - " }]\r\n", - "tokenizer = get_tokenizer(\"text\") # tokenizer = TextTokenizer()\r\n", - "tokens = tokenizer(items, key=lambda x: x[\"stem\"])\r\n", - "print(next(tokens))" - ], + "metadata": {}, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "['已知', '集合', 'A', '=', '\\\\left', '\\\\{', 'x', '\\\\mid', 'x', '^', '{', '2', '}', '-', '3', 'x', '-', '4', '<', '0', '\\\\right', '\\\\}', ',', '\\\\quad', 'B', '=', '\\\\{', '-', '4', ',', '1', ',', '3', ',', '5', '\\\\}', ',', '\\\\quad', 'A', '\\\\cap', 'B', '=']\n" ] } ], - "metadata": {} + "source": [ + "items = [{\n", + " \"stem\": \"已知集合$A=\\\\left\\\\{x \\\\mid x^{2}-3 x-4<0\\\\right\\\\}, \\\\quad B=\\\\{-4,1,3,5\\\\}, \\\\quad$ 则 $A \\\\cap B=$\",\n", + " \"options\": [\"1\", \"2\"]\n", + " }]\n", + "tokenizer = get_tokenizer(\"text\") # tokenizer = TextTokenizer()\n", + "tokens = tokenizer(items, key=lambda x: x[\"stem\"])\n", + "print(next(tokens))" + ] }, { "cell_type": "code", "execution_count": 3, + "metadata": {}, + "outputs": [], "source": [ "items = [\"有公式$\\\\FormFigureID{wrong1?}$,如图$\\\\FigureID{088f15ea-xxx}$,若$x,y$满足约束条件公式$\\\\FormFigureBase64{wrong2?}$,$\\\\SIFSep$,则$z=x+7 y$的最大值为$\\\\SIFBlank$\"]" - ], - "outputs": [], - "metadata": {} + ] }, { "cell_type": "code", "execution_count": 4, - "source": [ - "\r\n", - "tokenizer = get_tokenizer(\"text\") # tokenizer = TextTokenizer()\r\n", - "tokens = [t for t in tokenizer(items)]\r\n", - "tokens" - ], + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['公式',\n", @@ -102,30 +96,31 @@ " '[MARK]']]" ] }, + "execution_count": 4, "metadata": {}, - "execution_count": 4 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "\n", + "tokenizer = get_tokenizer(\"text\") # tokenizer = TextTokenizer()\n", + "tokens = [t for t in tokenizer(items)]\n", + "tokens" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## PureTextTokenizer" - ], - "metadata": {} + ] }, { "cell_type": "code", "execution_count": 5, - "source": [ - "tokenizer = get_tokenizer(\"pure_text\") # tokenizer = PureTextTokenizer()\r\n", - "tokens = [t for t in tokenizer(items)]\r\n", - "tokens" - ], + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { "text/plain": [ "[['公式',\n", @@ -147,17 +142,25 @@ " '[MARK]']]" ] }, + "execution_count": 5, "metadata": {}, - "execution_count": 5 + "output_type": "execute_result" } ], - "metadata": {} + "source": [ + "tokenizer = get_tokenizer(\"pure_text\") # tokenizer = PureTextTokenizer()\n", + "tokens = [t for t in tokenizer(items)]\n", + "tokens" + ] } ], "metadata": { + "interpreter": { + "hash": "776957673adb719a00031a24ed5efd2fa5ce8a13405e5193f8d278edd3805d55" + }, "kernelspec": { - "name": "python3", - "display_name": "Python 3.6.13 64-bit ('data': conda)" + "display_name": "Python 3.6.13 64-bit ('data': conda)", + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -170,11 +173,8 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.13" - }, - "interpreter": { - "hash": "776957673adb719a00031a24ed5efd2fa5ce8a13405e5193f8d278edd3805d55" } }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/examples/utils/data.ipynb b/examples/utils/data.ipynb index 8009e8d5..ded161cf 100644 --- a/examples/utils/data.ipynb +++ b/examples/utils/data.ipynb @@ -7,6 +7,13 @@ ], "metadata": {} }, + { + "cell_type": "markdown", + "source": [ + "## 导入模块" + ], + "metadata": {} + }, { "cell_type": "code", "execution_count": 1, @@ -18,21 +25,28 @@ "output_type": "stream", "name": "stderr", "text": [ - "/home/lvrui/.local/lib/python3.8/site-packages/gensim/similarities/__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", - " warnings.warn(msg)\n" + "/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!\n", + " warnings.warn(\"urllib3 ({}) or chardet ({}) doesn't match a supported \"\n" ] } ], "metadata": {} }, + { + "cell_type": "markdown", + "source": [ + "## 测试数据" + ], + "metadata": {} + }, { "cell_type": "code", "execution_count": 3, "source": [ - "item = {\r\n", - " \"stem\": r\"若复数$z=1+2 i+i^{3}$,则$|z|=$\",\r\n", - " \"options\": ['0', '1', r'$\\sqrt{2}$', '2'],\r\n", - " }\r\n", + "item = {\n", + " \"stem\": r\"若复数$z=1+2 i+i^{3}$,则$|z|=$\",\n", + " \"options\": ['0', '1', r'$\\sqrt{2}$', '2'],\n", + " }\n", "item" ], "outputs": [ @@ -50,23 +64,40 @@ ], "metadata": {} }, + { + "cell_type": "markdown", + "source": [ + "## 区分题目成分" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 通过添加特殊关键词的方式,区分题目的题干和选项,选项之间按顺序做编号标记。" + ], + "metadata": {} + }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 15, "source": [ - "# 给题目各个部分加标签\r\n", - "dict2str4sif(item)" + "dict2str4sif(item,key_as_tag=True,\n", + " add_list_no_tag=False,\n", + " # keys=[\"options\"],\n", + " tag_mode=\"head\"\n", + " )\n" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "'$\\\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\\\SIFTag{stem_end}$$\\\\SIFTag{options_begin}$$\\\\SIFTag{list_0}$0$\\\\SIFTag{list_1}$1$\\\\SIFTag{list_2}$$\\\\sqrt{2}$$\\\\SIFTag{list_3}$2$\\\\SIFTag{options_end}$'" + "'$\\\\SIFTag{stem}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\\\SIFTag{options}$0$\\\\SIFSep$1$\\\\SIFSep$$\\\\sqrt{2}$$\\\\SIFSep$2'" ] }, "metadata": {}, - "execution_count": 4 + "execution_count": 15 } ], "metadata": {} @@ -93,60 +124,60 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "source": [ - "dict2str4sif(item, tag_mode=\"head\")" + "dict2str4sif(item, add_list_no_tag=False)" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "'$\\\\SIFTag{stem}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\\\SIFTag{options}$$\\\\SIFTag{list_0}$0$\\\\SIFTag{list_1}$1$\\\\SIFTag{list_2}$$\\\\sqrt{2}$$\\\\SIFTag{list_3}$2'" + "'$\\\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\\\SIFTag{stem_end}$$\\\\SIFTag{options_begin}$0$\\\\SIFSep$1$\\\\SIFSep$$\\\\sqrt{2}$$\\\\SIFSep$2$\\\\SIFTag{options_end}$'" ] }, "metadata": {}, - "execution_count": 7 + "execution_count": 6 } ], "metadata": {} }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "source": [ - "dict2str4sif(item, tag_mode=\"tail\")" + "dict2str4sif(item, tag_mode=\"head\")" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "'若复数$z=1+2 i+i^{3}$,则$|z|=$$\\\\SIFTag{stem}$$\\\\SIFTag{list_0}$0$\\\\SIFTag{list_1}$1$\\\\SIFTag{list_2}$$\\\\sqrt{2}$$\\\\SIFTag{list_3}$2$\\\\SIFTag{options}$'" + "'$\\\\SIFTag{stem}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\\\SIFTag{options}$$\\\\SIFTag{list_0}$0$\\\\SIFTag{list_1}$1$\\\\SIFTag{list_2}$$\\\\sqrt{2}$$\\\\SIFTag{list_3}$2'" ] }, "metadata": {}, - "execution_count": 9 + "execution_count": 7 } ], "metadata": {} }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "source": [ - "dict2str4sif(item, add_list_no_tag=False)" + "dict2str4sif(item, tag_mode=\"tail\")" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "'$\\\\SIFTag{stem_begin}$若复数$z=1+2 i+i^{3}$,则$|z|=$$\\\\SIFTag{stem_end}$$\\\\SIFTag{options_begin}$0$\\\\SIFSep$1$\\\\SIFSep$$\\\\sqrt{2}$$\\\\SIFSep$2$\\\\SIFTag{options_end}$'" + "'若复数$z=1+2 i+i^{3}$,则$|z|=$$\\\\SIFTag{stem}$$\\\\SIFTag{list_0}$0$\\\\SIFTag{list_1}$1$\\\\SIFTag{list_2}$$\\\\sqrt{2}$$\\\\SIFTag{list_3}$2$\\\\SIFTag{options}$'" ] }, "metadata": {}, - "execution_count": 10 + "execution_count": 9 } ], "metadata": {} diff --git a/examples/vectorization/i2v.ipynb b/examples/vectorization/i2v.ipynb index 3122fbce..f38ae4fe 100644 --- a/examples/vectorization/i2v.ipynb +++ b/examples/vectorization/i2v.ipynb @@ -1,192 +1,8856 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "source": [ - "# I2V\n", - "\n", - "## 概述\n", - "\n", - "使用自己提供的任一预训练模型(给出模型存放路径即可)将给定的题目文本转成向量。\n", - "\n", - "- 优点:可以使用自己的模型,另可调整训练参数,灵活性强。" - ], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [ - "## 导入类" - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 1, - "source": [ - "from EduNLP.I2V import D2V" - ], - "outputs": [], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [ - "## 输入\n", - "\n", - "类型:str \n", - "内容:题目文本 (text)" - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 37, - "source": [ - "item = {\n", - "\"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\"\n", - "}" - ], - "outputs": [], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [ - "## 输出" - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 34, - "source": [ - "model_path = \"../test_model/test_gensim_luna_stem_tf_d2v_256.bin\"\n", - "i2v = D2V(\"text\",\"d2v\",filepath=model_path, pretrained_t2v = False)\n", - "i2v " - ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": {}, - "execution_count": 34 - } - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 35, - "source": [ - "i2v(item)" - ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "([array([ 4.76559885e-02, -1.60574958e-01, 1.94614579e-03, 2.40295693e-01,\n", - " 2.24517003e-01, -3.24351490e-02, 4.35789041e-02, -1.65670961e-02,\n", - " -7.77302235e-02, 4.23757173e-02, 4.62658405e-02, 7.54115507e-02,\n", - " -4.54682261e-02, -1.82153687e-01, 5.55203669e-02, 4.23391759e-02,\n", - " 8.86691213e-02, 6.97413310e-02, -2.47167766e-01, 2.54209518e-01,\n", - " -3.76413465e-02, 3.58376503e-02, -1.39907554e-01, -8.55517760e-02,\n", - " -1.62535697e-01, -4.44540828e-02, -3.99694731e-03, 1.83905549e-02,\n", - " -8.03738683e-02, -9.05910060e-02, 1.45633578e-01, 9.63102728e-02,\n", - " -7.19666481e-02, -8.49684048e-03, -1.51718438e-01, -1.46381939e-02,\n", - " 8.34727809e-02, -7.11122975e-02, 1.66607365e-01, -1.14558250e-01,\n", - " -1.72963589e-01, 4.86062802e-02, -1.63086802e-02, -3.68945636e-02,\n", - " 2.46143237e-01, 5.40899672e-03, 5.04904091e-02, 1.16586924e-01,\n", - " 7.59096816e-02, 1.20751150e-02, 1.04407202e-02, 3.19544263e-02,\n", - " -6.02783300e-02, 1.18572332e-01, -2.19343737e-01, 2.67594811e-02,\n", - " 1.01860933e-01, -2.87170410e-02, 5.16606905e-02, 1.62313670e-01,\n", - " -5.12879491e-02, -1.62193626e-02, -6.77167401e-02, 1.67254247e-02,\n", - " 1.10977821e-01, 8.02466944e-02, -2.00764649e-02, 1.28788516e-01,\n", - " -7.20706284e-02, -6.22547232e-02, 1.06899485e-01, 4.60059335e-03,\n", - " -1.99650228e-01, -1.38489634e-01, 7.20307231e-02, -4.98757213e-02,\n", - " -1.94095057e-02, -5.85906627e-03, 1.47433639e-01, 4.68258560e-02,\n", - " 9.31144804e-02, -4.59938832e-02, 3.38427201e-02, 4.83937971e-02,\n", - " -1.27312467e-01, 2.01561809e-01, 1.10482745e-01, -1.70595810e-01,\n", - " -9.55015421e-02, -7.73611516e-02, 4.43056040e-02, -1.65684260e-02,\n", - " 1.65379923e-02, -1.26138464e-01, 8.31304193e-02, 2.06687212e-01,\n", - " -1.69529378e-01, 3.43789416e-03, 1.19198427e-01, -1.38129979e-01,\n", - " -1.87937781e-01, -8.27087983e-02, -1.76488962e-02, 8.51018950e-02,\n", - " 8.15693215e-02, 2.30262652e-02, 1.05074964e-01, 3.13350782e-02,\n", - " 1.53877333e-01, 1.01772640e-02, 9.17675197e-02, -1.32400826e-01,\n", - " 5.29836975e-02, 2.52282787e-02, -6.19753152e-02, -5.56256585e-02,\n", - " 3.87686864e-02, 4.30755690e-02, 7.57815093e-02, 2.63280701e-02,\n", - " 4.59217802e-02, -1.17288530e-01, 1.76368475e-01, 9.27482091e-04,\n", - " 2.64808517e-02, 9.73805785e-03, 1.90501258e-01, 1.02596413e-02,\n", - " -5.55249080e-02, -1.17555618e-01, -9.98716354e-02, 1.28057361e-01,\n", - " -4.52451073e-02, 7.51599446e-02, -3.01250312e-02, 6.24186322e-02,\n", - " 5.77449016e-02, 2.07213312e-02, -2.53734970e-03, -1.69801563e-01,\n", - " -2.28750743e-02, -2.55512260e-02, 1.70693725e-01, 2.35232189e-01,\n", - " -2.71384805e-01, -1.84327438e-01, 4.16823551e-02, 8.70332569e-02,\n", - " 1.82847306e-01, 2.76729286e-01, -4.31840494e-02, -1.38212308e-01,\n", - " -3.26297544e-02, -4.25132550e-02, -1.62892416e-01, 1.91870285e-03,\n", - " 1.52552709e-01, -1.01523520e-02, -9.16219354e-02, -5.46490997e-02,\n", - " 6.06994517e-02, -6.42470419e-02, 7.96310753e-02, -5.70830703e-02,\n", - " -8.82780831e-03, -3.94574478e-02, 9.63162258e-02, 1.54309124e-01,\n", - " 1.81100428e-01, 8.63620341e-02, 1.56518817e-02, -4.08006124e-02,\n", - " 5.20652272e-02, 8.38029310e-02, -1.55516326e-01, 3.57730500e-03,\n", - " -1.50946556e-02, 2.84812655e-02, 1.37905419e-01, 8.77659023e-02,\n", - " 8.23542774e-02, -1.04377635e-01, 4.80731949e-03, 1.18891411e-02,\n", - " 9.32120830e-02, 7.88019150e-02, -1.44494563e-01, -7.53350407e-02,\n", - " -1.13602541e-01, 5.43805361e-02, 1.64935380e-01, -2.00515296e-02,\n", - " 1.92917317e-01, -4.35359031e-02, 8.92477036e-02, -4.37481068e-02,\n", - " 4.01461311e-02, -2.59898454e-01, -1.11872263e-01, -1.25746787e-01,\n", - " -2.34577611e-01, -6.69524372e-02, 5.55978045e-02, -1.91931397e-01,\n", - " 5.87355606e-02, 1.01886272e-01, -2.64038593e-01, -2.05450356e-02,\n", - " -1.97510555e-01, 9.13371146e-02, 1.49546817e-01, -3.91026959e-02,\n", - " 5.94646595e-02, 1.29657034e-02, -3.72891256e-04, 5.56622408e-02,\n", - " 1.61776438e-01, 2.29037628e-02, -1.94774106e-01, -5.02247922e-02,\n", - " -5.45939505e-02, 5.31783216e-02, 1.26433298e-01, -1.23263724e-01,\n", - " 8.53074417e-02, -1.41412809e-01, -7.71067888e-02, 1.21865064e-01,\n", - " 4.73318882e-02, 7.20091909e-02, -9.83269960e-02, 1.99413914e-02,\n", - " -1.88907124e-02, -2.14710683e-02, -4.93260436e-02, 1.64937660e-01,\n", - " -1.07827298e-01, -7.75848776e-02, -6.23578345e-03, -1.05760902e-01,\n", - " -4.14819457e-02, 5.95730543e-02, 4.11023498e-02, -2.18305327e-02,\n", - " -2.30057724e-02, -3.34391668e-02, 1.30382255e-01, 5.10290638e-02,\n", - " -1.21569566e-01, -1.23630039e-01, -1.83883369e-01, 1.10945016e-01,\n", - " -1.05633408e-01, -8.24846700e-02, -3.76710802e-01, -4.50239740e-02],\n", - " dtype=float32)],\n", - " None)" - ] - }, - "metadata": {}, - "execution_count": 35 - } - ], - "metadata": {} - } - ], - "metadata": { - "orig_nbformat": 4, - "language_info": { - "name": "python", - "version": "3.8.5", - "mimetype": "text/x-python", - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "pygments_lexer": "ipython3", - "nbconvert_exporter": "python", - "file_extension": ".py" - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3.8.5 64-bit" - }, - "interpreter": { - "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# I2V\r\n", + "\r\n", + "## 概述\r\n", + "\r\n", + "使用自己提供的任一预训练模型(给出模型存放路径即可)将给定的题目文本转成向量。\r\n", + "\r\n", + "- 优点:可以使用自己的模型,另可调整训练参数,灵活性强。" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# D2V" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 导入类" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 9, + "source": [ + "from EduNLP.I2V import D2V" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 输入\r\n", + "\r\n", + "类型:str \r\n", + "内容:题目文本 (text)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 10, + "source": [ + "items = [\r\n", + "r\"1如图几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\",\r\n", + "r\"2如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\"\r\n", + "]" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 输出" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 11, + "source": [ + "model_path = \"../../data/d2v/test_d2v_256.bin\"\r\n", + "i2v = D2V(\"pure_text\",\"d2v\",filepath=model_path, pretrained_t2v = False)\r\n", + "\r\n", + "item_vectors, token_vectors = i2v(items)\r\n", + "print(item_vectors, token_vectors)\r\n", + "print(len(item_vectors), item_vectors[0].shape) # For d2v, token_vector is None" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[array([ 0.10634826, -0.10273553, -0.04942605, 0.15323296, 0.25780037,\n", + " -0.06630539, -0.02834828, 0.0065832 , -0.07495898, 0.06529831,\n", + " 0.07989643, 0.14697047, -0.06513839, -0.23898382, 0.04266138,\n", + " 0.15211952, 0.17704317, 0.02768603, -0.1854407 , 0.21742067,\n", + " 0.00984387, 0.06774732, -0.02058181, -0.13266353, -0.20851782,\n", + " 0.00558438, 0.00460878, -0.05139542, -0.06485009, -0.04847892,\n", + " 0.09366203, 0.13947366, -0.07552954, 0.05977268, -0.09442269,\n", + " 0.12721013, 0.13273577, -0.02567345, 0.09778284, -0.08030444,\n", + " -0.05697263, -0.02538129, -0.04187621, -0.03123644, 0.11242954,\n", + " -0.00650479, 0.06117244, 0.06449873, 0.05163544, 0.01810673,\n", + " 0.03808153, 0.03746097, 0.1275719 , 0.07381074, -0.14620851,\n", + " 0.05757713, 0.02838781, -0.12927914, 0.07510903, 0.08147711,\n", + " -0.06523656, -0.01486957, 0.02304654, 0.04361376, 0.21421443,\n", + " -0.02614699, -0.03873423, 0.21355043, -0.09329057, -0.09335907,\n", + " 0.08157952, 0.00625934, -0.05051626, -0.07981606, -0.03226125,\n", + " 0.08958097, -0.04725425, -0.06789905, 0.06730124, 0.06633109,\n", + " -0.07370041, -0.13176298, -0.01786646, 0.11614659, -0.04729063,\n", + " 0.06670643, 0.12553535, -0.1768527 , -0.09982615, -0.07682986,\n", + " 0.06889272, -0.04036296, 0.03164692, -0.1446157 , 0.03707608,\n", + " 0.13580611, -0.07748953, -0.02646814, -0.01086655, -0.09684405,\n", + " -0.15440914, -0.1067182 , 0.0349819 , 0.10395218, -0.00877615,\n", + " 0.05640977, -0.01675119, 0.03014355, 0.12512377, 0.01414524,\n", + " 0.0211464 , -0.06591589, 0.08297148, 0.07012929, -0.10675234,\n", + " -0.04061191, 0.01302199, 0.11621079, 0.00885058, -0.0304758 ,\n", + " -0.01553952, -0.12865704, 0.17576885, -0.02950172, -0.01326492,\n", + " 0.01504841, 0.09476334, -0.03984889, 0.00763261, -0.01630022,\n", + " -0.03672133, 0.01365909, 0.05986133, -0.10593513, -0.08282372,\n", + " -0.08374579, -0.04833878, 0.0489895 , 0.00875692, -0.03651298,\n", + " -0.01757672, -0.01623743, 0.23217827, 0.15424854, -0.26954046,\n", + " -0.04381514, 0.03540273, 0.06735364, 0.09081568, 0.07033931,\n", + " -0.14287043, -0.1028204 , -0.04575491, -0.01768357, -0.08948888,\n", + " 0.07118583, 0.1542743 , 0.09116074, -0.08839961, 0.01807798,\n", + " 0.12579061, -0.03509037, 0.08215491, -0.06514787, 0.00351805,\n", + " 0.04778312, 0.04185999, 0.08844823, 0.10574003, -0.01214823,\n", + " 0.04865406, -0.03167628, 0.02753052, 0.05206006, -0.15243334,\n", + " -0.02005264, -0.00607761, -0.01364831, 0.10955886, -0.0010281 ,\n", + " 0.11600163, -0.04597978, 0.0601487 , -0.05470827, 0.11942582,\n", + " 0.00830158, -0.13237426, -0.15353964, -0.07234719, 0.04098862,\n", + " 0.15481706, 0.01778992, 0.14323051, 0.09922674, 0.12223933,\n", + " 0.0526598 , 0.0408572 , -0.13533838, 0.02140845, -0.1030432 ,\n", + " -0.17960373, -0.0495283 , 0.14249511, 0.0465369 , -0.04416716,\n", + " 0.11465154, -0.2066736 , -0.02712584, -0.06553549, 0.0557267 ,\n", + " 0.04696037, -0.02916378, 0.07578196, 0.00608585, 0.00944843,\n", + " 0.02514744, 0.16452865, 0.0508883 , -0.15239422, -0.01861594,\n", + " -0.1283559 , 0.06792712, 0.0826408 , -0.05190438, 0.03456785,\n", + " -0.00661102, 0.00788855, 0.02678101, -0.02560065, -0.00632013,\n", + " -0.193216 , -0.1322564 , -0.03174976, -0.04030088, 0.01397508,\n", + " 0.07423516, 0.04445267, 0.0541687 , 0.083343 , -0.15150657,\n", + " 0.00937343, 0.05487543, 0.02184621, -0.00872194, -0.00329627,\n", + " -0.05453907, 0.05444683, -0.02034983, -0.0742873 , -0.01699653,\n", + " -0.16100745, 0.10637001, -0.12436336, -0.03511102, -0.20044689,\n", + " -0.02411474], dtype=float32), array([ 1.36041582e-01, -1.08781166e-01, -5.83929941e-02, 1.91058487e-01,\n", + " 3.24488580e-01, -6.02278523e-02, -4.59153317e-02, -2.24303032e-04,\n", + " -8.76015052e-02, 8.96644667e-02, 1.04697935e-01, 1.83520690e-01,\n", + " -7.28873909e-02, -3.05169255e-01, 4.17109728e-02, 1.82436183e-01,\n", + " 2.26057917e-01, 2.32112277e-02, -2.30914488e-01, 2.76603520e-01,\n", + " -4.85374872e-03, 7.58373216e-02, -2.29087640e-02, -1.79299608e-01,\n", + " -2.54585207e-01, 1.64706651e-02, 7.45610800e-03, -7.51212165e-02,\n", + " -7.42579326e-02, -4.80351038e-02, 1.25985965e-01, 1.73480287e-01,\n", + " -1.01882420e-01, 6.75791055e-02, -1.05399802e-01, 1.51736602e-01,\n", + " 1.63938925e-01, -3.84903289e-02, 1.10449508e-01, -9.40715224e-02,\n", + " -6.31079897e-02, -3.84142622e-02, -4.99494635e-02, -4.23108302e-02,\n", + " 1.55812502e-01, -1.16190566e-02, 5.13239168e-02, 6.35165498e-02,\n", + " 6.25813156e-02, 2.21146382e-02, 6.36933595e-02, 5.06636649e-02,\n", + " 1.47942111e-01, 9.66929942e-02, -1.76337466e-01, 7.13716373e-02,\n", + " 2.70809997e-02, -1.57342017e-01, 9.11386758e-02, 9.41570252e-02,\n", + " -9.42364857e-02, -5.13231056e-03, 1.36982789e-02, 5.77186793e-02,\n", + " 2.64365107e-01, -3.76182236e-02, -4.40398045e-02, 2.51175314e-01,\n", + " -1.05481505e-01, -1.20290719e-01, 9.69798341e-02, 1.16603952e-02,\n", + " -7.56024718e-02, -1.08631417e-01, -4.93911207e-02, 1.18807659e-01,\n", + " -5.85292391e-02, -8.24716613e-02, 7.88261220e-02, 8.72761682e-02,\n", + " -1.01744331e-01, -1.44680306e-01, -2.09336001e-02, 1.33469954e-01,\n", + " -3.82428057e-02, 7.42774233e-02, 1.48893908e-01, -2.09778398e-01,\n", + " -1.35315523e-01, -8.64634812e-02, 9.07569081e-02, -5.20299003e-02,\n", + " 5.39300404e-02, -1.71408862e-01, 3.55036259e-02, 1.70207739e-01,\n", + " -8.76016989e-02, -2.80412864e-02, -2.70368508e-03, -1.22690618e-01,\n", + " -1.63871482e-01, -1.22708760e-01, 3.35654393e-02, 1.26829579e-01,\n", + " -1.43117364e-02, 7.96694681e-02, -3.10931951e-02, 2.37075817e-02,\n", + " 1.55911028e-01, 1.69575382e-02, 1.54271908e-02, -9.58202332e-02,\n", + " 1.09241918e-01, 8.82035494e-02, -1.39677778e-01, -5.01841754e-02,\n", + " 2.18386631e-02, 1.57107875e-01, 7.93855730e-03, -3.16538438e-02,\n", + " -1.25909718e-02, -1.62555054e-01, 2.32526332e-01, -3.71498615e-02,\n", + " -2.24065650e-02, 2.61516422e-02, 1.20939091e-01, -6.72491416e-02,\n", + " -4.27399318e-05, -3.77265252e-02, -4.58711684e-02, 2.53423229e-02,\n", + " 8.39713439e-02, -1.19929694e-01, -1.07749395e-01, -1.10882133e-01,\n", + " -4.97324318e-02, 6.16546497e-02, -1.15693109e-02, -3.91881578e-02,\n", + " -2.29061693e-02, -2.30852738e-02, 3.04617375e-01, 2.08306596e-01,\n", + " -3.39470148e-01, -5.02127111e-02, 5.37177026e-02, 9.11831036e-02,\n", + " 1.14661761e-01, 9.45202038e-02, -1.62573129e-01, -1.38315439e-01,\n", + " -6.47830069e-02, -2.83303317e-02, -1.22525014e-01, 9.37087536e-02,\n", + " 1.96664244e-01, 1.07929356e-01, -1.03713363e-01, 1.60198733e-02,\n", + " 1.63076490e-01, -5.17086089e-02, 1.10869825e-01, -7.68428966e-02,\n", + " 8.37910455e-03, 5.56400865e-02, 6.31182268e-02, 1.21523716e-01,\n", + " 1.36712998e-01, -3.43602896e-02, 5.95005825e-02, -3.38348858e-02,\n", + " 3.81066576e-02, 6.04561493e-02, -1.77799106e-01, -3.31094116e-02,\n", + " -1.12194773e-02, -3.21154818e-02, 1.08467303e-01, -4.27856669e-03,\n", + " 1.51000738e-01, -6.47066757e-02, 6.33488074e-02, -6.28948510e-02,\n", + " 1.29441455e-01, 4.04741522e-03, -1.72044575e-01, -1.91321328e-01,\n", + " -8.56087804e-02, 4.62383777e-02, 2.01764986e-01, 3.43908928e-02,\n", + " 1.77972093e-01, 1.27216563e-01, 1.52360231e-01, 5.92516772e-02,\n", + " 4.44654636e-02, -1.71815068e-01, 5.64131141e-02, -1.30362645e-01,\n", + " -2.15643197e-01, -6.48207739e-02, 1.80758730e-01, 6.18097410e-02,\n", + " -6.83161020e-02, 1.69224367e-01, -2.53407449e-01, -4.33427393e-02,\n", + " -8.90076980e-02, 7.33624548e-02, 5.79761080e-02, -3.76918130e-02,\n", + " 8.55930522e-02, 2.99188751e-03, 1.56438854e-02, 2.43693665e-02,\n", + " 2.17681393e-01, 6.79032505e-02, -1.83962315e-01, -1.40863275e-02,\n", + " -1.53916925e-01, 8.76621082e-02, 9.75017548e-02, -6.90853447e-02,\n", + " 3.22550870e-02, -1.22331316e-02, 8.18267651e-03, 3.01490221e-02,\n", + " -1.40115758e-02, 1.17691020e-02, -2.29610443e-01, -1.88834459e-01,\n", + " -4.37003709e-02, -3.97654139e-02, 2.05663759e-02, 9.48096588e-02,\n", + " 4.75249775e-02, 6.99462742e-02, 9.24514905e-02, -1.96493998e-01,\n", + " 3.27189267e-02, 4.80476059e-02, 3.26564163e-02, -1.90033496e-03,\n", + " 3.73094343e-03, -5.62442988e-02, 5.95186092e-02, -2.72717867e-02,\n", + " -8.34571719e-02, -2.22789161e-02, -1.91354036e-01, 1.27723783e-01,\n", + " -1.69917479e-01, -3.11680529e-02, -2.62214512e-01, -2.82380339e-02],\n", + " dtype=float32)] None\n", + "2 (256,)\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# W2V" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 12, + "source": [ + "from EduNLP.I2V import W2V\r\n", + "\r\n", + "model_path = \"../../data/w2v/general_literal_300/general_literal_300.kv\"\r\n", + "i2v = W2V(\"pure_text\",\"w2v\",filepath=model_path, pretrained_t2v = False)\r\n", + "try:\r\n", + " item_vectors, token_vectors = i2v(items)\r\n", + " print(item_vectors) # 每个句子vector 为np.ndarray\r\n", + " print(token_vectors) # 每个单词vector list\r\n", + " print(len(item_vectors), item_vectors[0].shape,len(token_vectors), len(token_vectors[0]),len(token_vectors[0][0]))\r\n", + "except Exception as e:\r\n", + " print(e)" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[array([-1.34266680e-03, 5.19845746e-02, -1.98070258e-02, -4.17470075e-02,\n", + " 4.92814295e-02, -1.70883536e-01, -2.16597781e-01, -3.12069029e-01,\n", + " 8.96430463e-02, -1.31331667e-01, 9.16494895e-03, -3.22572999e-02,\n", + " 3.07940125e-01, 1.92060292e-01, 1.31043345e-02, 6.10962026e-02,\n", + " 2.21019030e-01, -3.53541046e-01, 1.34150490e-01, 1.14867561e-01,\n", + " 1.17448963e-01, 2.27990672e-01, -1.65213019e-01, 2.78246611e-01,\n", + " -4.36594114e-02, -1.37816787e-01, -1.07707813e-01, -1.80805102e-01,\n", + " 1.20028563e-01, -1.14409983e-01, 6.19181581e-02, -1.79836392e-01,\n", + " 7.68677965e-02, 2.41688967e-01, 6.20721914e-02, -7.59824514e-02,\n", + " 1.79465964e-01, 1.69306010e-01, -1.99512452e-01, -9.75036696e-02,\n", + " 1.02485821e-01, -1.59723386e-01, -1.67252243e-01, 1.52240042e-02,\n", + " -5.98842278e-03, 6.47612512e-02, 8.48228261e-02, 2.67874986e-01,\n", + " -1.73656959e-02, -4.40101810e-02, 9.11948457e-02, 1.40905827e-01,\n", + " 6.33735815e-03, 2.03221604e-01, -1.97303146e-01, 1.32987842e-01,\n", + " -1.80283263e-01, 3.64040211e-02, 2.49624569e-02, 7.49479085e-02,\n", + " -2.05568615e-02, -4.02397066e-02, -1.08619891e-01, -1.04757406e-01,\n", + " -8.36341307e-02, 6.61163032e-02, -1.11632387e-03, 3.96131463e-02,\n", + " -3.51454802e-02, 9.09155831e-02, 1.87938929e-01, -2.40521863e-01,\n", + " -5.97307160e-02, 1.74426511e-01, 1.56350788e-02, -4.20243442e-02,\n", + " -1.90285146e-02, -3.85696471e-01, -1.01543151e-01, -1.42145246e-01,\n", + " 2.33298853e-01, 1.85939763e-02, -2.68633634e-01, -3.60178575e-02,\n", + " 3.64447385e-02, -1.70443758e-01, 1.03326524e-02, -1.47003353e-01,\n", + " -9.38110873e-02, 1.63190335e-01, 1.20674491e-01, -2.36976147e-02,\n", + " -6.52602538e-02, 1.29773334e-01, -4.23593611e-01, 2.43276700e-01,\n", + " -8.00978579e-03, -9.39133018e-03, 1.17623486e-01, 1.16482794e-01,\n", + " -9.27330479e-02, 6.17316999e-02, 1.51295820e-02, 2.25901395e-01,\n", + " 7.31975585e-02, 2.29724105e-02, 9.95925292e-02, -1.10697523e-01,\n", + " 2.28960160e-02, 8.65939483e-02, 1.16645083e-01, -7.00058565e-02,\n", + " 1.13389529e-01, -5.30471019e-02, 1.43660516e-01, 1.61379650e-02,\n", + " 6.77419230e-02, 8.09707418e-02, 2.09957212e-01, -6.64654151e-02,\n", + " -1.81450248e-01, 2.21659631e-01, -4.53737518e-03, 4.69567403e-02,\n", + " 8.59350115e-02, 1.17934339e-01, -1.98988736e-01, -4.13361974e-02,\n", + " 1.26167178e-01, 3.84825058e-02, 1.64396539e-01, -1.63344927e-02,\n", + " 9.12889242e-02, -1.13650873e-01, -1.37156844e-02, 2.06742659e-02,\n", + " -9.15742964e-02, 7.41296187e-02, 2.50813574e-01, -1.35987863e-01,\n", + " -1.11708120e-01, -1.52451068e-01, 1.08608082e-01, 4.99855466e-02,\n", + " 1.68440521e-01, -2.47063249e-01, -2.21773341e-01, 4.81536575e-02,\n", + " -7.66365305e-02, 2.55189091e-01, -5.60788438e-03, -2.69066542e-02,\n", + " 2.07698755e-02, 1.36008840e-02, 1.33086294e-01, -3.80828045e-02,\n", + " -7.03251585e-02, -6.18199483e-02, 9.03518647e-02, -1.89310908e-01,\n", + " -5.30523732e-02, -2.04426926e-02, -2.27697566e-01, 7.68405125e-02,\n", + " 1.28568143e-01, 1.07449636e-01, -1.98028013e-01, -2.67155319e-01,\n", + " -5.17064631e-02, -1.62200809e-01, 1.87425911e-01, 4.74511087e-02,\n", + " -4.24213745e-02, -2.71449953e-01, -2.83543557e-01, -2.36278087e-01,\n", + " -4.38764729e-02, 1.67618364e-01, -2.51966029e-01, -2.73265123e-01,\n", + " -1.68406263e-01, -3.58684808e-01, 2.44145632e-01, -2.55741596e-01,\n", + " -2.28520826e-01, 2.39279866e-01, -1.68833986e-01, 1.66422993e-01,\n", + " -3.53969544e-01, -1.10907286e-01, -6.29489049e-02, -4.55605611e-02,\n", + " 1.46765754e-01, 1.95176788e-02, -3.80197394e-04, 3.36615089e-03,\n", + " -1.42359287e-01, -1.06109239e-01, -3.36164385e-02, 3.16832401e-02,\n", + " 1.09924652e-01, 2.10711379e-02, 1.58359021e-01, 1.71957895e-01,\n", + " 4.08717275e-01, -4.28679548e-02, -6.48310632e-02, 1.27063962e-02,\n", + " 5.73479272e-02, 1.40002951e-01, -3.66613895e-01, 8.07148069e-02,\n", + " 2.11823225e-01, -1.10516161e-01, -2.01001287e-01, 3.22122797e-02,\n", + " 5.47345541e-02, 2.30176803e-02, -9.94866490e-02, -4.44128877e-03,\n", + " 6.64432272e-02, 1.28168091e-01, -2.34743133e-01, 3.17057431e-01,\n", + " -8.75139013e-02, 2.66474396e-01, -3.12204093e-01, 7.78969377e-03,\n", + " 6.21694922e-02, 7.64596611e-02, -8.79013091e-02, 1.01901866e-01,\n", + " 3.23867425e-02, -2.27650225e-01, 9.44062844e-02, -5.54776154e-02,\n", + " -7.03687780e-03, 5.66167049e-02, -1.87480077e-01, 9.11692008e-02,\n", + " 1.51293352e-01, -1.92774653e-01, 2.23165095e-01, 2.26982050e-02,\n", + " -2.70489484e-01, 1.25889871e-02, -2.30410039e-01, 1.40989587e-01,\n", + " 2.20341813e-02, 2.70313285e-02, 6.07572980e-02, 8.79322216e-02,\n", + " 7.42911696e-02, -2.76499927e-01, 2.05189809e-01, -1.84953049e-01,\n", + " -1.68468937e-01, 1.85525760e-01, -3.32091609e-03, 2.29632735e-01,\n", + " 7.13749304e-02, -2.75445748e-02, 2.74335817e-02, 1.65132031e-01,\n", + " -1.64373592e-01, -1.14925921e-01, 4.98081557e-02, 2.10796613e-02,\n", + " -2.07561441e-02, 5.90056814e-02, -1.25214513e-02, 3.78197022e-02,\n", + " 3.62618983e-01, 1.72744930e-01, -8.75385627e-02, 1.52320743e-01,\n", + " 1.29331559e-01, -1.34815618e-01, 6.12287596e-02, 7.30569959e-02,\n", + " 5.37401363e-02, -1.46815628e-01, -2.61263877e-01, 2.18300954e-01,\n", + " 8.95068944e-02, -6.59529120e-02, -8.52308050e-02, 2.63195664e-01,\n", + " 2.09921718e-01, -1.73417434e-01, 2.11869497e-02, 7.06950724e-02,\n", + " -7.89924189e-02, 1.11086138e-01, -1.29149273e-01, 1.16233543e-01,\n", + " 2.16104537e-01, -3.05427730e-01, -2.46336535e-01, 7.59556964e-02],\n", + " dtype=float32), array([ 3.99896456e-03, 8.05600137e-02, -3.91732380e-02, -4.86987866e-02,\n", + " 3.94341163e-02, -1.30174190e-01, -2.01225460e-01, -2.85685867e-01,\n", + " 1.13042928e-01, -1.24627367e-01, -3.15027847e-03, -2.73833387e-02,\n", + " 2.88367450e-01, 1.94409564e-01, 3.40008587e-02, 6.49633706e-02,\n", + " 2.05017760e-01, -3.16232592e-01, 1.45942107e-01, 1.04565762e-01,\n", + " 1.03725404e-01, 2.52305537e-01, -1.66235551e-01, 2.67002851e-01,\n", + " -3.40563171e-02, -1.48293629e-01, -8.91103819e-02, -1.95181474e-01,\n", + " 1.10355772e-01, -1.24735624e-01, 6.77165315e-02, -1.79110825e-01,\n", + " 9.29452926e-02, 2.58970559e-01, 7.42715821e-02, -6.03715926e-02,\n", + " 1.70794770e-01, 1.57133996e-01, -1.81736186e-01, -8.52864981e-02,\n", + " 1.05159432e-01, -1.58349663e-01, -1.77059188e-01, 1.69194222e-03,\n", + " -3.27972993e-02, 6.36150762e-02, 9.31354091e-02, 2.56219536e-01,\n", + " -1.03600009e-03, -5.63832745e-02, 1.04097560e-01, 1.64364725e-01,\n", + " 1.38764898e-03, 1.74933732e-01, -2.03917757e-01, 1.12410709e-01,\n", + " -1.96851328e-01, 6.16638698e-02, 4.06071171e-02, 7.81444982e-02,\n", + " -3.34393196e-02, -3.97191271e-02, -9.81974155e-02, -9.83537436e-02,\n", + " -8.92241970e-02, 3.84929292e-02, -2.34650876e-02, 3.92586254e-02,\n", + " -1.21332873e-02, 8.60194713e-02, 1.90761849e-01, -2.39736110e-01,\n", + " -4.89422791e-02, 1.69697747e-01, 2.80322041e-02, -6.36317953e-02,\n", + " -6.15529949e-03, -3.63960683e-01, -8.39015320e-02, -1.48743480e-01,\n", + " 2.19782680e-01, 1.71628017e-02, -2.67710149e-01, -5.96412160e-02,\n", + " 3.92919369e-02, -1.70675024e-01, 8.99895240e-05, -1.41544297e-01,\n", + " -9.69900340e-02, 1.86301693e-01, 1.12576351e-01, -1.31493211e-02,\n", + " -7.17251375e-02, 1.28246799e-01, -4.34402436e-01, 2.56356359e-01,\n", + " -1.01634460e-02, 5.50544588e-03, 9.41047817e-02, 8.95181745e-02,\n", + " -8.97915885e-02, 4.84945402e-02, 1.37998173e-02, 2.32991144e-01,\n", + " 7.02675730e-02, 2.49772007e-03, 9.05344412e-02, -1.22940697e-01,\n", + " 1.87012535e-02, 7.42646903e-02, 9.62322950e-02, -9.42809209e-02,\n", + " 1.03122160e-01, -6.91048652e-02, 1.42265350e-01, 3.41112055e-02,\n", + " 6.75323978e-02, 5.09324037e-02, 2.01709434e-01, -5.63584007e-02,\n", + " -1.80669159e-01, 2.36236513e-01, -1.52690811e-02, 2.86805313e-02,\n", + " 8.00278187e-02, 1.15329422e-01, -1.88442633e-01, -4.58254889e-02,\n", + " 1.08134076e-01, 2.50409730e-02, 1.50939569e-01, -4.83273296e-03,\n", + " 1.04269721e-01, -8.94699767e-02, -3.62396683e-03, 2.34308857e-02,\n", + " -1.09180078e-01, 5.60195036e-02, 2.35763639e-01, -1.53228045e-01,\n", + " -1.05885379e-01, -1.60140097e-01, 1.10041656e-01, 3.67240272e-02,\n", + " 1.53791338e-01, -2.27340996e-01, -2.16444060e-01, 6.44741282e-02,\n", + " -8.83850381e-02, 2.42966458e-01, -1.60947107e-02, -3.85821573e-02,\n", + " 3.18164565e-02, 4.39518085e-03, 1.23825125e-01, -2.30492856e-02,\n", + " -6.03394024e-02, -6.65174201e-02, 5.96780106e-02, -1.83861658e-01,\n", + " -4.11421135e-02, -3.86951715e-02, -2.46807054e-01, 8.56175721e-02,\n", + " 1.44869700e-01, 9.97653529e-02, -1.61189035e-01, -2.74616331e-01,\n", + " -8.16171244e-02, -1.45645916e-01, 1.62022755e-01, 5.18017970e-02,\n", + " -5.70671745e-02, -2.82315344e-01, -2.74845243e-01, -2.33259544e-01,\n", + " -1.68186743e-02, 1.73562005e-01, -2.25999728e-01, -2.68874079e-01,\n", + " -1.56421170e-01, -3.60956639e-01, 2.22289428e-01, -2.56593823e-01,\n", + " -2.24844545e-01, 2.01746643e-01, -1.69296905e-01, 1.37857497e-01,\n", + " -3.48357409e-01, -1.08037509e-01, -4.35788482e-02, -7.35020190e-02,\n", + " 1.33224964e-01, 2.18088441e-02, 8.56850855e-03, 2.63547264e-02,\n", + " -1.20992407e-01, -9.01867524e-02, -5.39640710e-02, 2.90719923e-02,\n", + " 1.06549345e-01, 9.73346457e-03, 1.75152197e-01, 1.73240736e-01,\n", + " 3.85358989e-01, -4.86295111e-02, -5.99979311e-02, 2.35510673e-02,\n", + " 5.47830611e-02, 1.45343632e-01, -3.50050420e-01, 7.38515854e-02,\n", + " 2.07428589e-01, -1.16429828e-01, -2.05932036e-01, 4.14440371e-02,\n", + " 4.69029881e-02, 8.56466219e-03, -7.87592158e-02, -2.19903085e-02,\n", + " 8.37039649e-02, 1.22328199e-01, -2.35467061e-01, 2.92849153e-01,\n", + " -9.32604820e-02, 2.57044792e-01, -3.02668840e-01, -1.55454287e-02,\n", + " 3.28060500e-02, 8.62515792e-02, -9.33100730e-02, 1.22677222e-01,\n", + " 1.61928367e-02, -2.00113922e-01, 8.60652030e-02, -8.66189077e-02,\n", + " -3.23841651e-03, 5.33611439e-02, -1.52606457e-01, 8.60279724e-02,\n", + " 1.27633780e-01, -1.60204068e-01, 2.37834677e-01, 2.67545842e-02,\n", + " -2.55489230e-01, 6.63197774e-04, -1.99840829e-01, 1.32952914e-01,\n", + " 3.54236271e-03, 8.06213543e-03, 7.47034177e-02, 5.73524348e-02,\n", + " 7.69657269e-02, -2.73610741e-01, 1.96514055e-01, -1.91754386e-01,\n", + " -1.88240603e-01, 1.87844530e-01, -2.80354973e-02, 2.05444053e-01,\n", + " 7.45789781e-02, -4.90248986e-02, 4.41812612e-02, 1.78540751e-01,\n", + " -1.57397076e-01, -1.00983113e-01, 3.23408544e-02, 2.87504797e-03,\n", + " -5.67093492e-03, 4.78498563e-02, -3.49580608e-02, 1.54349199e-02,\n", + " 3.57598037e-01, 1.60198748e-01, -6.42205030e-02, 1.45740673e-01,\n", + " 1.48926109e-01, -1.28807038e-01, 4.38908488e-02, 1.16026729e-01,\n", + " 5.86194582e-02, -1.27828017e-01, -2.57573873e-01, 2.15158001e-01,\n", + " 9.09571946e-02, -7.44034350e-02, -8.02116916e-02, 2.88692892e-01,\n", + " 1.95715174e-01, -1.73329875e-01, 1.61937084e-02, 5.52616715e-02,\n", + " -6.04865290e-02, 9.57053825e-02, -1.46413133e-01, 1.08552605e-01,\n", + " 2.18615204e-01, -3.18116874e-01, -2.27481559e-01, 9.16251913e-02],\n", + " dtype=float32)]\n", + "[[memmap([-9.74057533e-04, 1.39671087e-03, -2.67836265e-04,\n", + " 3.15364590e-03, 2.96666636e-04, 2.81736051e-04,\n", + " -2.63743475e-03, 1.52303779e-03, 1.01379235e-03,\n", + " 1.57282199e-03, -1.71113803e-04, 8.02559836e-04,\n", + " 2.57097790e-03, 1.81893981e-03, 2.63088616e-03,\n", + " 3.40178027e-04, -2.11292668e-03, -2.50976160e-03,\n", + " -1.20709895e-03, 1.67239667e-03, -2.58512655e-03,\n", + " -1.26207829e-03, 1.39700493e-03, 1.95603608e-03,\n", + " 2.89038429e-03, -2.39552581e-03, -3.91247275e-04,\n", + " -3.21114226e-03, 9.58531688e-04, 8.29325523e-04,\n", + " -1.59795280e-03, 1.25081465e-03, 3.81096208e-04,\n", + " 1.59411912e-03, -8.54889571e-04, -3.06331483e-03,\n", + " 1.97919217e-04, -9.37395904e-04, 2.09570490e-03,\n", + " 1.22304517e-03, -2.73981970e-03, 1.85640890e-03,\n", + " -8.50516954e-04, 2.05107126e-03, 3.25771095e-03,\n", + " -2.02651741e-03, -2.99406121e-03, -2.29128683e-03,\n", + " 7.10814027e-04, -2.45556026e-03, 3.29233892e-03,\n", + " -1.30950764e-03, -1.89368729e-03, 1.27877074e-03,\n", + " 2.70718103e-03, -2.21936312e-03, 1.69272022e-03,\n", + " 7.79648602e-04, 2.15323060e-03, -1.90569717e-03,\n", + " -2.24422058e-03, -7.12279463e-04, 1.38582790e-03,\n", + " 2.27209576e-03, -2.48074066e-03, -1.57340372e-03,\n", + " -2.78435787e-03, 2.53080134e-03, 9.29941365e-04,\n", + " 9.57158394e-04, -4.04856197e-04, 7.77039502e-04,\n", + " 2.93451315e-03, 1.50868180e-03, -2.39667180e-03,\n", + " 1.94984837e-03, -1.30266906e-03, -3.10783624e-03,\n", + " 2.75730062e-03, 6.42884581e-04, -5.66801231e-04,\n", + " 7.95386615e-04, -2.41047610e-03, 1.00338063e-03,\n", + " 2.82178726e-03, -2.43772753e-03, 5.73688361e-04,\n", + " 1.23452744e-03, -3.01872566e-03, -1.07384368e-03,\n", + " 3.28231254e-03, -5.47548116e-04, 2.18831864e-03,\n", + " -3.27980524e-04, 1.68147963e-03, 2.44990899e-03,\n", + " -2.45229807e-03, 1.02455064e-03, -2.29938584e-03,\n", + " 2.91304989e-03, 1.60753564e-03, 1.12590473e-03,\n", + " 3.00752558e-03, 1.44218525e-03, 3.16225761e-03,\n", + " -1.64008932e-04, -5.27421653e-04, 1.06547831e-03,\n", + " 1.11937604e-03, 4.77150286e-04, -2.42268969e-03,\n", + " -3.12998053e-03, 4.55578178e-04, 2.90129334e-03,\n", + " -3.05265025e-03, -1.28805637e-03, -2.08641519e-03,\n", + " 3.26466886e-03, -2.95106089e-03, -2.08173040e-03,\n", + " -1.99576933e-03, 4.53641405e-04, -2.70907651e-03,\n", + " -2.34400504e-03, 1.16086320e-03, -2.44718627e-03,\n", + " 9.25636268e-05, 9.73496411e-04, -1.01899146e-03,\n", + " -3.02827288e-03, 9.58363991e-04, -3.27257067e-03,\n", + " 2.40717572e-03, 1.20117664e-04, 1.10580446e-03,\n", + " -4.41495577e-05, -2.85318610e-03, 1.54357916e-03,\n", + " 3.11869616e-03, 6.44255488e-04, -1.31027703e-03,\n", + " -1.52749463e-03, 8.79097788e-04, 7.01892364e-04,\n", + " 1.34046946e-03, -8.91715696e-04, -1.93791394e-03,\n", + " -4.34041809e-04, 1.12010317e-03, -2.24535773e-03,\n", + " -1.76302914e-03, -1.11521804e-03, -2.68377946e-03,\n", + " -2.55486579e-03, 2.67607206e-03, -2.09635729e-03,\n", + " 4.45536774e-04, 4.23340796e-04, -2.36946181e-03,\n", + " 1.01201690e-03, 2.53369007e-03, -8.69231240e-04,\n", + " -2.23573043e-05, 4.58726077e-04, 9.46683111e-04,\n", + " -1.58690137e-03, 1.31600059e-03, 2.19468423e-03,\n", + " -1.69886113e-03, 1.71214901e-03, -1.43307843e-04,\n", + " -1.10225752e-03, 3.13180522e-03, 1.78616366e-03,\n", + " -4.65679186e-05, -1.40959187e-03, -6.96717121e-04,\n", + " -5.70511795e-04, -1.54102559e-03, -2.30318774e-03,\n", + " 2.54784338e-03, -1.62216101e-03, 3.14650533e-04,\n", + " -2.94532534e-03, -1.02099183e-03, 2.99499906e-03,\n", + " -6.38728146e-04, -2.72372481e-03, 3.22340080e-03,\n", + " -1.49127806e-03, 2.27723271e-03, 2.73366761e-03,\n", + " 2.62600114e-03, 2.68271845e-03, 3.20440996e-03,\n", + " -4.97240224e-04, -1.02938886e-03, 3.26999027e-04,\n", + " 9.46711691e-04, 1.76053529e-03, 1.74157624e-03,\n", + " 1.49760721e-03, -3.09546776e-05, 2.48821010e-03,\n", + " 2.15774146e-03, 2.42709951e-03, -2.46135960e-03,\n", + " 1.82637456e-03, -3.11999000e-03, -2.49591586e-03,\n", + " -3.27967643e-03, -1.17016002e-03, 6.43555308e-04,\n", + " 3.32132494e-03, -2.58475146e-03, -7.75608991e-04,\n", + " 3.30572366e-03, 6.71840506e-04, -2.23828160e-04,\n", + " 2.99876463e-03, 3.10293835e-05, -1.25048554e-03,\n", + " 2.48837401e-03, -4.16146126e-04, -8.01149989e-04,\n", + " -2.19148802e-04, -2.70171487e-03, 1.73141161e-04,\n", + " -2.53586681e-03, 3.11773620e-03, 1.13646187e-04,\n", + " 2.82005151e-03, -3.23787535e-04, 1.52152695e-03,\n", + " 3.21076158e-03, -2.29426223e-04, -2.22376501e-03,\n", + " -3.26833175e-03, 5.72812569e-04, 3.06089874e-03,\n", + " 8.33402446e-04, 1.29480439e-03, 1.32911524e-03,\n", + " 2.61883345e-03, -2.53178203e-03, 6.48000219e-04,\n", + " 2.66361074e-03, -3.05172289e-03, -9.23413434e-04,\n", + " -2.13261833e-03, 8.54914193e-04, -1.48963137e-03,\n", + " -1.95632223e-03, -7.69955339e-04, -3.29735363e-03,\n", + " 1.98830920e-03, 1.31162966e-03, 1.10320176e-03,\n", + " -3.22533771e-03, 2.04978790e-03, -5.25970478e-04,\n", + " -1.89223525e-03, 2.42309878e-03, 8.27315671e-04,\n", + " 9.63741913e-04, 8.84156208e-04, 1.02529768e-03,\n", + " -1.41616585e-03, 6.75518531e-04, -6.47147477e-04,\n", + " 2.71809031e-03, 2.17319001e-03, 9.71910951e-04,\n", + " -2.93364283e-03, 2.43404706e-04, 1.14709849e-03,\n", + " -1.99730392e-04, 3.82491737e-04, -3.08531453e-03,\n", + " -2.20424891e-03, 2.87708524e-03, 1.51069486e-03,\n", + " 9.24036489e-04, -1.09619542e-03, 1.36686012e-03,\n", + " -2.61674239e-03, -1.52974128e-04, -2.72300956e-03,\n", + " 1.70241436e-03, -6.61658472e-04, -2.15324806e-03,\n", + " -2.46914220e-03, 1.41488796e-03, -3.25874239e-03,\n", + " -2.29610526e-03, -2.22696620e-03, -2.09132349e-03,\n", + " -2.79461709e-03, -3.24834906e-03, -1.12362858e-03], dtype=float32), memmap([ 0.053383, 0.073492, -0.270204, -0.112311, -0.015201, -0.119407,\n", + " -0.123077, -0.416428, 0.247544, -0.460181, -0.061427, 0.082268,\n", + " 0.0245 , 0.526491, 0.07706 , 0.178837, 0.017524, -0.325212,\n", + " -0.103839, 0.208752, -0.111467, 0.521546, -0.272528, 0.316571,\n", + " -0.173308, -0.201087, -0.511194, -0.14138 , 0.046122, -0.320015,\n", + " 0.076297, -0.069521, -0.202973, 0.314899, 0.430943, 0.046034,\n", + " 0.040279, 0.133066, -0.404739, 0.275659, 0.125859, -0.043163,\n", + " -0.303218, -0.151125, -0.17099 , 0.145366, -0.016345, 0.327239,\n", + " -0.084561, 0.063304, -0.302705, 0.35996 , 0.13609 , 0.297326,\n", + " -0.442463, 0.398219, -0.202161, -0.135665, 0.003838, -0.19574 ,\n", + " 0.219862, 0.334003, -0.123555, -0.393358, -0.332534, -0.241107,\n", + " -0.244846, -0.095374, -0.223911, 0.140613, 0.243508, -0.251703,\n", + " -0.169586, 0.441082, -0.188261, -0.141995, 0.139392, -0.200071,\n", + " 0.072888, -0.390133, 0.181688, 0.102912, -0.155725, -0.032124,\n", + " -0.158452, -0.380874, -0.022003, 0.000825, -0.157164, 0.290693,\n", + " 0.053128, -0.189939, 0.094352, -0.051382, -0.539181, 0.373206,\n", + " -0.027801, -0.253818, 0.255667, -0.112367, -0.115258, -0.086933,\n", + " 0.129798, 0.204307, 0.182043, 0.057721, 0.141005, -0.207975,\n", + " 0.042052, 0.260083, 0.232531, -0.196347, -0.221566, 0.399496,\n", + " 0.463933, 0.008165, -0.016465, -0.023569, 0.637303, -0.003511,\n", + " -0.228927, 0.338618, -0.052549, 0.147541, 0.281863, -0.203277,\n", + " -0.192872, -0.012181, -0.135448, -0.045823, 0.081765, 0.264273,\n", + " 0.205219, -0.126189, -0.219797, 0.065945, -0.159421, -0.395857,\n", + " 0.386458, 0.020568, 0.111083, 0.060885, -0.045118, 0.05667 ,\n", + " -0.169237, -0.341259, -0.152445, 0.179601, 0.407014, 0.291961,\n", + " 0.108068, -0.285588, -0.103598, 0.272088, 0.134827, 0.195525,\n", + " -0.234014, -0.360831, 0.113704, -0.136102, -0.079222, 0.001526,\n", + " -0.369491, 0.090944, 0.248385, -0.226031, 0.192442, -0.145407,\n", + " 0.207867, -0.273713, 0.265314, 0.181349, 0.05647 , -0.207678,\n", + " -0.315802, -0.283201, 0.325653, -0.011431, -0.003633, -0.152927,\n", + " -0.171762, -0.493103, 0.166642, -0.134368, -0.236366, 0.437717,\n", + " -0.135259, 0.313016, -0.134249, 0.105565, 0.048269, -0.181119,\n", + " 0.268067, -0.031222, -0.040579, 0.072611, 0.087346, -0.012795,\n", + " -0.114391, 0.006483, -0.117349, -0.111206, 0.119072, -0.015499,\n", + " 0.485414, -0.172202, 0.165612, -0.252072, 0.27653 , 0.072652,\n", + " -0.319515, -0.182193, 0.340836, -0.159598, -0.171857, -0.106253,\n", + " -0.083535, 0.160682, -0.331976, -0.143612, 0.190623, 0.068988,\n", + " -0.308722, 0.246508, 0.18682 , 0.486264, -0.166721, -0.051722,\n", + " -0.127577, -0.068829, -0.015767, -0.067029, -0.227183, -0.312123,\n", + " 0.155479, -0.033492, -0.130397, 0.210929, -0.347147, 0.000737,\n", + " 0.010076, 0.237798, 0.044538, 0.332377, -0.315508, -0.063583,\n", + " -0.128678, 0.141376, 0.274707, -0.17532 , 0.224805, -0.104147,\n", + " -0.15918 , -0.120486, -0.120665, -0.180094, -0.365813, 0.239685,\n", + " 0.079982, 0.115886, 0.270441, 0.187208, -0.130483, 0.098057,\n", + " -0.308018, -0.147003, 0.029404, -0.254033, 0.109873, -0.083851,\n", + " 0.069856, -0.160129, 0.373921, 0.008986, 0.061412, 0.110944,\n", + " 0.402177, 0.077325, 0.052001, 0.42721 , 0.075693, -0.008431,\n", + " -0.116177, -0.237115, 0.238036, -0.021828, -0.089541, 0.641381,\n", + " 0.166248, 0.036778, 0.385047, 0.210358, 0.049141, 0.071761,\n", + " 0.005191, 0.132525, 0.258788, -0.447342, -0.102826, 0.04786 ],\n", + " dtype=float32), memmap([-7.40781601e-04, -2.97785830e-03, 1.09634723e-03,\n", + " 2.01167096e-03, 2.50855600e-03, 4.69167222e-04,\n", + " -1.75643363e-03, -1.82502344e-03, -9.07284440e-04,\n", + " 1.41037698e-03, -2.51988973e-03, 2.50449823e-03,\n", + " 2.35895230e-03, 2.68338923e-03, -7.21632619e-04,\n", + " -3.11706704e-03, 3.00037069e-03, -4.62307129e-04,\n", + " 2.23700353e-03, -1.70352461e-04, -1.20803993e-03,\n", + " 1.99531717e-03, 2.44841818e-03, -2.63425359e-03,\n", + " -1.32939662e-03, -1.50320376e-03, -1.49024569e-03,\n", + " -1.35407445e-03, -3.31407716e-03, -1.48428918e-03,\n", + " 2.07411614e-03, -2.69011664e-03, -2.59665260e-03,\n", + " 3.92658723e-04, 7.97608693e-04, -1.60571741e-04,\n", + " -1.83651445e-03, -4.50196269e-04, -2.10637646e-03,\n", + " 7.48967344e-04, 4.96278575e-04, -2.84481607e-03,\n", + " 2.42890907e-03, 2.61640549e-03, -2.27338402e-03,\n", + " -2.60312553e-03, 3.04569094e-03, -1.00832945e-03,\n", + " 1.72199414e-03, -9.62319376e-04, -1.82056590e-03,\n", + " -2.00595614e-03, -4.99733316e-04, -2.32812413e-03,\n", + " 3.31133767e-03, -1.35303498e-03, -2.01454549e-03,\n", + " -2.95524998e-03, 3.95817769e-04, -2.21528215e-04,\n", + " -1.02585717e-03, 6.97676369e-05, 3.26557481e-03,\n", + " -2.08826154e-03, -1.94974104e-03, 3.17555736e-03,\n", + " 8.43954098e-04, 2.71182071e-04, 1.86951156e-03,\n", + " 3.09326802e-03, 2.95463949e-03, -2.28573638e-03,\n", + " 3.21586686e-03, -3.25555727e-03, 2.29133200e-03,\n", + " -3.13338358e-03, 1.83269498e-03, -4.16183466e-04,\n", + " -2.52584135e-03, -6.78466982e-04, -1.17397307e-04,\n", + " 6.97644573e-05, -1.36936747e-03, 2.65385956e-03,\n", + " 2.91726668e-03, 1.15984841e-03, -9.18834237e-04,\n", + " -2.95779854e-03, 1.21752417e-03, -3.03478725e-03,\n", + " -2.51075672e-03, 1.25264889e-03, 2.06942949e-03,\n", + " -1.61821686e-03, -1.76460110e-03, 1.81647774e-03,\n", + " 2.30930327e-03, -1.19944416e-04, -4.88708785e-04,\n", + " -1.03467866e-03, 8.95359495e-04, 5.25205920e-04,\n", + " -2.13570194e-03, 1.23163860e-03, -2.04627286e-03,\n", + " 1.51338254e-03, -2.22705211e-03, -2.78626522e-03,\n", + " -1.85014168e-03, -2.73991749e-03, 2.73762550e-03,\n", + " 8.45317845e-04, -8.46811919e-04, -2.32393504e-03,\n", + " 1.42291700e-03, 2.69365776e-03, -6.87670690e-05,\n", + " 5.21903043e-04, -5.26952732e-04, -2.40260764e-04,\n", + " -1.45322084e-03, -2.07939860e-03, 9.73271555e-04,\n", + " -2.58003478e-03, 5.85468602e-04, 6.96404750e-05,\n", + " -1.38336420e-03, 2.47974385e-04, 2.15718360e-03,\n", + " 2.54814932e-03, -2.31908727e-03, -3.18513322e-03,\n", + " -1.20905798e-03, 4.75575129e-04, 2.91029853e-03,\n", + " 1.98696624e-03, -3.20814690e-03, -6.06226153e-04,\n", + " -1.75738253e-03, -2.13700370e-03, -3.16110766e-03,\n", + " 1.23885239e-03, -1.67235930e-03, 2.23832135e-03,\n", + " -2.48917984e-03, 2.01486819e-03, -2.44806288e-03,\n", + " 1.51673320e-03, -2.13748380e-03, 2.73243734e-03,\n", + " -1.73373066e-03, 2.27546296e-03, 2.51394440e-03,\n", + " -1.08179251e-04, 2.38481839e-03, -3.37402831e-04,\n", + " -3.67454690e-04, 2.81595229e-03, -1.37516658e-03,\n", + " 3.25439940e-03, 2.82448460e-03, -1.25906861e-03,\n", + " 2.98994058e-03, 2.25792732e-03, 3.11688194e-03,\n", + " -2.14806478e-03, -2.93606136e-04, -2.85799825e-03,\n", + " 2.27316213e-03, -2.70277821e-03, -3.18831834e-03,\n", + " -1.17647729e-03, -1.94127881e-03, 2.65013054e-03,\n", + " -2.30203470e-04, -1.61143148e-03, -2.17062957e-03,\n", + " -2.72799493e-03, 5.05960779e-04, 5.82876208e-04,\n", + " 1.28226436e-03, 1.75478775e-03, -3.09155066e-03,\n", + " 7.67432037e-04, -3.31712002e-03, -3.20149818e-03,\n", + " -3.86148284e-04, -2.27366597e-03, -2.50913459e-03,\n", + " 2.19465257e-03, 2.84764450e-03, -1.61687855e-03,\n", + " -4.70693893e-04, 9.03052511e-04, -1.85302179e-03,\n", + " 3.20684188e-03, 1.40935101e-03, -2.15042266e-03,\n", + " -9.72978247e-04, -2.25317315e-03, -1.38779476e-04,\n", + " -3.35383411e-05, 2.70311837e-03, 1.02994684e-03,\n", + " 1.62958622e-03, -9.99152660e-04, 1.54867012e-03,\n", + " 8.04136565e-04, 6.98607764e-04, 2.65373476e-03,\n", + " -1.38455862e-03, -7.02715712e-04, -7.41919677e-04,\n", + " 3.30323935e-03, -2.63908855e-03, -2.59951362e-03,\n", + " -2.52161338e-03, 5.66647854e-04, 2.78920331e-03,\n", + " -1.70330924e-03, 2.98326020e-04, -9.95922135e-04,\n", + " -1.63932878e-03, -3.00687941e-04, -1.22044480e-03,\n", + " 9.66204796e-04, 2.06423603e-04, 2.64438312e-03,\n", + " 1.04681654e-04, -1.89732632e-03, 3.05886264e-04,\n", + " -2.51937867e-03, 8.45874951e-04, 2.21883785e-03,\n", + " -1.83046664e-04, 1.20234489e-03, -2.40913383e-03,\n", + " 7.41795695e-04, 2.84282770e-03, -2.51527387e-03,\n", + " 1.43079355e-03, 1.10837142e-03, 2.88316095e-03,\n", + " 3.08349845e-03, 2.80134287e-03, -6.38651836e-04,\n", + " -5.02293115e-04, -8.63780209e-04, 2.67924479e-04,\n", + " -1.83217600e-03, -2.38766754e-03, 1.51509128e-03,\n", + " 2.40234527e-04, -5.38373773e-04, -1.02813565e-03,\n", + " 1.01516407e-03, -3.28990305e-03, 1.62476301e-03,\n", + " -9.93626891e-04, 8.32884340e-04, 1.59407535e-03,\n", + " -2.11167335e-05, -7.13266549e-04, -1.87879719e-03,\n", + " 1.25327031e-03, 1.00238167e-03, 1.30741193e-03,\n", + " 2.71972269e-03, 8.10579455e-04, 2.72213621e-03,\n", + " -2.08105892e-03, -3.49671842e-04, -3.25033278e-03,\n", + " -3.00127431e-03, 1.11487391e-03, 2.08006706e-03,\n", + " -2.14912579e-03, -3.07004852e-03, -2.33972142e-03,\n", + " 2.56931316e-03, 1.02430186e-03, 6.26174588e-05,\n", + " 2.76894658e-03, -3.38193582e-04, -4.48341365e-04,\n", + " 2.37894943e-03, 9.71340341e-04, -5.03769726e-04,\n", + " -3.95103300e-04, 5.94902842e-04, -2.44345120e-03,\n", + " -1.95623562e-03, 5.95839811e-04, -2.52583035e-04,\n", + " -2.78549921e-03, -6.86202024e-04, 1.22352201e-03,\n", + " 2.28145043e-03, 2.93496368e-03, 3.42813320e-04], dtype=float32), memmap([ 7.40320325e-01, -2.83897012e-01, -8.65218714e-02,\n", + " -7.53699616e-03, 5.34844920e-02, -1.73295081e-01,\n", + " -1.05863380e+00, -1.43040627e-01, 7.14152813e-01,\n", + " 2.19372272e-01, -6.58537745e-01, 3.88916023e-02,\n", + " 1.93203852e-01, -1.18542679e-01, -1.59912303e-01,\n", + " 3.33625048e-01, 4.06088959e-03, -6.24033630e-01,\n", + " 1.50229439e-01, 6.57853067e-01, -5.46138920e-02,\n", + " 6.93696082e-01, -1.17435910e-01, 2.37015903e-01,\n", + " -4.24165845e-01, 3.87450546e-01, 1.24169566e-01,\n", + " 1.63685948e-01, 6.31892309e-02, -6.02771640e-01,\n", + " 3.16181034e-01, -2.90160954e-01, 5.44466257e-01,\n", + " 2.52188854e-02, 1.88796669e-01, -1.14926748e-01,\n", + " -6.12340868e-01, -5.87539315e-01, -2.15225905e-01,\n", + " -2.59401679e-01, 2.22276688e-01, -1.49561346e-01,\n", + " -1.28631040e-01, -5.74327648e-01, 2.31475875e-01,\n", + " 9.48671848e-02, 3.64173681e-01, 5.20557046e-01,\n", + " -2.07740605e-01, -3.94069493e-01, -2.25630715e-01,\n", + " 8.47125202e-02, 3.45924318e-01, 1.80024296e-01,\n", + " 8.54140744e-02, 2.13610590e-01, -1.60223451e-02,\n", + " 3.08282256e-01, 1.20332681e-01, -5.26686199e-02,\n", + " 4.40952443e-02, -7.56313801e-02, 1.64983958e-01,\n", + " -4.36175764e-01, 5.77491999e-01, 1.18725769e-01,\n", + " -4.37200338e-01, 2.83255339e-01, -4.08824757e-02,\n", + " -3.87505665e-02, 5.04456554e-03, -4.34433699e-01,\n", + " 5.29676303e-02, -5.85066564e-02, 1.73228264e-01,\n", + " 4.90106121e-02, 3.05007458e-01, -3.88809860e-01,\n", + " -2.07598031e-01, 5.13532795e-02, -3.73289138e-01,\n", + " -4.11499441e-02, -9.44332302e-01, -5.46799421e-01,\n", + " 7.87172794e-01, -1.53836474e-01, 2.05193639e-01,\n", + " 1.79185346e-01, -3.19244415e-01, 1.83414906e-01,\n", + " -2.51034319e-01, 2.04368889e-01, -4.12439518e-02,\n", + " 1.88866079e-01, 2.89603043e-02, 4.40665856e-02,\n", + " -3.66804987e-01, 3.11425954e-01, 3.84064376e-01,\n", + " 2.89805114e-01, -4.46613431e-01, -3.73146757e-02,\n", + " -2.49009281e-01, 2.16535851e-01, 2.12426245e-01,\n", + " 2.24740326e-01, -3.96954656e-01, 6.09451607e-02,\n", + " -2.84864575e-01, -2.91095115e-03, 1.24745101e-01,\n", + " 1.27259627e-01, 4.04476464e-01, -1.93641745e-02,\n", + " 3.29136610e-01, 5.89510143e-01, 3.04105341e-01,\n", + " 1.49482846e-01, 1.06036521e-01, -2.24815339e-01,\n", + " 3.19689624e-02, 3.37899148e-01, 1.51534230e-01,\n", + " -3.48888427e-01, -1.38412073e-01, 2.41551414e-01,\n", + " -2.54522383e-01, -3.15623194e-01, 9.68650132e-02,\n", + " -1.95467398e-01, -1.88675389e-01, -1.32108536e-02,\n", + " -2.66226292e-01, 1.93855688e-01, 4.37732846e-01,\n", + " -2.90491939e-01, 3.31001490e-01, -3.52082521e-01,\n", + " 1.78004637e-01, -1.11240707e-01, -8.76428094e-03,\n", + " -3.93173248e-01, 6.41291589e-02, -2.28615284e-01,\n", + " -1.60569139e-03, -2.64150113e-01, -2.34936312e-01,\n", + " -1.02365956e-01, 2.49480039e-01, -1.87929899e-01,\n", + " 3.96835357e-02, -4.04373050e-01, -5.07753074e-01,\n", + " 2.38928616e-01, -4.39271033e-01, -4.89640892e-01,\n", + " 6.54386207e-02, 5.41593015e-01, 4.90614980e-01,\n", + " -1.05242871e-01, -1.36632413e-01, 1.53965428e-01,\n", + " -3.27737987e-01, -6.71390742e-02, 1.22502826e-01,\n", + " 1.96959153e-01, 3.05157810e-01, -4.48056191e-01,\n", + " -1.98862568e-01, -4.24336225e-01, 7.93447196e-02,\n", + " -2.62270242e-01, -1.85921267e-01, 6.61295652e-03,\n", + " -4.56636250e-01, -4.74854410e-01, 2.12066844e-01,\n", + " 2.01622561e-01, 8.15611959e-01, -1.36088595e-01,\n", + " -4.90664214e-01, -4.88215268e-01, 5.54985344e-01,\n", + " -2.24547163e-01, -2.39435136e-01, 2.22418725e-01,\n", + " -5.38049281e-01, 3.70853126e-01, -1.53820112e-01,\n", + " 8.43680128e-02, -3.54911089e-02, -1.09966241e-01,\n", + " -4.14703697e-01, 3.90747845e-01, -1.84075028e-01,\n", + " 7.60702968e-01, -6.98425233e-01, 8.77330378e-02,\n", + " 1.28276765e-01, -4.79850024e-02, 3.72763216e-01,\n", + " 5.50840497e-01, -9.90871191e-02, 4.18369353e-01,\n", + " 4.19657022e-01, 2.29991540e-01, 3.66626024e-01,\n", + " 1.11826919e-01, -2.47301590e-02, 1.32096961e-01,\n", + " 3.93169254e-01, 2.24951915e-02, -2.62230009e-01,\n", + " -2.43430451e-01, 2.58210003e-01, -1.62975848e-01,\n", + " 4.32478547e-01, 3.09025109e-01, -1.99924380e-01,\n", + " 2.55418450e-01, -2.73493379e-01, 2.79799044e-01,\n", + " -3.69053245e-01, 4.93362218e-01, -3.49240862e-02,\n", + " 3.10550421e-01, -4.04581308e-01, 3.94288957e-01,\n", + " -1.04068369e-01, 8.67391229e-02, 1.73879974e-02,\n", + " 1.71536673e-03, 3.91844362e-02, -5.88633418e-01,\n", + " -6.24562025e-01, -3.09219599e-01, -1.05644137e-01,\n", + " 5.30000776e-02, -3.72424603e-01, 2.89219230e-01,\n", + " 4.05812860e-01, -1.19362077e-04, 4.48193103e-01,\n", + " -1.41763374e-01, 2.87409246e-01, -5.79081893e-01,\n", + " -1.99257657e-01, 6.93469718e-02, 5.24103343e-01,\n", + " 1.20713212e-01, 1.01502098e-01, 7.04986751e-01,\n", + " 2.15131700e-01, 4.36220109e-01, 4.73751009e-01,\n", + " -5.02688706e-01, 4.06132862e-02, 3.09243679e-01,\n", + " -2.89376136e-02, -9.24469531e-02, 1.57464325e-01,\n", + " 2.70151138e-01, 3.20051722e-02, 6.42308712e-01,\n", + " -7.71746412e-02, 1.60636872e-01, 1.28681585e-01,\n", + " 6.82907030e-02, 2.69804031e-01, -2.71411687e-01,\n", + " -3.27949673e-01, -4.34522778e-01, -1.48008958e-01,\n", + " 5.46750367e-01, 8.81870389e-02, 4.88497674e-01,\n", + " 1.31040206e-02, -1.94522783e-01, -6.34031177e-01,\n", + " 9.40928385e-02, -1.96060270e-01, 6.55852556e-02,\n", + " -3.46025884e-01, -7.64121022e-03, 6.64572343e-02,\n", + " -3.77093464e-01, 2.96576649e-01, 2.28039175e-01,\n", + " 2.33197346e-01, -2.33136654e-01, 2.74139762e-01,\n", + " 2.27126703e-01, -4.72044885e-01, 5.19130588e-01,\n", + " -1.41887575e-01, -1.67987078e-01, -6.53843433e-02,\n", + " 1.62629768e-01, -7.53015339e-01, 6.76150799e-01], dtype=float32), memmap([-0.10837725, 0.11549401, -0.15824004, 0.50305027, -0.09761366,\n", + " -0.48892426, -0.79524183, -0.12074072, -0.3387916 , -0.378617 ,\n", + " -0.24414106, -0.12134998, -0.10618914, 0.18407854, -0.26149258,\n", + " 0.5065042 , 0.2651403 , -0.6520077 , -0.19071262, 0.43519083,\n", + " -0.4292922 , 0.4370096 , -0.8997909 , 0.6859202 , 0.09096568,\n", + " -0.3325723 , 0.1940273 , -0.49395838, -0.3316664 , -0.42282915,\n", + " 0.06765637, 0.15393423, 0.05443774, 0.3876047 , 0.24263811,\n", + " -0.49495038, 0.38503692, 0.27900457, -0.8023043 , 0.18866214,\n", + " 0.6262913 , 0.06074463, 0.2344771 , 0.19624273, -0.37486318,\n", + " 0.06966194, 0.01332281, 0.60073465, -0.47927582, -0.0823084 ,\n", + " -0.06497926, 0.33714297, 0.27366158, -0.15047562, -0.2541691 ,\n", + " 0.2527139 , 0.14888918, -0.24472421, -0.47206846, -0.15022385,\n", + " 0.08039748, 0.36065212, -0.04534618, -0.4024375 , -0.21768673,\n", + " -0.69247305, -0.17052378, 0.44355989, -0.578043 , 0.08053879,\n", + " -0.0625236 , -0.08011064, -0.21119137, 0.6664885 , -0.14054203,\n", + " -0.17997873, 0.251821 , -0.6325905 , -0.16105981, -0.29935837,\n", + " -0.03825381, -0.3986166 , -0.33544374, 0.01921455, -0.29846352,\n", + " -0.7009614 , -0.13930038, 0.40264302, -0.45402864, 0.57174176,\n", + " 0.07994836, -0.20899588, -0.49919677, 0.1824642 , -0.99415463,\n", + " 0.5663304 , -0.31523034, -0.08369561, -0.16443478, 0.26971254,\n", + " -0.29915106, 0.26589718, 0.17149101, 0.4061504 , -0.19438803,\n", + " 0.3914081 , 0.07803816, -0.2954963 , 0.1248489 , 0.30594176,\n", + " -0.34987226, 0.1885878 , 0.27429116, 0.1375237 , 0.41589692,\n", + " -0.05115354, -0.22217357, -0.12928748, 0.716198 , -0.10687083,\n", + " -0.9255203 , 0.19901623, -0.3084687 , -0.3006475 , 0.44167328,\n", + " -0.597084 , 0.08903318, 0.21431388, 0.42391175, -0.01887614,\n", + " 0.12261854, -0.09890936, 0.5797963 , 0.39818314, -0.48398477,\n", + " 0.6621126 , -0.46448532, -0.14343543, 0.04120416, -0.5358358 ,\n", + " -0.14828056, -0.28202724, 0.01107037, -0.04858386, 0.00690263,\n", + " -0.3557975 , -0.45260563, 0.22263616, 0.3897068 , 0.07726711,\n", + " -0.04528925, -0.14938262, -0.22182578, -0.26437724, 0.40078714,\n", + " -0.04841163, -0.21522923, 0.07121808, 0.08092659, -0.438511 ,\n", + " -0.08405232, 0.01174756, -0.38323087, 0.04791076, 0.16882454,\n", + " -0.01365197, 0.3410679 , -0.3126649 , -0.43774134, -0.59032124,\n", + " -0.07184302, 0.261895 , 0.20478104, -0.6683694 , -0.08520868,\n", + " -0.2578085 , 0.411234 , -0.21389157, -0.17642544, -0.31897277,\n", + " 0.29783586, -0.69325507, 0.67098486, -0.23884378, -0.3501651 ,\n", + " 0.7105125 , -0.31089243, -0.15118812, 0.04000754, 0.01820906,\n", + " 0.05718442, -0.16238682, 0.302812 , -0.15161915, -0.30111888,\n", + " -0.4176109 , 0.39410907, -0.2387299 , -0.2763885 , 0.10195521,\n", + " 0.38012564, -0.08028304, 0.4769483 , 0.07763182, 0.21281306,\n", + " 0.2607151 , 0.3240776 , 0.5450921 , 0.19364816, -0.27717572,\n", + " -0.31057388, 0.00245448, 0.40044087, -0.5172755 , -0.09079777,\n", + " 0.3311133 , 0.4663844 , 0.02053149, -0.44821683, 0.10487155,\n", + " -0.01213841, 0.00651279, -0.31639457, 0.41299784, 0.19454329,\n", + " 0.3104433 , -0.4786553 , 0.05790196, -0.20675822, 0.22376467,\n", + " -0.48256138, 0.31130704, 0.09252247, 0.06326205, -0.01936083,\n", + " -0.00860054, 0.3880458 , -0.36690566, -0.61367464, 0.37044013,\n", + " 0.39698827, 0.2856632 , 0.20297647, 0.59586585, -0.8002396 ,\n", + " 0.31380928, -0.06682161, 0.43980396, 0.15830939, 0.0074152 ,\n", + " -0.31956896, 0.39140117, -0.3776084 , -0.33884698, -0.1261755 ,\n", + " 0.26874256, -0.3943658 , 0.325845 , -0.5170219 , 0.31897652,\n", + " 0.14589892, -0.7499526 , -0.5621209 , -0.37182435, -0.16800039,\n", + " -0.46578062, 0.27880684, -0.6038231 , 0.08398758, -0.42525667,\n", + " -0.04061109, -0.05211171, 0.256919 , 0.34422648, 0.12472267,\n", + " 0.1807256 , 0.5065941 , -0.17140052, 0.28134906, 0.03425426,\n", + " 0.15744437, 0.1269795 , -0.2437533 , 0.5667525 , 0.37959936,\n", + " 0.3903781 , -0.10354353, 0.15656522, 0.13771942, -0.07393628,\n", + " 0.10064009, 0.24888268, -0.01468494, 0.4540692 , -0.47059065,\n", + " 0.21070711, 0.5960855 , -0.20303895, 0.08462233, -0.27119854],\n", + " dtype=float32), memmap([ 7.40320325e-01, -2.83897012e-01, -8.65218714e-02,\n", + " -7.53699616e-03, 5.34844920e-02, -1.73295081e-01,\n", + " -1.05863380e+00, -1.43040627e-01, 7.14152813e-01,\n", + " 2.19372272e-01, -6.58537745e-01, 3.88916023e-02,\n", + " 1.93203852e-01, -1.18542679e-01, -1.59912303e-01,\n", + " 3.33625048e-01, 4.06088959e-03, -6.24033630e-01,\n", + " 1.50229439e-01, 6.57853067e-01, -5.46138920e-02,\n", + " 6.93696082e-01, -1.17435910e-01, 2.37015903e-01,\n", + " -4.24165845e-01, 3.87450546e-01, 1.24169566e-01,\n", + " 1.63685948e-01, 6.31892309e-02, -6.02771640e-01,\n", + " 3.16181034e-01, -2.90160954e-01, 5.44466257e-01,\n", + " 2.52188854e-02, 1.88796669e-01, -1.14926748e-01,\n", + " -6.12340868e-01, -5.87539315e-01, -2.15225905e-01,\n", + " -2.59401679e-01, 2.22276688e-01, -1.49561346e-01,\n", + " -1.28631040e-01, -5.74327648e-01, 2.31475875e-01,\n", + " 9.48671848e-02, 3.64173681e-01, 5.20557046e-01,\n", + " -2.07740605e-01, -3.94069493e-01, -2.25630715e-01,\n", + " 8.47125202e-02, 3.45924318e-01, 1.80024296e-01,\n", + " 8.54140744e-02, 2.13610590e-01, -1.60223451e-02,\n", + " 3.08282256e-01, 1.20332681e-01, -5.26686199e-02,\n", + " 4.40952443e-02, -7.56313801e-02, 1.64983958e-01,\n", + " -4.36175764e-01, 5.77491999e-01, 1.18725769e-01,\n", + " -4.37200338e-01, 2.83255339e-01, -4.08824757e-02,\n", + " -3.87505665e-02, 5.04456554e-03, -4.34433699e-01,\n", + " 5.29676303e-02, -5.85066564e-02, 1.73228264e-01,\n", + " 4.90106121e-02, 3.05007458e-01, -3.88809860e-01,\n", + " -2.07598031e-01, 5.13532795e-02, -3.73289138e-01,\n", + " -4.11499441e-02, -9.44332302e-01, -5.46799421e-01,\n", + " 7.87172794e-01, -1.53836474e-01, 2.05193639e-01,\n", + " 1.79185346e-01, -3.19244415e-01, 1.83414906e-01,\n", + " -2.51034319e-01, 2.04368889e-01, -4.12439518e-02,\n", + " 1.88866079e-01, 2.89603043e-02, 4.40665856e-02,\n", + " -3.66804987e-01, 3.11425954e-01, 3.84064376e-01,\n", + " 2.89805114e-01, -4.46613431e-01, -3.73146757e-02,\n", + " -2.49009281e-01, 2.16535851e-01, 2.12426245e-01,\n", + " 2.24740326e-01, -3.96954656e-01, 6.09451607e-02,\n", + " -2.84864575e-01, -2.91095115e-03, 1.24745101e-01,\n", + " 1.27259627e-01, 4.04476464e-01, -1.93641745e-02,\n", + " 3.29136610e-01, 5.89510143e-01, 3.04105341e-01,\n", + " 1.49482846e-01, 1.06036521e-01, -2.24815339e-01,\n", + " 3.19689624e-02, 3.37899148e-01, 1.51534230e-01,\n", + " -3.48888427e-01, -1.38412073e-01, 2.41551414e-01,\n", + " -2.54522383e-01, -3.15623194e-01, 9.68650132e-02,\n", + " -1.95467398e-01, -1.88675389e-01, -1.32108536e-02,\n", + " -2.66226292e-01, 1.93855688e-01, 4.37732846e-01,\n", + " -2.90491939e-01, 3.31001490e-01, -3.52082521e-01,\n", + " 1.78004637e-01, -1.11240707e-01, -8.76428094e-03,\n", + " -3.93173248e-01, 6.41291589e-02, -2.28615284e-01,\n", + " -1.60569139e-03, -2.64150113e-01, -2.34936312e-01,\n", + " -1.02365956e-01, 2.49480039e-01, -1.87929899e-01,\n", + " 3.96835357e-02, -4.04373050e-01, -5.07753074e-01,\n", + " 2.38928616e-01, -4.39271033e-01, -4.89640892e-01,\n", + " 6.54386207e-02, 5.41593015e-01, 4.90614980e-01,\n", + " -1.05242871e-01, -1.36632413e-01, 1.53965428e-01,\n", + " -3.27737987e-01, -6.71390742e-02, 1.22502826e-01,\n", + " 1.96959153e-01, 3.05157810e-01, -4.48056191e-01,\n", + " -1.98862568e-01, -4.24336225e-01, 7.93447196e-02,\n", + " -2.62270242e-01, -1.85921267e-01, 6.61295652e-03,\n", + " -4.56636250e-01, -4.74854410e-01, 2.12066844e-01,\n", + " 2.01622561e-01, 8.15611959e-01, -1.36088595e-01,\n", + " -4.90664214e-01, -4.88215268e-01, 5.54985344e-01,\n", + " -2.24547163e-01, -2.39435136e-01, 2.22418725e-01,\n", + " -5.38049281e-01, 3.70853126e-01, -1.53820112e-01,\n", + " 8.43680128e-02, -3.54911089e-02, -1.09966241e-01,\n", + " -4.14703697e-01, 3.90747845e-01, -1.84075028e-01,\n", + " 7.60702968e-01, -6.98425233e-01, 8.77330378e-02,\n", + " 1.28276765e-01, -4.79850024e-02, 3.72763216e-01,\n", + " 5.50840497e-01, -9.90871191e-02, 4.18369353e-01,\n", + " 4.19657022e-01, 2.29991540e-01, 3.66626024e-01,\n", + " 1.11826919e-01, -2.47301590e-02, 1.32096961e-01,\n", + " 3.93169254e-01, 2.24951915e-02, -2.62230009e-01,\n", + " -2.43430451e-01, 2.58210003e-01, -1.62975848e-01,\n", + " 4.32478547e-01, 3.09025109e-01, -1.99924380e-01,\n", + " 2.55418450e-01, -2.73493379e-01, 2.79799044e-01,\n", + " -3.69053245e-01, 4.93362218e-01, -3.49240862e-02,\n", + " 3.10550421e-01, -4.04581308e-01, 3.94288957e-01,\n", + " -1.04068369e-01, 8.67391229e-02, 1.73879974e-02,\n", + " 1.71536673e-03, 3.91844362e-02, -5.88633418e-01,\n", + " -6.24562025e-01, -3.09219599e-01, -1.05644137e-01,\n", + " 5.30000776e-02, -3.72424603e-01, 2.89219230e-01,\n", + " 4.05812860e-01, -1.19362077e-04, 4.48193103e-01,\n", + " -1.41763374e-01, 2.87409246e-01, -5.79081893e-01,\n", + " -1.99257657e-01, 6.93469718e-02, 5.24103343e-01,\n", + " 1.20713212e-01, 1.01502098e-01, 7.04986751e-01,\n", + " 2.15131700e-01, 4.36220109e-01, 4.73751009e-01,\n", + " -5.02688706e-01, 4.06132862e-02, 3.09243679e-01,\n", + " -2.89376136e-02, -9.24469531e-02, 1.57464325e-01,\n", + " 2.70151138e-01, 3.20051722e-02, 6.42308712e-01,\n", + " -7.71746412e-02, 1.60636872e-01, 1.28681585e-01,\n", + " 6.82907030e-02, 2.69804031e-01, -2.71411687e-01,\n", + " -3.27949673e-01, -4.34522778e-01, -1.48008958e-01,\n", + " 5.46750367e-01, 8.81870389e-02, 4.88497674e-01,\n", + " 1.31040206e-02, -1.94522783e-01, -6.34031177e-01,\n", + " 9.40928385e-02, -1.96060270e-01, 6.55852556e-02,\n", + " -3.46025884e-01, -7.64121022e-03, 6.64572343e-02,\n", + " -3.77093464e-01, 2.96576649e-01, 2.28039175e-01,\n", + " 2.33197346e-01, -2.33136654e-01, 2.74139762e-01,\n", + " 2.27126703e-01, -4.72044885e-01, 5.19130588e-01,\n", + " -1.41887575e-01, -1.67987078e-01, -6.53843433e-02,\n", + " 1.62629768e-01, -7.53015339e-01, 6.76150799e-01], dtype=float32), memmap([-0.10837725, 0.11549401, -0.15824004, 0.50305027, -0.09761366,\n", + " -0.48892426, -0.79524183, -0.12074072, -0.3387916 , -0.378617 ,\n", + " -0.24414106, -0.12134998, -0.10618914, 0.18407854, -0.26149258,\n", + " 0.5065042 , 0.2651403 , -0.6520077 , -0.19071262, 0.43519083,\n", + " -0.4292922 , 0.4370096 , -0.8997909 , 0.6859202 , 0.09096568,\n", + " -0.3325723 , 0.1940273 , -0.49395838, -0.3316664 , -0.42282915,\n", + " 0.06765637, 0.15393423, 0.05443774, 0.3876047 , 0.24263811,\n", + " -0.49495038, 0.38503692, 0.27900457, -0.8023043 , 0.18866214,\n", + " 0.6262913 , 0.06074463, 0.2344771 , 0.19624273, -0.37486318,\n", + " 0.06966194, 0.01332281, 0.60073465, -0.47927582, -0.0823084 ,\n", + " -0.06497926, 0.33714297, 0.27366158, -0.15047562, -0.2541691 ,\n", + " 0.2527139 , 0.14888918, -0.24472421, -0.47206846, -0.15022385,\n", + " 0.08039748, 0.36065212, -0.04534618, -0.4024375 , -0.21768673,\n", + " -0.69247305, -0.17052378, 0.44355989, -0.578043 , 0.08053879,\n", + " -0.0625236 , -0.08011064, -0.21119137, 0.6664885 , -0.14054203,\n", + " -0.17997873, 0.251821 , -0.6325905 , -0.16105981, -0.29935837,\n", + " -0.03825381, -0.3986166 , -0.33544374, 0.01921455, -0.29846352,\n", + " -0.7009614 , -0.13930038, 0.40264302, -0.45402864, 0.57174176,\n", + " 0.07994836, -0.20899588, -0.49919677, 0.1824642 , -0.99415463,\n", + " 0.5663304 , -0.31523034, -0.08369561, -0.16443478, 0.26971254,\n", + " -0.29915106, 0.26589718, 0.17149101, 0.4061504 , -0.19438803,\n", + " 0.3914081 , 0.07803816, -0.2954963 , 0.1248489 , 0.30594176,\n", + " -0.34987226, 0.1885878 , 0.27429116, 0.1375237 , 0.41589692,\n", + " -0.05115354, -0.22217357, -0.12928748, 0.716198 , -0.10687083,\n", + " -0.9255203 , 0.19901623, -0.3084687 , -0.3006475 , 0.44167328,\n", + " -0.597084 , 0.08903318, 0.21431388, 0.42391175, -0.01887614,\n", + " 0.12261854, -0.09890936, 0.5797963 , 0.39818314, -0.48398477,\n", + " 0.6621126 , -0.46448532, -0.14343543, 0.04120416, -0.5358358 ,\n", + " -0.14828056, -0.28202724, 0.01107037, -0.04858386, 0.00690263,\n", + " -0.3557975 , -0.45260563, 0.22263616, 0.3897068 , 0.07726711,\n", + " -0.04528925, -0.14938262, -0.22182578, -0.26437724, 0.40078714,\n", + " -0.04841163, -0.21522923, 0.07121808, 0.08092659, -0.438511 ,\n", + " -0.08405232, 0.01174756, -0.38323087, 0.04791076, 0.16882454,\n", + " -0.01365197, 0.3410679 , -0.3126649 , -0.43774134, -0.59032124,\n", + " -0.07184302, 0.261895 , 0.20478104, -0.6683694 , -0.08520868,\n", + " -0.2578085 , 0.411234 , -0.21389157, -0.17642544, -0.31897277,\n", + " 0.29783586, -0.69325507, 0.67098486, -0.23884378, -0.3501651 ,\n", + " 0.7105125 , -0.31089243, -0.15118812, 0.04000754, 0.01820906,\n", + " 0.05718442, -0.16238682, 0.302812 , -0.15161915, -0.30111888,\n", + " -0.4176109 , 0.39410907, -0.2387299 , -0.2763885 , 0.10195521,\n", + " 0.38012564, -0.08028304, 0.4769483 , 0.07763182, 0.21281306,\n", + " 0.2607151 , 0.3240776 , 0.5450921 , 0.19364816, -0.27717572,\n", + " -0.31057388, 0.00245448, 0.40044087, -0.5172755 , -0.09079777,\n", + " 0.3311133 , 0.4663844 , 0.02053149, -0.44821683, 0.10487155,\n", + " -0.01213841, 0.00651279, -0.31639457, 0.41299784, 0.19454329,\n", + " 0.3104433 , -0.4786553 , 0.05790196, -0.20675822, 0.22376467,\n", + " -0.48256138, 0.31130704, 0.09252247, 0.06326205, -0.01936083,\n", + " -0.00860054, 0.3880458 , -0.36690566, -0.61367464, 0.37044013,\n", + " 0.39698827, 0.2856632 , 0.20297647, 0.59586585, -0.8002396 ,\n", + " 0.31380928, -0.06682161, 0.43980396, 0.15830939, 0.0074152 ,\n", + " -0.31956896, 0.39140117, -0.3776084 , -0.33884698, -0.1261755 ,\n", + " 0.26874256, -0.3943658 , 0.325845 , -0.5170219 , 0.31897652,\n", + " 0.14589892, -0.7499526 , -0.5621209 , -0.37182435, -0.16800039,\n", + " -0.46578062, 0.27880684, -0.6038231 , 0.08398758, -0.42525667,\n", + " -0.04061109, -0.05211171, 0.256919 , 0.34422648, 0.12472267,\n", + " 0.1807256 , 0.5065941 , -0.17140052, 0.28134906, 0.03425426,\n", + " 0.15744437, 0.1269795 , -0.2437533 , 0.5667525 , 0.37959936,\n", + " 0.3903781 , -0.10354353, 0.15656522, 0.13771942, -0.07393628,\n", + " 0.10064009, 0.24888268, -0.01468494, 0.4540692 , -0.47059065,\n", + " 0.21070711, 0.5960855 , -0.20303895, 0.08462233, -0.27119854],\n", + " dtype=float32), memmap([-0.47708827, -0.4188984 , -0.5805752 , 0.4983136 , -0.66254765,\n", + " -0.39081648, -0.97982544, -0.23470439, -0.03654473, -0.5102844 ,\n", + " 0.67481166, 0.3278588 , 0.7606644 , 1.6376853 , 0.01073082,\n", + " 0.09936687, -0.46771094, -0.31241962, 0.4701628 , 1.0181094 ,\n", + " 0.30604145, 0.8390094 , 0.3194854 , -0.27103472, 0.49701762,\n", + " 0.06473815, -0.46921566, -0.05524811, 0.9139501 , -0.06523825,\n", + " 0.67262095, -0.49442592, 0.20589003, 0.27247488, 0.14038956,\n", + " -0.80201375, -0.48969394, -0.09757133, 0.2766648 , -0.6972582 ,\n", + " 0.3416205 , -0.07185953, 1.0011873 , -0.9887757 , -0.06042983,\n", + " 0.8236651 , 0.36706838, 1.3456837 , 0.03193885, 0.24244997,\n", + " -0.36948457, -0.1509102 , -0.44583032, 0.61655706, -0.81914383,\n", + " 0.9815469 , -0.11822435, 0.03083434, 0.2428399 , 0.2526623 ,\n", + " -0.2562431 , -0.21705882, -0.25717106, 0.11458904, -0.2528375 ,\n", + " 0.6405138 , 0.6669946 , 0.78003174, 0.5335342 , -0.10354853,\n", + " -0.00849775, 0.22528215, -0.3530957 , 0.20969488, 0.29415876,\n", + " -0.09581622, 0.8899748 , -1.1223971 , -0.22779833, 0.19665183,\n", + " -0.07576157, 0.10557791, 0.02358398, -0.10968089, 0.01060791,\n", + " -0.980473 , 0.92596775, 0.5118298 , 0.736612 , 0.38457313,\n", + " 0.3961228 , 0.0546562 , -0.08168894, 0.01979573, -0.9650393 ,\n", + " 1.2188433 , -0.15855312, -0.06791998, 0.5756328 , 0.62134314,\n", + " -0.08486102, 0.41305026, 0.34461695, -0.14001994, -0.45136675,\n", + " -0.50733864, 0.2085592 , 0.08233722, 0.26115826, 0.18186104,\n", + " 0.13035524, -0.6060056 , -0.33885118, -0.19898668, 1.2870729 ,\n", + " -0.0390192 , -0.36673293, 0.10233703, 0.36140093, 0.4813354 ,\n", + " -0.31832504, 0.72464275, 0.19097029, -0.3758162 , -0.7779689 ,\n", + " -0.22739369, 0.6851564 , 0.2543442 , 0.12088571, -0.22525734,\n", + " 0.31709403, 0.3175463 , 0.55021554, -0.06115818, 0.05532606,\n", + " 0.09404284, -0.3236308 , -0.05686826, -0.0619615 , 0.44735762,\n", + " -0.7476529 , 0.0941129 , 0.06258559, 0.06858844, 0.4629079 ,\n", + " -0.79991513, -0.03113633, 0.5925018 , -0.5419957 , 0.8150896 ,\n", + " -0.4511207 , 0.16237846, -0.24626066, -0.38405976, 0.31215945,\n", + " 0.20369282, 0.03096747, 0.44095722, 0.08268528, -0.40246347,\n", + " -0.23092808, -0.37487224, -0.9630564 , 0.40206626, 0.46292728,\n", + " 0.00908307, -0.45681253, -0.515122 , 0.61747396, -0.6318852 ,\n", + " 0.57765347, -0.22935037, -0.7883133 , -1.3616883 , -0.6914536 ,\n", + " 0.59359914, 0.18721828, -0.5369138 , -0.9626216 , -0.5819916 ,\n", + " -0.19336759, -0.7520721 , 0.73596966, -0.9440522 , -0.15742244,\n", + " -0.5494539 , -0.22973019, -0.7702952 , -0.2874203 , -1.0205438 ,\n", + " 0.03645895, -0.0741073 , 0.33082238, -0.33102044, 0.5110458 ,\n", + " 0.03100196, 0.15003732, 0.44028 , 0.57790685, -0.12429607,\n", + " -0.05505238, 0.5277741 , 0.00596437, -0.8267188 , 0.98155546,\n", + " 0.60818356, 0.05491769, -0.17272966, 0.5170492 , -0.507833 ,\n", + " -0.7220932 , -0.45346296, 0.4384308 , -1.2887701 , -0.04899029,\n", + " -0.836098 , -0.3291471 , 0.13959199, -0.09651765, -0.1769755 ,\n", + " 0.8896915 , -0.18091968, -0.01604473, 0.89019555, 0.31479722,\n", + " -0.10607556, -0.5043507 , 0.88028383, 0.69085157, 0.32529506,\n", + " -0.772671 , 0.23837025, 0.20707694, -0.31108835, 0.22451258,\n", + " -0.37838325, -0.78118545, 0.79952365, 0.75050694, -0.14090757,\n", + " 0.09931167, -0.39031503, 0.89565736, -0.37527186, -0.5322119 ,\n", + " 0.46904635, -0.17637865, -0.38489145, -0.08712541, -0.12625024,\n", + " 0.31754443, -0.993396 , -0.36117595, 0.02375397, 0.52861106,\n", + " 0.05877142, 0.38588166, 0.42588267, 0.01967174, 0.16990405,\n", + " 0.32032806, -1.2650824 , 0.18371063, 0.80958074, -0.7322228 ,\n", + " -0.45262203, 0.7282951 , -0.01904668, 0.09793202, -0.34047785,\n", + " 0.7384318 , -0.24277544, 0.11070658, 0.3416886 , 0.41340238,\n", + " -0.47697282, 0.65601873, 0.46016574, 0.13691364, 0.29044658,\n", + " 0.14660439, -0.05801181, -0.17285912, 0.91551733, 0.36750606,\n", + " 0.5843243 , -0.691808 , 0.22313634, 0.48687056, -0.95390767,\n", + " 0.39592007, 0.17013542, 0.09443866, 0.95111895, -0.3557054 ,\n", + " 1.2151228 , 0.781644 , 0.06785147, -0.8829557 , -0.11728634],\n", + " dtype=float32), memmap([-0.006586, 0.161428, -0.06511 , 0.0533 , 0.041935, -0.311353,\n", + " -0.215847, -0.428073, 0.290138, -0.495801, 0.080319, 0.058902,\n", + " 0.173545, 0.488145, 0.026375, 0.201782, 0.250904, -0.559227,\n", + " -0.21273 , 0.025531, -0.067552, 0.514484, -0.630149, 0.404147,\n", + " 0.055525, -0.130428, -0.304365, -0.029063, 0.106699, -0.201525,\n", + " -0.004851, -0.116651, -0.042767, 0.438285, 0.467751, -0.38875 ,\n", + " 0.147209, -0.039806, -0.408095, -0.172912, 0.029314, -0.073222,\n", + " -0.210555, 0.082748, -0.158573, 0.119351, -0.329385, 0.488353,\n", + " -0.216715, -0.285935, -0.07031 , 0.327328, -0.089084, 0.472342,\n", + " -0.28452 , 0.257881, -0.28076 , -0.249591, -0.01629 , -0.100565,\n", + " 0.386506, -0.025614, -0.028129, -0.39938 , -0.134956, -0.260547,\n", + " -0.390111, 0.009975, -0.009614, 0.425087, 0.145637, -0.263442,\n", + " -0.107055, 0.570538, -0.205834, -0.127259, 0.32278 , -0.359688,\n", + " 0.024147, -0.360209, 0.279604, -0.351353, -0.172009, 0.062727,\n", + " -0.061026, -0.483135, -0.093161, -0.234828, -0.086009, 0.261117,\n", + " 0.304946, -0.24722 , -0.223633, 0.030018, -0.608157, 0.199675,\n", + " 0.074232, -0.319299, 0.334371, -0.11228 , -0.360266, -0.152533,\n", + " 0.079711, 0.347684, 0.307216, 0.163619, -0.090348, -0.307187,\n", + " 0.032789, 0.502065, 0.014054, -0.366738, 0.090868, 0.044953,\n", + " 0.308011, -0.060201, 0.009562, -0.148218, 0.502047, -0.035747,\n", + " -0.035853, 0.129638, 0.1047 , 0.186961, 0.457741, -0.148522,\n", + " -0.171935, 0.097221, 0.15655 , -0.26022 , 0.351664, 0.382695,\n", + " 0.07115 , -0.185182, -0.120094, -0.008898, -0.332253, -0.466231,\n", + " 0.393347, 0.195986, -0.001177, -0.038478, 0.195799, 0.176096,\n", + " -0.0091 , -0.539969, -0.11003 , 0.311965, 0.220465, 0.329955,\n", + " 0.047512, -0.039289, 0.014886, -0.284394, 0.024602, 0.238298,\n", + " -0.26613 , 0.019136, 0.129153, -0.385582, -0.084006, -0.171035,\n", + " -0.664617, 0.250682, 0.281441, -0.056378, -0.21629 , -0.030365,\n", + " -0.216707, -0.552284, 0.116245, 0.233886, 0.167495, -0.325703,\n", + " -0.1847 , 0.069425, 0.113572, 0.089833, 0.098003, -0.165884,\n", + " -0.265601, -0.437372, 0.355441, -0.337267, -0.051732, 0.507786,\n", + " -0.076962, 0.381048, -0.063408, 0.105496, -0.294141, -0.130617,\n", + " -0.273983, -0.10364 , -0.149628, -0.015933, -0.039423, 0.03252 ,\n", + " -0.206215, 0.006986, 0.091299, 0.093974, -0.028416, 0.160219,\n", + " 0.521804, -0.082526, -0.015285, -0.164474, 0.165756, 0.254222,\n", + " -0.639611, 0.010692, 0.346206, -0.024588, -0.146942, -0.172151,\n", + " -0.009038, 0.149819, -0.288096, -0.069216, 0.242003, 0.186023,\n", + " -0.359216, 0.111522, 0.226472, 0.202632, -0.31965 , 0.015993,\n", + " 0.271754, -0.015819, -0.001828, 0.305415, -0.411187, -0.330074,\n", + " 0.144156, -0.033165, -0.143046, 0.411678, -0.316412, 0.046061,\n", + " 0.056028, -0.033076, 0.185964, 0.126428, -0.621356, 0.022169,\n", + " -0.011867, 0.0873 , 0.210104, 0.026566, -0.00195 , -0.054202,\n", + " 0.066369, -0.075197, 0.158631, 0.023248, -0.57585 , 0.311036,\n", + " -0.138246, -0.108106, 0.285303, -0.135049, 0.079473, 0.110764,\n", + " -0.263704, -0.325249, 0.245374, -0.08426 , 0.025845, -0.050174,\n", + " 0.250635, -0.013127, 0.253039, 0.15403 , -0.373329, 0.042771,\n", + " 0.291311, 0.082753, 0.066772, 0.368885, 0.073498, -0.26813 ,\n", + " -0.455563, -0.08183 , 0.364209, -0.065714, 0.228885, 0.170889,\n", + " 0.329751, -0.033602, -0.002947, 0.083073, -0.242062, 0.019645,\n", + " -0.103138, 0.105334, 0.16972 , -0.246823, -0.320137, -0.128818],\n", + " dtype=float32), memmap([-0.11304554, -0.17019191, -0.37591377, -0.1964785 , -0.03855671,\n", + " -0.5465829 , 0.13955498, -0.81196487, 0.33915898, -0.28856096,\n", + " -0.30437768, 0.34504372, 0.0697837 , 0.4725256 , 0.1492171 ,\n", + " 0.25877407, -0.24696527, -0.3225316 , 0.5621446 , 0.5133265 ,\n", + " 0.07791297, -0.16185799, -0.86460406, 0.41183624, -0.411434 ,\n", + " -0.42981395, -0.7356336 , -0.14298464, 0.1921351 , -0.44442824,\n", + " -0.05749854, 0.1488163 , 0.04496863, 0.39316532, -0.05963315,\n", + " 0.13182326, -0.00728036, -0.10604501, -0.34103677, 0.2496576 ,\n", + " 0.25753272, -0.16918223, 0.2737997 , 0.16440405, -0.40897784,\n", + " 0.30430788, -0.35716105, 0.07702566, -0.21816388, -0.39328775,\n", + " 0.17913122, 0.26410186, -0.1413898 , 0.9780035 , -0.07613662,\n", + " 0.11790818, -0.56053585, 0.33360046, -0.16180678, 0.68728036,\n", + " 0.40537792, 0.0808138 , 0.31340584, -0.3947275 , -0.16067782,\n", + " -0.03476213, 0.04011394, -0.22206394, 0.4405977 , 0.11489405,\n", + " 0.75326633, -0.1065422 , -0.5605966 , 0.41256776, 0.14235072,\n", + " 0.02752061, -0.00878727, -0.5533612 , 0.04815327, -0.36056507,\n", + " 0.18121539, 0.03509434, -0.72010756, 0.17061844, -0.18794253,\n", + " -0.07269225, 0.2327764 , -0.0938172 , -0.03973593, -0.04308951,\n", + " -0.02631606, -0.23025538, -0.15230952, 0.7373602 , -1.0927895 ,\n", + " 0.59010196, -0.03090584, -0.35414106, 0.9817858 , -0.17270613,\n", + " -0.3319297 , -0.05726757, 0.22482996, 0.05336781, 0.35923713,\n", + " -0.21321368, -0.05928909, -0.14732029, -0.27855206, 0.11264312,\n", + " 0.97677326, -0.39941797, 0.33244362, 0.27313015, 0.12746036,\n", + " 0.04676034, 0.22616382, 0.32761914, 0.60939646, -0.2632262 ,\n", + " -0.34031162, -0.21499592, 0.42552027, -0.17891948, 0.40152356,\n", + " 0.20452835, -0.42325124, -0.3806475 , -0.15960899, -0.00776599,\n", + " 0.34072217, -0.06245109, 0.06759007, 0.07671684, 0.14462039,\n", + " 0.17768116, -0.37031057, -0.36130917, 0.66011316, 0.00980707,\n", + " -0.2114999 , -0.12126907, 0.6746984 , -0.42288744, 0.1759603 ,\n", + " -0.22486316, -0.26723403, 0.06900521, -0.04707154, 0.44811168,\n", + " -0.18003221, -0.27003822, -0.30630586, 0.02833987, 0.20060278,\n", + " 0.14325087, -0.01168527, -0.35714456, -0.31511122, 0.11995526,\n", + " -0.4632158 , -0.47649702, -1.1578903 , -0.1001302 , 0.490519 ,\n", + " 0.14216806, -0.49363092, -0.50419354, -0.08047047, -0.20514959,\n", + " 0.40836948, 0.19654505, 0.4118598 , -0.21262205, -0.32683137,\n", + " -0.6018459 , 0.04807634, -0.12148035, 0.08927612, -0.49102637,\n", + " 0.18327522, -0.4054533 , 0.31747186, -0.38694003, -0.38548803,\n", + " 0.516482 , -0.6604811 , 0.24834578, -0.49424893, -0.37022164,\n", + " -0.42839307, 0.3667292 , -0.2640593 , -0.24377865, 0.44157943,\n", + " 0.38040242, -0.36172673, -0.29334813, -0.13322392, 0.16104104,\n", + " 0.01484807, -0.16042829, 0.20952599, 0.19721651, 0.54860103,\n", + " -0.37397933, -0.5486698 , -0.5412052 , 0.5019028 , 0.37126866,\n", + " -0.41860995, 0.42029864, 0.494536 , 0.3658634 , 0.26404265,\n", + " 0.15485118, 0.24040589, 0.42344016, -0.17249516, -0.5071849 ,\n", + " -0.24151315, 0.38745728, -0.26391053, 0.27054107, 0.07490662,\n", + " 0.32731432, -0.18006392, -0.14609346, 0.16931252, -0.21029787,\n", + " 0.3788991 , -0.19054684, -0.49577233, -0.5074248 , 0.32157615,\n", + " -0.10927907, -0.23643999, 0.33245584, 0.0413025 , 0.1073861 ,\n", + " 0.13644178, -0.2531458 , -0.15476516, 0.07745235, -0.49958292,\n", + " -0.22323674, -0.4421263 , -0.13289443, 0.08747664, 0.42127815,\n", + " -0.00165338, -0.36521822, 0.08495087, -0.6160411 , -0.21383107,\n", + " 0.18476675, -0.18594497, 0.04531446, -0.0942342 , 0.07305011,\n", + " -0.19607297, 0.2913201 , 0.28724003, -0.20402808, -0.2689202 ,\n", + " -0.2371097 , -0.18619965, -0.0475978 , -0.14483191, 0.3223423 ,\n", + " 0.15073535, -0.2827219 , 0.31050724, 0.02744416, -0.03127986,\n", + " 0.22447129, 0.23423423, -0.8341749 , -0.26076776, 0.30075696,\n", + " 0.3999014 , -0.20887935, -0.37437624, -0.2922322 , 0.38513082,\n", + " 0.20287815, 0.25528422, -0.08055869, 0.26746652, 0.12647 ,\n", + " 0.15741736, 0.13625745, -0.55376655, 0.3309864 , 0.00393692,\n", + " 0.1813283 , 0.13459302, -0.5238583 , -0.8804926 , 0.10256226],\n", + " dtype=float32), memmap([ 0.036919, -0.1103 , -0.089738, -0.092496, 0.207336, -0.193062,\n", + " -0.153377, -0.353051, 0.092489, -0.371171, 0.16089 , 0.012087,\n", + " 0.273712, 0.395704, 0.035863, 0.20609 , 0.138541, -0.604745,\n", + " -0.188203, 0.136003, -0.147939, 0.289229, -0.478272, 0.391465,\n", + " -0.084194, -0.328154, -0.214901, -0.123601, 0.195577, -0.087148,\n", + " 0.068913, -0.238087, 0.064393, 0.47556 , 0.653262, -0.234986,\n", + " 0.21789 , -0.101114, -0.457108, -0.024383, 0.16452 , -0.10335 ,\n", + " -0.269603, 0.130634, 0.034999, -0.023712, -0.060409, 0.376887,\n", + " -0.025959, -0.252642, -0.156659, 0.267135, 0.069643, 0.397348,\n", + " -0.274121, 0.348601, -0.18755 , -0.246576, 0.06813 , -0.074254,\n", + " 0.374543, -0.128411, 0.121754, -0.417997, -0.007832, -0.062147,\n", + " -0.218864, 0.213684, -0.162249, 0.290352, -0.021686, -0.020751,\n", + " -0.061688, 0.249914, -0.022139, -0.10204 , 0.303715, -0.473538,\n", + " 0.067765, -0.259328, 0.03832 , -0.225739, -0.074307, 0.067089,\n", + " -0.1376 , -0.576282, 0.146817, -0.257374, -0.212355, 0.078049,\n", + " 0.195017, -0.069316, -0.131536, 0.00777 , -0.514861, 0.217258,\n", + " 0.009819, -0.222892, 0.394802, 0.131889, -0.257592, 0.021154,\n", + " 0.134037, 0.219888, 0.256056, 0.111634, 0.178219, -0.231468,\n", + " -0.137254, 0.345208, -0.089044, -0.280721, 0.025395, 0.038529,\n", + " 0.279411, 0.144981, -0.030015, 0.003442, 0.586241, -0.112844,\n", + " -0.219546, 0.1732 , 0.163598, 0.23466 , 0.262863, -0.097877,\n", + " -0.276554, -0.056149, 0.146051, -0.122483, 0.296763, 0.223057,\n", + " 0.075892, -0.209697, -0.075011, 0.178387, -0.115579, -0.353904,\n", + " 0.393068, -0.005771, -0.189971, 0.023433, -0.004927, 0.02051 ,\n", + " 0.099154, -0.422172, 0.008889, 0.289381, 0.036955, 0.451209,\n", + " 0.047084, 0.066938, 0.044823, 0.003643, 0.294277, -0.030527,\n", + " -0.400027, 0.030384, 0.204552, -0.126658, -0.013399, -0.139779,\n", + " -0.385226, 0.253012, 0.412752, -0.225115, -0.346225, -0.050573,\n", + " -0.079808, -0.40317 , 0.10118 , 0.174449, 0.185305, -0.320403,\n", + " -0.269543, -0.015659, 0.143085, 0.020706, -0.137595, -0.153159,\n", + " -0.314101, -0.307449, 0.301448, -0.300483, -0.056348, 0.358152,\n", + " -0.063805, 0.102935, -0.157337, 0.004609, -0.007578, -0.115759,\n", + " -0.102806, -0.013241, -0.102945, -0.155238, 0.064578, -0.014036,\n", + " -0.042954, 0.033337, 0.181011, 0.144456, 0.107444, 0.061668,\n", + " 0.518422, 0.002849, -0.070616, 0.082854, 0.266737, 0.240478,\n", + " -0.564205, -0.04123 , 0.043236, -0.126049, 0.081724, -0.212563,\n", + " -0.07103 , -0.062966, -0.123623, 0.06467 , 0.249103, 0.241704,\n", + " -0.301902, 0.182967, 0.090718, 0.215738, -0.15556 , 0.129479,\n", + " 0.352796, 0.05152 , -0.049028, 0.190073, -0.1391 , -0.46102 ,\n", + " 0.088091, -0.071157, -0.11597 , 0.223018, -0.310657, 0.163626,\n", + " 0.04297 , -0.03917 , 0.11728 , 0.304096, -0.468027, 0.22159 ,\n", + " -0.028468, 0.050664, 0.056221, -0.039893, -0.086349, 0.090597,\n", + " -0.00556 , -0.067837, 0.313608, -0.203042, -0.289029, 0.270804,\n", + " -0.090891, 0.109032, 0.293218, -0.069892, 0.004213, 0.128897,\n", + " -0.200106, -0.272938, 0.113393, -0.016173, 0.151228, -0.08659 ,\n", + " 0.21123 , 0.02997 , 0.208638, 0.142854, -0.366602, 0.019436,\n", + " 0.23521 , -0.04495 , 0.240789, 0.246886, 0.08462 , -0.080042,\n", + " -0.150277, -0.055726, -0.016941, -0.163886, 0.149883, 0.072646,\n", + " 0.120094, -0.034595, 0.090928, 0.189571, -0.29872 , 0.272699,\n", + " -0.153866, 0.246901, 0.302777, -0.274864, -0.292579, -0.05222 ],\n", + " dtype=float32), memmap([-0.243848, -0.29442 , 0.042012, -0.261492, 0.003926, -0.10628 ,\n", + " 0.279002, -0.198951, 0.142141, -0.042438, -0.088519, 0.198668,\n", + " 0.229136, -0.024044, -0.312685, 0.460597, 0.828979, -0.79609 ,\n", + " 0.182429, 0.308291, 0.29584 , 0.519534, -0.077029, 0.523097,\n", + " 0.220335, -0.303795, 0.099866, 0.555273, 0.135018, 0.18564 ,\n", + " -0.049376, 0.088708, 0.049273, 0.709958, 0.070147, 0.065392,\n", + " 0.453565, -0.039138, -0.449384, 0.206807, 0.289633, -0.51219 ,\n", + " 0.371053, -0.011497, -0.420344, -0.197675, -0.273306, 0.289307,\n", + " 0.225878, -0.012789, 0.106142, 0.45162 , 0.283426, 0.185077,\n", + " -0.416293, 0.332885, -0.330281, 0.454085, -0.028234, 0.17215 ,\n", + " -0.191927, -0.067868, -0.196448, 0.218393, 0.217563, -0.068141,\n", + " -0.614738, 0.392443, -0.015192, 0.189103, 0.245302, 0.029489,\n", + " 0.265636, 0.213698, -0.336344, 0.081388, -0.130461, -0.48006 ,\n", + " 0.320374, 0.044341, 0.217087, -0.292498, 0.354875, -0.064594,\n", + " -0.463825, -0.264732, 0.323202, -0.113349, 0.242381, -0.022495,\n", + " -0.0567 , 0.124445, -0.103112, 0.842285, -0.495322, 0.606568,\n", + " -0.304842, -0.222893, 0.104402, 0.394952, 0.013003, 0.01332 ,\n", + " 0.283519, 0.284441, 0.059714, 0.082867, -0.160662, -0.217343,\n", + " -0.518186, 0.285335, 0.225515, -0.3028 , -0.251316, -0.257838,\n", + " -0.35727 , -0.051558, -0.017541, -0.157058, -0.20739 , -0.048841,\n", + " -0.076921, 0.401762, 0.046193, -0.571619, 0.227944, -0.09726 ,\n", + " -0.328175, -0.19276 , 0.268814, -0.103624, 0.19197 , -0.590829,\n", + " 0.264758, 0.110896, 0.200588, 0.136263, -0.163296, 0.191576,\n", + " 0.042197, 0.335114, -0.353058, -0.042323, 0.10537 , 0.114269,\n", + " 0.338438, 0.155698, -0.249246, 0.27611 , -0.646976, 0.089374,\n", + " 0.205067, 0.245182, 0.163341, 0.050378, 0.040518, -0.046095,\n", + " 0.191136, 0.004657, -0.008027, -0.159769, -0.287855, -0.153245,\n", + " 0.064275, -0.386296, 0.437777, 0.076946, -0.157912, -0.509742,\n", + " 0.291796, -0.607543, 0.204061, 0.123368, 0.282698, -0.537243,\n", + " -0.469297, -0.041998, 0.196844, 0.03118 , 0.052449, -0.490046,\n", + " 0.04074 , -0.510927, 0.398722, -0.133761, -0.090338, 0.585804,\n", + " -0.115801, -0.007635, -0.203752, 0.106089, -0.21055 , -0.100273,\n", + " 0.302643, 0.124182, -0.135321, 0.379999, 0.004743, 0.406995,\n", + " 0.31432 , -0.011773, 0.181607, 0.246128, 0.686018, 0.44194 ,\n", + " 0.213021, 0.03255 , 0.122265, -0.317878, 0.022174, 0.120954,\n", + " -0.637076, 0.248266, -0.053367, 0.188818, -0.08896 , 0.188217,\n", + " 0.160453, -0.099341, -0.17578 , 0.122035, 0.49662 , -0.353429,\n", + " 0.049898, 0.290235, 0.127376, -0.117245, -0.622707, -0.343044,\n", + " 0.193104, 0.318668, 0.042947, 0.043985, -0.019611, -0.119248,\n", + " -0.364853, 0.052222, -0.297125, 0.174757, 0.057158, -0.234832,\n", + " -0.05366 , -0.432286, -0.03182 , -0.054385, -0.711089, -0.181384,\n", + " -0.323185, 0.842704, 0.110967, 0.160104, -0.101795, 0.026621,\n", + " 0.092096, 0.144561, 0.331472, -0.41198 , -0.307029, 0.136394,\n", + " 0.013609, 0.417459, 0.460221, -0.162844, 0.202637, 0.470719,\n", + " 0.035191, 0.015441, -0.049959, -0.314593, -0.040933, 0.113765,\n", + " 0.204399, -0.15925 , 0.577205, 0.052068, -0.167897, -0.103476,\n", + " -0.093931, -0.355874, -0.069993, -0.194879, 0.336651, -0.119624,\n", + " -0.50594 , 0.552256, 0.08517 , -0.197115, 0.135666, 0.610319,\n", + " 0.447864, 0.018648, -0.625066, -0.488922, 0.022142, 0.06193 ,\n", + " -0.225612, -0.008318, 0.24855 , -0.657624, -0.486312, 0.161316],\n", + " dtype=float32), memmap([ 4.90664154e-01, 1.16829060e-01, -3.70145977e-01,\n", + " 2.67027337e-02, 5.10833740e-01, -1.78374842e-01,\n", + " -4.37525660e-01, -2.84739524e-01, -2.81737268e-01,\n", + " -6.16773725e-01, -2.28848800e-01, -1.40941322e-01,\n", + " 1.91600844e-01, 2.16439545e-01, -1.78148597e-02,\n", + " 4.80165809e-01, -1.40974652e-02, -8.25242400e-01,\n", + " -3.58592898e-01, 9.08445299e-01, 1.82286739e-01,\n", + " 2.06270829e-01, -4.54229116e-01, 3.04890156e-01,\n", + " 3.62802446e-02, -1.81340292e-01, -6.68577671e-01,\n", + " -2.18574971e-01, 1.40097156e-01, 3.15574497e-01,\n", + " -4.23945040e-02, -7.91490853e-01, 1.15607880e-01,\n", + " 1.09957540e+00, 5.18770397e-01, -1.10963690e+00,\n", + " 2.31800243e-01, -9.39818937e-03, -1.75118938e-01,\n", + " 9.18009900e-04, 3.01595002e-01, -1.60103351e-01,\n", + " -2.00902708e-02, -3.83316249e-01, -2.25746319e-01,\n", + " 1.96781680e-01, 1.67125642e-01, 6.12230778e-01,\n", + " -2.22643241e-01, 5.25710918e-02, -3.39929432e-01,\n", + " 2.24378228e-01, 1.33162349e-01, 7.30287433e-01,\n", + " -7.00323641e-01, 2.63728410e-01, -2.29614586e-01,\n", + " 2.03586400e-01, -3.90904695e-01, -4.89683509e-01,\n", + " 2.36555129e-01, -2.26123199e-01, 3.38775367e-02,\n", + " -3.98684293e-01, 1.23709291e-01, 1.69871643e-01,\n", + " -4.56034333e-01, 3.56950581e-01, -4.71678317e-01,\n", + " 1.55933857e-01, -2.77950674e-01, -2.19454393e-01,\n", + " 3.12908180e-02, 6.38557851e-01, -2.32231687e-04,\n", + " 1.73425257e-01, -1.68814838e-01, -1.07848239e+00,\n", + " -1.12599924e-01, -4.78075624e-01, 4.39570062e-02,\n", + " 3.45641673e-01, -4.08883423e-01, -5.11593044e-01,\n", + " 2.26514444e-01, -8.17352593e-01, 2.67727375e-01,\n", + " -2.11578146e-01, -6.87513113e-01, 2.83602387e-01,\n", + " 3.86013508e-01, -4.76187944e-01, -5.16212225e-01,\n", + " 4.53279465e-01, -1.26521051e+00, 4.08380359e-01,\n", + " 3.19252819e-01, -4.21250880e-01, 2.52239704e-01,\n", + " 3.54148149e-01, -2.12432876e-01, 1.52872831e-01,\n", + " -7.38175437e-02, 8.06639612e-01, 3.30629796e-01,\n", + " -2.85541177e-01, 7.56828785e-02, 5.08134812e-02,\n", + " 4.78921324e-01, 3.09208542e-01, -5.39566696e-01,\n", + " -3.90912473e-01, 1.77820235e-01, 2.95692623e-01,\n", + " 3.36197853e-01, -4.11073208e-01, 4.38974947e-01,\n", + " 4.80384417e-02, 8.12411666e-01, 3.25614996e-02,\n", + " -3.48433316e-01, 3.89954925e-01, 2.49961421e-01,\n", + " 4.68981057e-01, 6.51944935e-01, -8.01166520e-03,\n", + " 1.85720827e-02, 3.58602077e-01, 3.83528061e-02,\n", + " -1.45938292e-01, 1.82571620e-01, 9.89364386e-01,\n", + " 2.16092616e-01, 1.19909711e-01, -2.69752264e-01,\n", + " 1.74904749e-01, -1.78164437e-01, -2.03796834e-01,\n", + " 1.19230121e-01, -3.14621627e-02, -6.70904934e-01,\n", + " 4.08991247e-01, 3.54021639e-01, 1.82375401e-01,\n", + " 1.04112282e-01, -4.58571851e-01, -5.95237136e-01,\n", + " 4.60803151e-01, -6.03335686e-02, 8.15706253e-01,\n", + " 1.28859351e-03, 2.24536061e-01, -2.79660106e-01,\n", + " -2.56801754e-01, -5.82995005e-02, -1.90120991e-02,\n", + " -1.58723488e-01, -1.92167044e-01, 2.74163991e-01,\n", + " -2.45178491e-01, -3.86773258e-01, -4.72328514e-01,\n", + " -5.59155464e-01, 5.27911782e-01, 4.67510641e-01,\n", + " -1.69996873e-01, -4.76149440e-01, -4.75848198e-01,\n", + " -1.68783262e-01, -7.22802877e-01, 5.07180989e-02,\n", + " 3.60764503e-01, 1.67514339e-01, -3.80218714e-01,\n", + " -2.33051032e-01, -1.85665756e-01, 2.21210048e-01,\n", + " 1.67589262e-01, 3.48942876e-01, -5.33776939e-01,\n", + " -3.06199014e-01, -4.24581289e-01, -1.19252741e-01,\n", + " -5.41667044e-01, 4.22923803e-01, 5.40693164e-01,\n", + " -1.43282488e-01, 6.99662328e-01, -3.77502829e-01,\n", + " 8.50005355e-03, 4.70836647e-02, -4.03673112e-01,\n", + " -1.25974081e-02, 3.69172245e-01, -2.73934007e-01,\n", + " -3.50091428e-01, -3.27962637e-02, -1.62543043e-01,\n", + " -8.96445587e-02, 3.29125941e-01, 1.16976619e-01,\n", + " 1.74857125e-01, 2.77242333e-01, 2.93879539e-01,\n", + " 2.39593819e-01, -2.45463643e-02, -1.62955761e-01,\n", + " 2.65874080e-02, -5.11556976e-02, 4.07177629e-03,\n", + " -4.78183299e-01, 4.50416386e-01, 6.18455350e-01,\n", + " 2.37070441e-01, 1.06648006e-01, 3.23348135e-01,\n", + " -3.77246648e-01, 1.10092320e-01, -3.02557111e-01,\n", + " 1.57174170e-01, 4.64182079e-01, 5.85980117e-01,\n", + " -2.36348391e-01, 5.43313920e-01, 1.08790830e-01,\n", + " -3.54805519e-03, -7.06284940e-01, 2.34523918e-02,\n", + " 2.08864436e-01, 3.21772218e-01, 1.17901161e-01,\n", + " 3.84086728e-01, -7.88417533e-02, -3.44086170e-01,\n", + " 1.43496513e-01, 2.73656994e-01, -3.25964034e-01,\n", + " 7.58365169e-02, -7.08609581e-01, 1.27840728e-01,\n", + " -3.42051327e-01, -2.56049633e-01, 1.81494534e-01,\n", + " 7.26972818e-01, -7.55411267e-01, 3.42734493e-02,\n", + " 8.43464863e-03, 1.97040346e-02, -1.04085645e-02,\n", + " 5.21583855e-02, 6.10865876e-02, 8.96496028e-02,\n", + " -3.95883828e-01, -3.46284449e-01, 6.20506227e-01,\n", + " -2.44838670e-01, -7.36966670e-01, 5.69501758e-01,\n", + " -4.54406232e-01, 2.79048949e-01, 2.41807207e-01,\n", + " 2.56541520e-01, -3.47426206e-01, -2.38356814e-01,\n", + " 1.22308336e-01, -1.05381660e-01, 2.02544212e-01,\n", + " -5.01674294e-01, 2.44536504e-01, 6.60985941e-04,\n", + " 6.39015973e-01, -4.80138622e-02, 6.77098453e-01,\n", + " 1.36935875e-01, -5.48284408e-03, 1.63136289e-01,\n", + " 4.71613467e-01, -1.60844624e-01, 1.27471328e-01,\n", + " 2.98900276e-01, 8.88981223e-01, -1.93210647e-01,\n", + " -3.64647418e-01, 2.76952088e-01, 3.17015797e-01,\n", + " 8.11943486e-02, 1.77059010e-01, 2.88473487e-01,\n", + " 5.80338128e-02, -5.12909651e-01, 5.61630130e-01,\n", + " 3.84574592e-01, 1.59109816e-01, 7.12167203e-01,\n", + " -3.30145985e-01, 4.47852463e-01, 3.99735689e-01,\n", + " -3.90099198e-01, -3.51124883e-01, -1.68892577e-01], dtype=float32), memmap([-3.37421e-01, 4.31550e-02, 5.85942e-01, 3.40720e-02,\n", + " 1.85127e-01, -2.13688e-01, -4.44838e-01, -1.89291e-01,\n", + " 2.38708e-01, -9.62500e-02, -7.54300e-03, 4.97010e-02,\n", + " 6.00558e-01, 2.53845e-01, 1.95603e-01, -4.35000e-02,\n", + " 3.12329e-01, -7.14725e-01, 1.43380e-02, 4.10801e-01,\n", + " 2.07999e-01, -1.86120e-02, -2.78134e-01, 5.99496e-01,\n", + " 4.36636e-01, -5.89292e-01, -5.24013e-01, 3.90362e-01,\n", + " 1.61396e-01, -2.77535e-01, -2.65512e-01, -4.51590e-02,\n", + " 3.68534e-01, 2.83498e-01, -4.17794e-01, -7.12214e-01,\n", + " -9.09800e-02, 6.53530e-02, 1.74074e-01, 9.82670e-02,\n", + " 5.93569e-01, -2.91669e-01, -2.16775e-01, -1.31618e-01,\n", + " -3.40337e-01, -8.55130e-02, 1.78650e-02, 3.74628e-01,\n", + " 4.59508e-01, 1.55000e-04, 1.86582e-01, -7.62890e-02,\n", + " 9.31180e-02, 3.00875e-01, -1.63022e-01, 1.33752e-01,\n", + " -2.56285e-01, 3.24660e-02, 1.78398e-01, 3.09185e-01,\n", + " -8.11140e-02, -1.00100e-01, 7.71550e-02, -1.92889e-01,\n", + " -4.70081e-01, -3.22454e-01, -1.13383e-01, -2.13688e-01,\n", + " -3.59680e-02, -2.23768e-01, 2.90108e-01, 2.63993e-01,\n", + " -2.66148e-01, 2.70803e-01, -3.74693e-01, -1.11162e-01,\n", + " -3.72337e-01, -3.37815e-01, 1.45940e-01, 1.58786e-01,\n", + " 2.59360e-01, -5.31884e-01, 7.10500e-02, -2.08362e-01,\n", + " 1.69500e-01, -2.00763e-01, 2.36490e-02, -4.73059e-01,\n", + " -3.43683e-01, 6.19190e-02, 1.83861e-01, -1.74520e-02,\n", + " 3.66081e-01, 1.09828e-01, -6.37937e-01, 5.63138e-01,\n", + " 1.03695e-01, 5.45084e-01, 3.37591e-01, 2.69561e-01,\n", + " 6.30247e-01, 5.27520e-02, -3.44775e-01, 1.81075e-01,\n", + " 5.89700e-03, 6.40930e-02, 9.92850e-02, 2.00248e-01,\n", + " -1.25278e-01, 4.89632e-01, 4.01546e-01, -4.25041e-01,\n", + " -1.18417e-01, -2.22500e-01, 1.51890e-02, 1.41770e-02,\n", + " 4.00250e-01, 1.07746e-01, -3.06580e-02, 4.66700e-02,\n", + " -2.67269e-01, 2.52717e-01, 2.25796e-01, -2.16743e-01,\n", + " 1.70602e-01, 3.28280e-02, -1.65239e-01, 9.67160e-02,\n", + " -1.20234e-01, -1.90730e-02, 2.11656e-01, -1.30210e-02,\n", + " 3.05301e-01, -2.52912e-01, 8.10840e-02, 8.52800e-02,\n", + " 1.56528e-01, -6.90380e-02, 6.20003e-01, 1.78028e-01,\n", + " 6.44378e-01, -5.94732e-01, 4.75570e-02, 3.44100e-03,\n", + " 3.81054e-01, -1.97854e-01, -1.56214e-01, 4.01662e-01,\n", + " -2.79320e-02, 4.18088e-01, -1.41819e-01, -1.41661e-01,\n", + " 1.34052e-01, 2.27160e-02, -2.52758e-01, -1.76295e-01,\n", + " -1.77593e-01, 1.97664e-01, -1.00382e-01, -5.83460e-02,\n", + " 2.02915e-01, 8.43752e-01, -2.18958e-01, -1.50960e-01,\n", + " 1.60244e-01, -2.30733e-01, -8.73240e-02, -1.27190e-01,\n", + " 6.36560e-02, -6.15305e-01, 1.39726e-01, 8.54990e-02,\n", + " -3.02877e-01, -6.66781e-01, -1.45540e-01, -6.92640e-02,\n", + " -1.63667e-01, 1.12260e-01, -1.16599e-01, -2.16540e-01,\n", + " 3.82360e-02, -4.24280e-02, -1.10557e-01, 1.97065e-01,\n", + " -2.57966e-01, 9.56380e-02, -3.64401e-01, 2.18631e-01,\n", + " -4.36883e-01, -1.76674e-01, -4.39826e-01, 8.32670e-02,\n", + " 3.05832e-01, -3.01940e-02, -1.58871e-01, -3.08440e-01,\n", + " -4.67033e-01, 3.40700e-03, -3.14009e-01, -1.16547e-01,\n", + " -1.85600e-03, 2.81524e-01, 6.47170e-02, 5.09372e-01,\n", + " 1.92377e-01, -1.02086e-01, -4.82361e-01, 8.23490e-02,\n", + " 6.53230e-02, 1.01569e-01, -1.29723e-01, 3.16850e-01,\n", + " -1.63962e-01, 7.00800e-03, -1.59787e-01, -1.31502e-01,\n", + " 5.50573e-01, -3.10288e-01, -8.90060e-02, -5.39360e-02,\n", + " -4.75300e-02, -4.66702e-01, 1.46732e-01, -6.30601e-01,\n", + " 7.51190e-02, 1.68826e-01, -2.65509e-01, -4.51517e-01,\n", + " -1.16332e-01, -8.70090e-02, 2.63295e-01, 4.03993e-01,\n", + " -3.29335e-01, -1.83470e-01, -1.28396e-01, 2.77670e-02,\n", + " -2.95210e-01, 2.81875e-01, 9.36600e-02, -4.69527e-01,\n", + " -1.37341e-01, -3.54368e-01, -6.32690e-02, 1.43850e-02,\n", + " -1.65353e-01, 2.93508e-01, 2.45160e-02, 5.41075e-01,\n", + " 1.50334e-01, 3.10213e-01, -2.53268e-01, 3.64099e-01,\n", + " 4.90227e-01, -1.50776e-01, 7.39790e-02, -7.38353e-01,\n", + " -6.09470e-02, 6.38342e-01, 9.77860e-02, 2.39126e-01,\n", + " 4.83702e-01, -2.06455e-01, -1.03790e-01, 5.08967e-01,\n", + " -3.68410e-02, -7.52279e-01, 4.88930e-02, -3.74840e-02,\n", + " 2.53503e-01, 2.27987e-01, 1.90043e-01, 4.76737e-01,\n", + " 7.36770e-02, 1.75185e-01, 6.48200e-03, 9.80420e-02,\n", + " 6.37290e-02, -9.34140e-02, 5.13170e-02, -1.18472e-01,\n", + " 2.94027e-01, -5.60600e-02, -5.48200e-02, 2.08351e-01,\n", + " 1.19346e-01, -2.05480e-02, 1.94301e-01, -6.43100e-03,\n", + " 4.02347e-01, 3.45360e-02, 1.74912e-01, 2.44317e-01,\n", + " 1.92728e-01, -2.06325e-01, -4.74463e-01, -3.02178e-01,\n", + " 1.04650e-01, -2.41176e-01, -6.94791e-01, 4.10013e-01],\n", + " dtype=float32), memmap([ 0.2412764 , -0.80919623, 0.08988619, -0.34276873, -0.01980378,\n", + " 0.01631138, 0.5014325 , -0.32859504, 0.06503037, -0.37386578,\n", + " -0.06802873, 0.23027778, 0.691501 , 0.29102153, 0.5991531 ,\n", + " 0.79272515, 0.9669255 , -1.1900718 , -0.2579288 , 0.28978875,\n", + " 0.42414653, 0.35552466, -0.74653697, 0.7746417 , -0.6139781 ,\n", + " -0.85415155, 0.08389497, -0.37607878, -0.02206564, 0.01657947,\n", + " -0.522069 , -0.78772473, 0.67179585, 0.2707177 , 0.213672 ,\n", + " -0.32609728, -0.2535678 , 0.24957828, -0.43445265, 0.02500572,\n", + " -0.16264282, -0.516478 , -0.3395444 , 0.45090795, 0.36570853,\n", + " 0.47903207, -0.7477761 , 0.04938139, -0.3642393 , -0.15223128,\n", + " -0.17770334, 0.66374564, -0.05139345, 0.460912 , 0.7532906 ,\n", + " 0.69470674, -0.5725582 , -0.31006774, 0.06921232, 0.47878668,\n", + " -0.18867676, -0.10672777, 0.5579477 , -0.01027545, 0.14183013,\n", + " -0.19444865, -0.37589762, 0.34238732, -0.18591766, 0.60766673,\n", + " 0.5738701 , 0.61643845, -0.7081855 , 0.3204614 , -0.47523952,\n", + " -0.35898924, -0.23104979, -0.47779956, -0.04822932, 0.01822357,\n", + " 0.34919307, -0.4652103 , -0.34620097, 0.20916827, 0.07246841,\n", + " -0.37191463, -0.11720131, 0.05151633, -0.39063108, 0.4364814 ,\n", + " 0.44905826, -0.24604072, -0.27205655, 0.07729219, -0.6011935 ,\n", + " 0.68132126, 0.4388203 , 0.03743238, 0.5408998 , 0.15357354,\n", + " 0.31519678, -0.1451966 , 0.01849585, 0.6633744 , 0.18146166,\n", + " -0.27227667, -0.4366409 , -0.27980593, 0.03578385, 0.57506955,\n", + " 0.14253703, -0.8501961 , 0.43148148, -0.11948457, -0.3700981 ,\n", + " -0.28583652, -0.1140551 , 0.32074228, 0.5941251 , -0.42964542,\n", + " -0.1846249 , 0.43350685, 0.13279566, 0.03891432, 0.02283001,\n", + " 0.03481941, 0.00391431, -0.30841923, 0.32776132, 0.4531743 ,\n", + " -0.12210145, 0.07935555, 0.5861066 , -0.39338484, 0.6960788 ,\n", + " -0.04080565, 0.34515175, 0.06592443, 0.7918445 , 0.48553494,\n", + " 0.12496304, 0.12268144, 0.28648686, 0.10456755, 0.16139345,\n", + " -0.61350536, 0.03208042, 0.17684169, -0.68105364, 0.7536699 ,\n", + " 0.51994413, 0.05259692, -0.5580486 , 0.15258823, 0.02543306,\n", + " 0.22503723, -0.16755871, 0.06795543, -0.49062243, -0.26281613,\n", + " 0.31832516, 0.2055253 , -0.99435616, -0.5266356 , 0.56760186,\n", + " -0.23029354, 0.28282514, -0.43708262, -0.29563722, -0.2109807 ,\n", + " 0.14797184, 0.2485633 , 0.23805119, -0.5944244 , -0.28781188,\n", + " 0.17371261, 0.19711195, 0.23857728, -0.11740716, -0.45755816,\n", + " -0.14361325, 0.13013451, -0.52065253, -0.19412082, -0.17325142,\n", + " 0.13996074, -0.67187285, 0.61482096, -0.5144041 , 0.18678834,\n", + " 0.43033093, -0.48504534, -0.35436282, -0.17449704, -0.08339579,\n", + " 0.01112885, -0.36798805, 0.35659122, 0.06016702, -0.36318058,\n", + " 0.8864361 , -0.0732975 , 0.18195745, 0.5977225 , 0.379106 ,\n", + " -0.63516194, -0.68328243, -0.44069725, 0.70251685, 0.5270369 ,\n", + " -0.8852525 , 0.60029405, -0.22862257, -0.51613766, 0.0215268 ,\n", + " 0.16914444, 1.0092192 , -0.28036025, 0.06712899, 0.13514543,\n", + " -0.09508519, 0.28265437, -0.2397487 , 0.5059147 , 0.20072207,\n", + " 0.23930608, -0.79125005, -0.40719685, 0.14440948, 0.3462663 ,\n", + " 0.22323972, 0.24246879, -0.25436547, -0.06377896, 0.4300009 ,\n", + " -0.05304535, -0.01921764, 0.19775297, 0.46433097, -0.27801272,\n", + " 0.90582824, -0.66139424, -0.17530738, 0.30933118, 0.33883452,\n", + " -0.24554192, 0.39054862, 0.5573381 , 0.5167349 , 0.4899159 ,\n", + " 0.07788 , 0.3864443 , -0.00409896, -0.11343668, 0.3339614 ,\n", + " -0.36440796, -0.1576676 , 0.00574735, -0.5618651 , 0.00487065,\n", + " 0.47006103, 0.06289399, -0.2872594 , 0.16373901, 0.08067584,\n", + " -0.638271 , -0.03341774, 0.43342945, -0.63222045, -0.4577809 ,\n", + " 0.16250664, -0.47209486, 0.46519703, 0.25064805, -0.2582124 ,\n", + " -0.02918371, 0.5187262 , -0.3965952 , 0.75633436, 0.0734916 ,\n", + " 0.55808043, 0.44093955, -0.6730945 , -0.17531537, 0.67198914,\n", + " -0.54249007, 0.44129148, 0.7191549 , 0.44497216, -0.38665527,\n", + " 0.41160846, 0.47318706, -0.9319175 , 0.27728286, -0.3173306 ,\n", + " -0.01048596, 0.05161836, -0.9687855 , -0.8458022 , 0.97052866],\n", + " dtype=float32), memmap([-3.22402309e-04, -1.49155932e-03, 1.90309924e-03,\n", + " 9.45844629e-04, 2.02577421e-03, -3.06337513e-03,\n", + " -3.16016981e-03, 2.93368497e-03, -1.55477284e-03,\n", + " -9.76904994e-04, -1.54471712e-03, -2.74738157e-03,\n", + " 2.83228955e-03, -2.30349693e-03, -8.45479954e-04,\n", + " 6.74646697e-04, -2.59801955e-03, 1.16163574e-03,\n", + " 1.99537678e-03, 1.13008820e-04, 2.95261532e-04,\n", + " 1.07681518e-03, 3.27430968e-03, -2.81504309e-03,\n", + " -2.28751427e-03, -2.64134095e-03, -1.72127807e-03,\n", + " -1.03119295e-03, -1.98011170e-03, -2.14735678e-06,\n", + " 1.34597695e-03, -9.72082606e-04, -1.40598533e-03,\n", + " -1.02491619e-03, -1.61999068e-03, 1.07329921e-03,\n", + " -3.23087384e-04, -7.57372356e-04, 8.71265715e-04,\n", + " -1.06427586e-03, -1.32480462e-03, 1.20530924e-04,\n", + " -3.00725061e-03, 3.09070270e-03, 5.80933120e-04,\n", + " -6.14507182e-04, -3.11565725e-03, 7.22822326e-04,\n", + " -1.84937951e-03, 2.55933916e-03, 2.11533462e-03,\n", + " -1.05282629e-03, 2.11057183e-03, 3.31744348e-04,\n", + " -9.76479845e-04, -3.41557665e-04, 1.66534667e-03,\n", + " 4.27196035e-04, 1.33890950e-03, 9.40627244e-04,\n", + " 2.79884576e-03, 1.97721715e-03, -2.16120714e-03,\n", + " 3.78807395e-04, 1.20588695e-03, -8.42928857e-05,\n", + " -1.03589857e-03, 1.23681943e-03, -2.69157020e-03,\n", + " -1.37385924e-03, -1.87319913e-03, -1.97007973e-03,\n", + " -2.48839147e-03, 2.55839812e-04, -2.94193975e-03,\n", + " 3.01135052e-03, -2.33740406e-03, -1.30910240e-03,\n", + " -2.14381050e-03, -3.31222126e-03, -2.48053879e-03,\n", + " 2.84020673e-03, 3.24428710e-03, 9.68914013e-04,\n", + " 6.70938520e-04, 2.34425860e-03, -3.17763397e-03,\n", + " -3.16969563e-05, -4.86036937e-04, 3.96696734e-04,\n", + " -5.01655741e-04, 3.12275894e-04, -2.83221877e-03,\n", + " -2.17997236e-03, -6.40439976e-04, -2.03803624e-03,\n", + " 2.88944016e-03, -3.01789911e-03, -1.70413021e-03,\n", + " -7.66015844e-04, -2.02730182e-03, 1.67349493e-03,\n", + " -2.93232291e-03, -3.96727730e-04, -8.63550522e-04,\n", + " -1.07927481e-03, -2.48040364e-04, -3.04926955e-03,\n", + " -7.43780110e-04, -1.18365127e-03, -6.78765762e-04,\n", + " 1.31031673e-04, 1.55114813e-03, 1.00771584e-04,\n", + " -2.66652904e-03, 1.28421304e-03, -2.13826098e-03,\n", + " -3.04869819e-03, 3.21772578e-03, 3.16576962e-03,\n", + " 2.46500084e-03, 5.63129608e-04, -9.57649550e-04,\n", + " -3.27794952e-03, 1.43548334e-03, -2.61815637e-03,\n", + " -6.76608106e-05, 1.98484189e-03, 2.70533632e-03,\n", + " 3.09773767e-03, -7.65140052e-04, -1.95198611e-03,\n", + " -1.37951050e-03, -2.32371083e-03, -3.05233407e-03,\n", + " 3.01382155e-03, -7.12842157e-04, -4.93371510e-04,\n", + " 2.14121421e-03, 4.29211446e-04, -3.23365838e-03,\n", + " -4.70332307e-04, 1.34854391e-03, -1.33307220e-03,\n", + " 3.53972922e-04, -2.01959931e-03, -1.65583217e-03,\n", + " 2.73694680e-03, 1.96807389e-03, 1.62150140e-03,\n", + " -2.98072887e-03, 1.05122721e-03, 2.85791233e-03,\n", + " -1.14838278e-03, -2.99133616e-03, -1.54824101e-03,\n", + " 1.90935854e-03, 2.86161434e-03, 1.82577292e-03,\n", + " -1.23607717e-03, 1.21246418e-03, 2.71045836e-03,\n", + " -2.74512055e-03, 1.03596295e-03, -1.58431055e-03,\n", + " -2.72728363e-03, 1.96830509e-03, -2.67375319e-04,\n", + " 3.24070919e-03, 2.25425093e-03, -2.29388080e-03,\n", + " -2.14934023e-03, -4.13007743e-04, 1.46987045e-03,\n", + " -1.60375598e-03, -2.64789653e-03, -2.94980686e-03,\n", + " -2.46650213e-03, 1.17307261e-03, -1.53079187e-03,\n", + " -2.28267582e-03, -6.19812810e-04, 2.55504204e-03,\n", + " -2.05183029e-03, -6.99526456e-04, -2.97884946e-03,\n", + " -1.26570149e-03, -1.75657903e-03, 7.77738111e-04,\n", + " 2.02997215e-03, 1.36396650e-03, -6.75791875e-04,\n", + " 5.10969141e-04, 9.56034637e-05, 1.53490622e-03,\n", + " -1.09439378e-03, -8.75616854e-04, -3.16809723e-03,\n", + " 1.92422548e-03, -1.95643655e-03, -3.99965444e-04,\n", + " 1.96330715e-03, -1.65293773e-03, -1.13245251e-03,\n", + " 6.28532551e-04, 1.22256833e-03, -2.58438580e-04,\n", + " -2.62106746e-03, 1.69241591e-03, -2.77585676e-03,\n", + " -2.93406961e-03, -1.57747825e-03, 1.65255542e-03,\n", + " 3.99788223e-05, 1.98765751e-03, 1.11366983e-03,\n", + " 3.97363503e-04, -4.62658412e-04, -1.82776130e-03,\n", + " -3.22581455e-03, -4.13715054e-04, 1.27350489e-04,\n", + " -2.76598055e-03, -2.77892756e-03, 1.09165907e-03,\n", + " 3.25405761e-03, 7.18673073e-06, 2.10047397e-03,\n", + " 8.10724916e-04, -2.58621923e-03, -2.31197523e-03,\n", + " 1.83616951e-03, 9.27316374e-04, 2.84367078e-03,\n", + " 9.59507597e-04, 5.71158715e-04, 2.04769522e-03,\n", + " -6.67599030e-04, 7.65576377e-04, 1.73341273e-03,\n", + " 1.86453661e-04, -2.06128042e-03, 3.31260683e-03,\n", + " -3.86811094e-04, -1.39433309e-03, 3.16830794e-03,\n", + " 1.41433324e-03, 6.22274063e-04, -6.62128150e-05,\n", + " -2.29000719e-03, 3.17397923e-03, -1.11994985e-03,\n", + " -2.86899880e-03, 2.60883407e-03, 2.86485185e-03,\n", + " -1.82805536e-03, 2.75118905e-03, -1.95899257e-03,\n", + " -2.04727962e-03, -2.68674060e-03, 4.54041176e-04,\n", + " 2.17535486e-03, 4.11560526e-04, 6.63158891e-04,\n", + " -1.58919732e-03, -3.06332344e-03, -4.00500285e-04,\n", + " -1.60348334e-03, 1.96118583e-03, 2.97981431e-03,\n", + " 3.05151934e-05, -1.94171513e-03, -3.29951593e-03,\n", + " 2.71227211e-03, 8.49873235e-04, -6.43544190e-04,\n", + " -1.96806830e-03, 5.23486931e-04, -1.53756223e-03,\n", + " -1.65311818e-03, -2.03707465e-03, -2.17972347e-03,\n", + " -1.62458187e-03, 2.32329685e-03, -1.51418685e-03,\n", + " 1.45383435e-03, 8.87652219e-04, -9.62320948e-04,\n", + " 3.46217945e-04, 1.24619959e-03, -2.12663575e-03,\n", + " 7.34012108e-04, 1.15769939e-03, 2.08218023e-03,\n", + " 2.65674037e-03, -2.50409124e-03, -2.89237569e-03,\n", + " -8.99211562e-04, -1.93177853e-04, -3.18132946e-03], dtype=float32), memmap([-0.11304554, -0.17019191, -0.37591377, -0.1964785 , -0.03855671,\n", + " -0.5465829 , 0.13955498, -0.81196487, 0.33915898, -0.28856096,\n", + " -0.30437768, 0.34504372, 0.0697837 , 0.4725256 , 0.1492171 ,\n", + " 0.25877407, -0.24696527, -0.3225316 , 0.5621446 , 0.5133265 ,\n", + " 0.07791297, -0.16185799, -0.86460406, 0.41183624, -0.411434 ,\n", + " -0.42981395, -0.7356336 , -0.14298464, 0.1921351 , -0.44442824,\n", + " -0.05749854, 0.1488163 , 0.04496863, 0.39316532, -0.05963315,\n", + " 0.13182326, -0.00728036, -0.10604501, -0.34103677, 0.2496576 ,\n", + " 0.25753272, -0.16918223, 0.2737997 , 0.16440405, -0.40897784,\n", + " 0.30430788, -0.35716105, 0.07702566, -0.21816388, -0.39328775,\n", + " 0.17913122, 0.26410186, -0.1413898 , 0.9780035 , -0.07613662,\n", + " 0.11790818, -0.56053585, 0.33360046, -0.16180678, 0.68728036,\n", + " 0.40537792, 0.0808138 , 0.31340584, -0.3947275 , -0.16067782,\n", + " -0.03476213, 0.04011394, -0.22206394, 0.4405977 , 0.11489405,\n", + " 0.75326633, -0.1065422 , -0.5605966 , 0.41256776, 0.14235072,\n", + " 0.02752061, -0.00878727, -0.5533612 , 0.04815327, -0.36056507,\n", + " 0.18121539, 0.03509434, -0.72010756, 0.17061844, -0.18794253,\n", + " -0.07269225, 0.2327764 , -0.0938172 , -0.03973593, -0.04308951,\n", + " -0.02631606, -0.23025538, -0.15230952, 0.7373602 , -1.0927895 ,\n", + " 0.59010196, -0.03090584, -0.35414106, 0.9817858 , -0.17270613,\n", + " -0.3319297 , -0.05726757, 0.22482996, 0.05336781, 0.35923713,\n", + " -0.21321368, -0.05928909, -0.14732029, -0.27855206, 0.11264312,\n", + " 0.97677326, -0.39941797, 0.33244362, 0.27313015, 0.12746036,\n", + " 0.04676034, 0.22616382, 0.32761914, 0.60939646, -0.2632262 ,\n", + " -0.34031162, -0.21499592, 0.42552027, -0.17891948, 0.40152356,\n", + " 0.20452835, -0.42325124, -0.3806475 , -0.15960899, -0.00776599,\n", + " 0.34072217, -0.06245109, 0.06759007, 0.07671684, 0.14462039,\n", + " 0.17768116, -0.37031057, -0.36130917, 0.66011316, 0.00980707,\n", + " -0.2114999 , -0.12126907, 0.6746984 , -0.42288744, 0.1759603 ,\n", + " -0.22486316, -0.26723403, 0.06900521, -0.04707154, 0.44811168,\n", + " -0.18003221, -0.27003822, -0.30630586, 0.02833987, 0.20060278,\n", + " 0.14325087, -0.01168527, -0.35714456, -0.31511122, 0.11995526,\n", + " -0.4632158 , -0.47649702, -1.1578903 , -0.1001302 , 0.490519 ,\n", + " 0.14216806, -0.49363092, -0.50419354, -0.08047047, -0.20514959,\n", + " 0.40836948, 0.19654505, 0.4118598 , -0.21262205, -0.32683137,\n", + " -0.6018459 , 0.04807634, -0.12148035, 0.08927612, -0.49102637,\n", + " 0.18327522, -0.4054533 , 0.31747186, -0.38694003, -0.38548803,\n", + " 0.516482 , -0.6604811 , 0.24834578, -0.49424893, -0.37022164,\n", + " -0.42839307, 0.3667292 , -0.2640593 , -0.24377865, 0.44157943,\n", + " 0.38040242, -0.36172673, -0.29334813, -0.13322392, 0.16104104,\n", + " 0.01484807, -0.16042829, 0.20952599, 0.19721651, 0.54860103,\n", + " -0.37397933, -0.5486698 , -0.5412052 , 0.5019028 , 0.37126866,\n", + " -0.41860995, 0.42029864, 0.494536 , 0.3658634 , 0.26404265,\n", + " 0.15485118, 0.24040589, 0.42344016, -0.17249516, -0.5071849 ,\n", + " -0.24151315, 0.38745728, -0.26391053, 0.27054107, 0.07490662,\n", + " 0.32731432, -0.18006392, -0.14609346, 0.16931252, -0.21029787,\n", + " 0.3788991 , -0.19054684, -0.49577233, -0.5074248 , 0.32157615,\n", + " -0.10927907, -0.23643999, 0.33245584, 0.0413025 , 0.1073861 ,\n", + " 0.13644178, -0.2531458 , -0.15476516, 0.07745235, -0.49958292,\n", + " -0.22323674, -0.4421263 , -0.13289443, 0.08747664, 0.42127815,\n", + " -0.00165338, -0.36521822, 0.08495087, -0.6160411 , -0.21383107,\n", + " 0.18476675, -0.18594497, 0.04531446, -0.0942342 , 0.07305011,\n", + " -0.19607297, 0.2913201 , 0.28724003, -0.20402808, -0.2689202 ,\n", + " -0.2371097 , -0.18619965, -0.0475978 , -0.14483191, 0.3223423 ,\n", + " 0.15073535, -0.2827219 , 0.31050724, 0.02744416, -0.03127986,\n", + " 0.22447129, 0.23423423, -0.8341749 , -0.26076776, 0.30075696,\n", + " 0.3999014 , -0.20887935, -0.37437624, -0.2922322 , 0.38513082,\n", + " 0.20287815, 0.25528422, -0.08055869, 0.26746652, 0.12647 ,\n", + " 0.15741736, 0.13625745, -0.55376655, 0.3309864 , 0.00393692,\n", + " 0.1813283 , 0.13459302, -0.5238583 , -0.8804926 , 0.10256226],\n", + " dtype=float32), memmap([-4.40559536e-02, 4.35419679e-02, -4.64268066e-02,\n", + " -3.91323306e-02, 2.41148040e-01, -1.17193960e-01,\n", + " -3.94092388e-02, -9.02455971e-02, 1.40311524e-01,\n", + " -6.73298314e-02, 7.88953826e-02, 1.05550185e-01,\n", + " 2.48431355e-01, 1.63401276e-01, -7.04333186e-02,\n", + " 7.97372907e-02, -1.03494637e-01, -3.66225809e-01,\n", + " 1.89804863e-02, 2.11103946e-01, 1.25442520e-01,\n", + " 1.09477676e-01, -2.77217835e-01, 3.66121344e-02,\n", + " -1.64427534e-01, -1.91851661e-01, -1.67163342e-01,\n", + " -2.44736522e-01, 8.39016400e-04, 6.50153309e-02,\n", + " 4.98568863e-02, -8.45209509e-02, -4.74016853e-02,\n", + " 2.92016417e-01, 2.29250342e-01, -3.36190283e-01,\n", + " 6.07709177e-02, -8.59191865e-02, -1.33132681e-01,\n", + " -1.45987540e-01, 1.84603721e-01, -8.22109729e-02,\n", + " 1.14427581e-02, 1.90076302e-04, -1.58108026e-01,\n", + " 8.82826969e-02, 1.09353103e-01, 1.34287253e-01,\n", + " -7.84762725e-02, 1.33146057e-02, -4.46568020e-02,\n", + " 1.97857365e-01, 1.15819506e-01, 2.80517042e-01,\n", + " -1.01680286e-01, 1.68990090e-01, -1.95379034e-01,\n", + " -2.63332222e-02, 1.15169734e-02, -7.29319975e-02,\n", + " 2.18462840e-01, -5.30538559e-02, 6.72411174e-02,\n", + " -8.23095292e-02, -4.49631276e-04, -9.67720598e-02,\n", + " -1.58100829e-01, 1.38054416e-02, -1.20693773e-01,\n", + " 1.45131662e-01, 1.57172889e-01, 4.35635187e-02,\n", + " 1.02396145e-01, 1.07889533e-01, -2.15460006e-02,\n", + " -1.85737997e-01, -6.07643928e-03, -2.52150476e-01,\n", + " -2.24119257e-02, -1.21822894e-01, 1.54612632e-02,\n", + " 9.73278955e-02, -1.64406404e-01, -4.33385149e-02,\n", + " 1.16659023e-01, -2.77190417e-01, 2.57095322e-02,\n", + " -2.59207278e-01, -2.04161540e-01, 1.02937512e-01,\n", + " -6.17894456e-02, 6.20392431e-03, 1.25776887e-01,\n", + " 1.37136981e-01, -4.34765905e-01, 2.65256494e-01,\n", + " -1.87586788e-02, -2.66938120e-01, -4.22445871e-02,\n", + " 9.93893966e-02, -1.90297633e-01, -5.26565313e-02,\n", + " -5.41148484e-02, 2.88271219e-01, -1.62363529e-01,\n", + " -6.78193476e-03, -1.28522543e-02, -3.75640929e-01,\n", + " 1.09995212e-02, 4.24455516e-02, -8.06609839e-02,\n", + " -2.15137646e-01, 1.31808534e-01, -9.57517475e-02,\n", + " 1.75667956e-01, -6.14086501e-02, -3.76778208e-02,\n", + " -2.35562921e-02, 1.01582557e-01, -1.60623387e-01,\n", + " -1.59837738e-01, 1.51581243e-01, -1.04802661e-02,\n", + " 1.40638500e-01, 1.65934384e-01, 1.01969771e-01,\n", + " -6.34570420e-02, 1.70287684e-01, -1.20558009e-01,\n", + " -4.34956215e-02, 1.12660803e-01, -5.00226021e-03,\n", + " 2.91731786e-02, 1.36287853e-01, -3.31241228e-02,\n", + " 2.36962419e-02, -2.48638391e-01, -7.46245161e-02,\n", + " 7.52570406e-02, -6.57297149e-02, -1.43711984e-01,\n", + " -1.94134727e-01, 4.55995388e-02, 6.93484545e-02,\n", + " 1.88567430e-01, -5.06530330e-02, -1.21119872e-01,\n", + " 2.05946892e-01, -4.21399474e-02, 1.43013135e-01,\n", + " -1.10718511e-01, -1.69839598e-02, -8.58342461e-03,\n", + " -1.73194349e-01, 7.68185332e-02, 8.46087001e-03,\n", + " -8.38225335e-02, 2.36203391e-02, 1.15228549e-01,\n", + " -1.62597865e-01, 1.29832089e-01, -7.72858784e-02,\n", + " -9.04352218e-02, 3.78354639e-02, 2.41279647e-01,\n", + " -1.26563296e-01, -2.00343207e-01, -1.60258785e-01,\n", + " 2.79441867e-02, -2.72748411e-01, 1.10205986e-01,\n", + " 1.03767410e-01, 1.33585870e-01, -1.83424324e-01,\n", + " -1.53219149e-01, -1.45983905e-01, 3.87272090e-02,\n", + " 1.93569604e-02, -1.85873471e-02, -1.95592910e-01,\n", + " -3.11357807e-02, -1.31825775e-01, 4.68967073e-02,\n", + " -1.09431855e-01, -8.62112418e-02, 2.61781931e-01,\n", + " -1.61271051e-01, 2.29906872e-01, 5.12788557e-02,\n", + " -1.09168679e-01, 2.78859325e-02, -6.63963631e-02,\n", + " -9.64497924e-02, 1.40087336e-01, 1.69270672e-02,\n", + " 8.99168551e-02, -3.18127796e-02, -4.17753160e-02,\n", + " -1.64912883e-02, 6.02508746e-02, 7.76830167e-02,\n", + " -8.21800902e-02, -8.63790326e-03, 4.24961634e-02,\n", + " 1.88497424e-01, 8.07592869e-02, -2.53998131e-01,\n", + " 1.43859997e-01, 1.35139540e-01, -3.63726839e-02,\n", + " -2.79137194e-01, -6.72371462e-02, 1.47192001e-01,\n", + " -1.06086269e-01, -5.27077392e-02, -8.68014321e-02,\n", + " -5.62409908e-02, 7.09738582e-02, -1.10114895e-01,\n", + " 3.67426984e-02, 3.98305319e-02, 4.59242798e-02,\n", + " -6.52809367e-02, 8.36673602e-02, 8.69781747e-02,\n", + " 1.37927815e-01, -1.92727804e-01, 7.71408482e-03,\n", + " 6.55747503e-02, 7.33169019e-02, -6.73256367e-02,\n", + " 1.10157602e-01, -9.89227295e-02, 4.90926690e-02,\n", + " 2.06972316e-01, -1.53382346e-01, -1.06995128e-01,\n", + " 8.03602114e-02, -1.65130362e-01, 4.24287915e-02,\n", + " 6.92968443e-02, 7.96886608e-02, 7.41368160e-02,\n", + " 5.96688204e-02, -2.43019596e-01, -7.92868361e-02,\n", + " -3.29004303e-02, 1.79200411e-01, -6.30588382e-02,\n", + " 7.47979525e-03, 3.61608565e-02, 1.25268728e-01,\n", + " 1.88356955e-02, -9.78387147e-02, 3.83937031e-01,\n", + " -1.40111282e-01, -1.56929463e-01, 2.90995747e-01,\n", + " -1.80066988e-01, 2.19881415e-01, 5.30162416e-02,\n", + " -1.95168912e-01, 2.67739650e-02, 9.79348123e-02,\n", + " -1.37872592e-01, -1.16141498e-01, 2.13400900e-01,\n", + " -2.06240728e-01, -3.38494852e-02, -3.08223180e-02,\n", + " 5.11252880e-02, -4.84789498e-02, 2.23917887e-01,\n", + " 8.68182257e-02, -1.87061936e-01, 1.60706729e-01,\n", + " 1.95196837e-01, -2.11042706e-02, 3.62021439e-02,\n", + " 2.83679605e-01, 1.74501792e-01, 1.13224655e-01,\n", + " -2.53107756e-01, -1.14890607e-02, 1.98778231e-02,\n", + " -1.42834201e-01, 1.51969522e-01, 5.68657517e-02,\n", + " 9.44104493e-02, -7.61461109e-02, 1.14824146e-01,\n", + " 5.39295636e-02, 2.14271676e-02, 1.41910002e-01,\n", + " -1.08590819e-01, 2.54908036e-02, 1.22709736e-01,\n", + " -2.04784453e-01, -1.88818738e-01, -2.01605763e-02], dtype=float32), memmap([ 0.32578 , 0.078644, -0.284473, -0.043103, -0.148492, -0.271992,\n", + " -0.256287, -0.128406, 0.192044, -0.301513, -0.213644, -0.21922 ,\n", + " 0.346729, 0.39961 , -0.041187, -0.064673, -0.159259, -0.473819,\n", + " -0.131696, 0.411656, -0.090452, 0.35885 , -0.30742 , 0.400447,\n", + " 0.058869, -0.340659, -0.091764, -0.382225, 0.137397, 0.09849 ,\n", + " 0.175798, -0.388585, -0.114541, 0.294432, 0.429353, -0.372209,\n", + " -0.067335, -0.033618, -0.501963, -0.036457, 0.023202, -0.015743,\n", + " -0.118312, -0.219839, 0.007515, 0.290793, 0.249272, 0.371807,\n", + " -0.479821, -0.015644, -0.225672, 0.196833, -0.14098 , 0.480028,\n", + " -0.407426, -0.051851, -0.083413, 0.088155, 0.001932, 0.088727,\n", + " 0.243519, 0.274947, -0.198881, -0.309081, -0.337643, -0.133959,\n", + " -0.081835, 0.211809, -0.273513, 0.173137, 0.010925, -0.334842,\n", + " -0.09216 , 0.489232, -0.224848, -0.320618, 0.079286, -0.374502,\n", + " 0.149843, -0.294909, -0.167261, -0.244219, -0.062447, -0.221991,\n", + " -0.257838, -0.631415, -0.229866, -0.029856, -0.289816, 0.072546,\n", + " -0.122108, -0.042651, -0.237829, 0.249166, -0.368699, 0.194937,\n", + " -0.116356, -0.042706, 0.073473, 0.381708, -0.32925 , -0.302962,\n", + " -0.164274, 0.642391, -0.256382, 0.179569, 0.067912, -0.282575,\n", + " 0.155636, 0.38661 , 0.029366, -0.115002, 0.212112, 0.07097 ,\n", + " 0.362293, 0.26311 , 0.0401 , 0.086576, -0.033194, 0.019719,\n", + " 0.027728, 0.165979, -0.308217, -0.08505 , 0.575888, -0.367418,\n", + " -0.173272, 0.202371, 0.247311, -0.246511, 0.314139, 0.203129,\n", + " 0.231589, 0.119635, -0.411188, -0.114676, 0.017363, -0.139924,\n", + " 0.273322, 0.124293, 0.215594, -0.064539, 0.117553, 0.459265,\n", + " -0.056713, -0.243665, -0.297204, 0.140425, 0.058114, 0.513733,\n", + " 0.166431, -0.391228, -0.078073, 0.252352, 0.116122, -0.032082,\n", + " -0.08158 , 0.150264, 0.155043, -0.182539, -0.058507, 0.077408,\n", + " 0.09024 , 0.08597 , 0.050393, 0.022962, -0.015194, 0.038539,\n", + " 0.077065, -0.457699, 0.205448, 0.095538, 0.298501, -0.288684,\n", + " -0.301455, -0.199907, 0.297622, -0.109406, 0.083409, 0.039554,\n", + " 0.091456, -0.228071, 0.190876, -0.083141, -0.165953, 0.158796,\n", + " -0.097483, 0.167112, -0.015172, -0.162088, 0.065062, -0.101761,\n", + " -0.077816, 0.030687, -0.127244, 0.226725, 0.11124 , -0.126936,\n", + " 0.160387, 0.295693, -0.175371, 0.132897, -0.054404, 0.078639,\n", + " 0.383209, 0.169952, 0.249944, -0.238095, 0.202625, 0.11911 ,\n", + " -0.317612, -0.326548, 0.000833, 0.025351, 0.222048, 0.317587,\n", + " -0.064627, 0.008585, -0.484581, 0.111356, -0.009743, 0.248615,\n", + " 0.242372, 0.40695 , 0.155167, 0.234915, -0.129517, -0.025234,\n", + " -0.097929, 0.196193, -0.172203, 0.048508, -0.302409, -0.233343,\n", + " 0.046877, -0.098054, 0.241099, 0.001985, -0.180109, 0.286339,\n", + " -0.019437, 0.136619, 0.059284, 0.184823, -0.34237 , 0.336823,\n", + " 0.207984, -0.10971 , -0.076407, 0.319385, 0.030097, 0.271308,\n", + " -0.238787, 0.048354, 0.230636, 0.150115, -0.108103, 0.322322,\n", + " -0.165899, 0.058819, 0.410578, 0.034354, 0.024823, -0.003267,\n", + " 0.047331, -0.115509, 0.443631, -0.105312, 0.217216, -0.242357,\n", + " -0.134227, -0.134378, 0.325085, 0.248578, -0.061066, 0.267522,\n", + " 0.198104, 0.062815, 0.153647, 0.00101 , -0.078962, 0.018622,\n", + " -0.051826, 0.280092, 0.268823, 0.052377, -0.14625 , 0.222693,\n", + " 0.061951, -0.024323, 0.016236, 0.492103, -0.028205, 0.261804,\n", + " -0.34242 , 0.223479, 0.251952, -0.442181, -0.036995, -0.349193],\n", + " dtype=float32), memmap([-0.206799, -0.12012 , -0.128747, -0.173868, 0.093803, -0.189012,\n", + " -0.266182, 0.147926, 0.258623, 0.231668, -0.222188, 0.152699,\n", + " 0.379073, 0.283317, -0.052093, -0.317474, -0.308491, -0.480762,\n", + " 0.111768, 0.163729, 0.079023, 0.362933, -0.24828 , 0.113299,\n", + " -0.193724, -0.2253 , -0.128222, -0.871375, -0.003151, 0.199024,\n", + " 0.020185, 0.147621, 0.26047 , 0.134653, 0.341588, -0.232308,\n", + " -0.116317, 0.086757, -0.290265, -0.063699, -0.090503, -0.176131,\n", + " -0.21558 , -0.021441, 0.326229, 0.096291, 0.223859, 0.596061,\n", + " 0.007336, -0.101712, -0.204746, -0.115434, -0.036666, 0.419576,\n", + " -0.242961, 0.090824, -0.409423, -0.257462, 0.36635 , 0.428863,\n", + " 0.262902, 0.431761, 0.058978, 0.208202, -0.068134, -0.020051,\n", + " -0.08368 , -0.213312, 0.141035, 0.605939, 0.211685, -0.211702,\n", + " 0.08424 , -0.183425, -0.061722, -0.308725, 0.672588, -0.522952,\n", + " -0.061962, 0.01831 , -0.274928, -0.198043, -0.300684, 0.071313,\n", + " -0.153775, 0.340889, -0.228218, -0.202426, -0.21227 , -0.187467,\n", + " 0.273959, -0.035981, 0.131653, 0.325471, 0.029259, 0.316532,\n", + " -0.105219, -0.225966, -0.07583 , 0.442094, -0.439899, 0.390888,\n", + " -0.012293, 0.420372, 0.19893 , 0.182709, 0.0941 , -0.165669,\n", + " -0.073625, 0.322572, 0.214894, -0.011093, -0.05997 , 0.340349,\n", + " 0.270825, 0.207474, 0.156615, 0.274741, 0.142925, -0.134121,\n", + " 0.134899, 0.433077, -0.612652, 0.556815, 0.019032, 0.142674,\n", + " -0.234295, -0.030369, -0.237237, -0.444125, -0.186907, 0.189587,\n", + " 0.229328, -0.196091, 0.100412, -0.180822, 0.358288, 0.15909 ,\n", + " 0.135594, -0.035677, 0.303891, -0.103307, 0.05116 , 0.020904,\n", + " 0.221329, -0.184226, -0.4317 , 0.125026, -0.498567, 0.311614,\n", + " 0.030492, -0.435981, -0.255728, 0.070446, 0.238079, -0.040581,\n", + " -0.518552, 0.190723, 0.156731, -0.800022, 0.348348, 0.059185,\n", + " -0.136769, 0.276521, 0.2956 , -0.469348, 0.010307, -0.340297,\n", + " -0.036901, 0.022456, 0.42081 , -0.218393, 0.006222, -0.283931,\n", + " -0.633609, -0.431927, -0.007806, 0.166204, -0.196894, 0.03162 ,\n", + " -0.185818, -0.005599, 0.140929, 0.064965, -0.38575 , -0.015759,\n", + " -0.214555, 0.566119, -0.277296, 0.597384, 0.306446, 0.248475,\n", + " -0.09607 , 0.027678, -0.469028, 0.148379, -0.198173, -0.008767,\n", + " -0.446179, 0.224208, 0.2819 , 0.097758, 0.030568, 0.208974,\n", + " -0.012149, 0.272516, 0.048861, -0.443525, 0.066349, 0.318324,\n", + " 0.042268, -0.615555, -0.147443, 0.010461, 0.324286, 0.207596,\n", + " 0.15205 , -0.469048, -0.07135 , -0.175545, 0.275144, 0.341042,\n", + " 0.038202, 0.473855, -0.515394, 0.235577, -0.095889, -0.273605,\n", + " -0.238758, -0.430222, 0.075831, 0.065095, 0.06779 , -0.374599,\n", + " -0.372456, -0.091415, 0.002305, 0.099534, -0.160779, 0.413421,\n", + " 0.251202, 0.08089 , 0.40321 , -0.120408, -0.093707, 0.074848,\n", + " 0.075625, -0.263871, -0.146111, 0.259136, 0.091112, 0.427504,\n", + " 0.145345, -0.074098, 0.396305, 0.010217, 0.05565 , -0.227193,\n", + " -0.180203, 0.546041, -0.087395, 0.259747, 0.032052, 0.033484,\n", + " -0.27591 , -0.146581, 0.419895, -0.317021, -0.135016, 0.05323 ,\n", + " -0.112559, 0.066779, 0.110225, -0.002201, -0.041203, 0.12628 ,\n", + " -0.366595, -0.406402, -0.083102, 0.221909, 0.087125, 0.131709,\n", + " 0.055157, -0.342694, 0.044728, -0.020309, -0.00866 , 0.379431,\n", + " -0.059055, 0.008931, -0.152852, -0.31803 , 0.313684, 0.547667,\n", + " -0.051446, -0.10883 , 0.371262, -0.560682, -0.201334, -0.203119],\n", + " dtype=float32), memmap([-0.2502971 , 0.5693209 , 0.6859602 , 0.3502432 , 0.03042465,\n", + " -0.40302828, -0.48365286, -0.65839946, -0.3358731 , -0.51330286,\n", + " -0.20787436, -0.4027331 , 0.12128457, -0.09633358, -0.30481058,\n", + " 0.14851086, 0.5458918 , 0.19156294, 0.11829986, -0.23392801,\n", + " 0.392 , -0.48992926, 0.70208365, 0.6010129 , 0.5211704 ,\n", + " 0.81344384, -0.33858076, 0.2273095 , -0.07525846, -0.7354135 ,\n", + " 0.6687955 , -0.16666509, 0.21206343, 0.22326079, -0.34585255,\n", + " -0.42590532, 0.17167363, 0.78599393, -0.065249 , -1.2935292 ,\n", + " -0.4529947 , -0.02257312, 0.13528293, 0.18777046, 0.49390477,\n", + " -0.03556978, 0.5608253 , -0.17261927, -0.34256792, 0.61521316,\n", + " 0.12064233, 0.04716802, -0.1871616 , -0.28701207, 0.5829164 ,\n", + " -0.59850484, -0.5532849 , -0.175368 , 0.16818732, -0.3299332 ,\n", + " -0.39306253, 0.6729647 , -0.2507978 , 0.37720272, -0.54490966,\n", + " 0.49711213, 0.6085116 , 0.18110193, -0.33071607, -0.4212946 ,\n", + " -0.18897709, -0.04324469, 0.5247383 , 0.14580439, 0.0544477 ,\n", + " -0.05025896, -0.07921224, -0.13888495, -0.6286393 , 0.14243431,\n", + " 0.39440152, -0.04422115, -0.52977043, 0.1802003 , 0.32380036,\n", + " 0.9525845 , -0.47127846, -0.2737093 , 0.6637773 , 0.22393264,\n", + " 0.3896496 , -0.30210814, -0.27378252, -0.0409729 , -0.70492774,\n", + " -0.2959512 , 0.2401106 , -0.500258 , -0.13021185, 0.7562607 ,\n", + " -0.25253844, 0.09711885, 0.24976362, 0.7612688 , 0.66700494,\n", + " -0.8683097 , 0.9793068 , -0.35626546, 0.57284486, -0.2534546 ,\n", + " 0.48015976, 0.59566915, 0.36849758, 0.16913733, 1.2349902 ,\n", + " 0.1138988 , 0.47013798, 0.4346716 , 0.480029 , 0.5961265 ,\n", + " -0.11305673, -0.15467317, 0.15031485, 0.3414257 , 0.27386904,\n", + " 0.94369584, -0.92888415, -0.0955107 , 0.44188568, 0.7055486 ,\n", + " -0.11246148, 0.25021565, -0.09587555, 0.21151061, 0.02762759,\n", + " -0.71323097, -0.50389814, 0.12484976, -0.00257557, -0.23291202,\n", + " -0.158402 , 0.44622806, 0.48181775, 0.82323897, -0.43659452,\n", + " -0.39230618, -0.56767344, 0.23886083, -0.4178109 , -0.43680894,\n", + " 0.15968394, -0.05690216, 0.6567981 , -0.6923975 , 0.5464737 ,\n", + " -0.26098818, -0.16786648, -0.16180566, 0.805358 , 0.16115981,\n", + " 0.41978118, 0.39132556, 0.4626196 , 0.42371756, -0.18822318,\n", + " 0.45774755, 0.07204169, -0.86568004, 0.05934478, 0.459054 ,\n", + " -0.10381915, -0.22139299, -0.40845713, -0.26227206, -1.0463864 ,\n", + " -0.31025946, 0.30001158, 0.7539976 , -0.47235617, -0.35770497,\n", + " -0.2704276 , 0.30824903, -0.14733827, 0.46700996, -0.83770853,\n", + " 0.2269185 , -0.26662648, 0.6326865 , -1.3552221 , 0.03666956,\n", + " 0.24061902, -0.84152526, 0.10080509, 0.435912 , 0.5429908 ,\n", + " -0.36978388, -0.85021925, -0.04115516, 0.12593868, 0.14885499,\n", + " -0.02296785, -0.14004676, -0.35459954, 0.50178933, 0.53665936,\n", + " -0.4243553 , 0.1247301 , 0.2984548 , 0.00939161, 0.01990146,\n", + " 0.19237866, -0.30214497, 1.1865892 , -0.13550971, -0.56564116,\n", + " 0.21578464, 0.52063406, -0.18550791, -0.9018661 , 0.2906284 ,\n", + " -0.2303815 , 0.3284327 , -0.45388597, 0.9852445 , -0.1338044 ,\n", + " -0.22731198, -0.4412627 , -0.06100829, 0.29467958, 0.7346881 ,\n", + " -0.3658415 , 0.3892717 , 1.0246668 , -0.28583062, -0.09846623,\n", + " 0.28132552, 0.5735887 , 0.40085393, -0.02253614, 0.62221843,\n", + " 0.73668456, -0.5110986 , 0.37871096, 0.37896314, -0.45458478,\n", + " -0.19574662, -0.35032195, 0.24751079, -0.06169019, -0.6355142 ,\n", + " 0.62589264, -0.13730757, 0.1075398 , -0.04302481, 0.09709013,\n", + " 0.5778902 , -0.62309057, 0.16840915, -0.3636644 , -0.6567919 ,\n", + " 0.08116896, -0.35605344, -0.25171864, 0.59787273, 0.24419805,\n", + " -0.06757798, 0.07714263, 0.26705495, 0.53460073, 0.09097607,\n", + " -0.15350346, 0.23017527, 0.19284713, -0.18528733, -0.03657087,\n", + " 0.07816639, -0.10359774, 0.21850573, -0.01764192, -0.23260617,\n", + " 0.20463182, 0.09853891, -0.07869617, 0.04432994, -0.22215326,\n", + " 0.03493002, -0.00786027, 0.45370266, 0.23501803, -0.5071402 ,\n", + " -0.19300827, -0.3861023 , -0.11932262, -0.02097966, -0.12162941,\n", + " 0.21920775, 0.03217101, -0.7055368 , -0.10286857, -0.24683583],\n", + " dtype=float32), memmap([ 8.156000e-03, -4.873500e-01, 6.150090e-01, -4.004670e-01,\n", + " 8.412970e-01, 2.034050e-01, 6.399700e-02, -1.102000e-02,\n", + " -3.606030e-01, 2.514570e-01, 4.720720e-01, -4.013310e-01,\n", + " 9.316940e-01, -3.875400e-01, 3.765000e-01, -1.406360e-01,\n", + " 6.617380e-01, 4.018790e-01, 2.618420e-01, 4.116010e-01,\n", + " 1.861950e-01, 6.124210e-01, -3.866200e-02, 6.240460e-01,\n", + " -2.266190e-01, -4.012880e-01, 3.883490e-01, -2.141360e-01,\n", + " 4.418490e-01, -5.722120e-01, -7.117030e-01, -6.103210e-01,\n", + " 3.172790e-01, -2.271920e-01, -2.213000e-02, 3.122700e-02,\n", + " 2.883800e-01, 3.080440e-01, -4.560190e-01, 1.765100e-02,\n", + " 3.675470e-01, 2.209190e-01, -2.965510e-01, 1.048620e-01,\n", + " -5.741830e-01, -5.735480e-01, -2.204510e-01, 3.258090e-01,\n", + " 4.162650e-01, 1.497900e-02, 2.617750e-01, 2.091780e-01,\n", + " 5.461600e-02, 2.536970e-01, -2.304870e-01, -1.345070e-01,\n", + " -6.101420e-01, 1.994600e-02, -2.780150e-01, 1.958130e-01,\n", + " 3.747000e-03, 1.693310e-01, -1.099620e-01, -4.203780e-01,\n", + " 3.207200e-02, 2.434480e-01, 3.266090e-01, -3.176100e-01,\n", + " 3.847720e-01, 6.929400e-02, 4.657790e-01, -2.944920e-01,\n", + " -2.138170e-01, -4.168530e-01, 2.333910e-01, -1.571190e-01,\n", + " -2.485050e-01, -6.910600e-02, -1.352000e-01, -5.254700e-02,\n", + " 7.782120e-01, 2.078230e-01, -1.596230e-01, -4.392880e-01,\n", + " 9.218300e-02, -6.006300e-02, -9.013600e-02, -4.826990e-01,\n", + " -5.197160e-01, -1.925000e-03, 6.343020e-01, -2.876530e-01,\n", + " -1.841920e-01, -6.288400e-02, 9.300000e-05, 4.703410e-01,\n", + " 1.697330e-01, 1.612730e-01, 2.554100e-02, -1.157490e-01,\n", + " 9.256780e-01, 1.175800e-02, -2.108440e-01, 4.734240e-01,\n", + " 1.828820e-01, 3.370820e-01, 3.861550e-01, -9.031800e-02,\n", + " -8.146000e-02, 2.809560e-01, 5.065500e-02, -9.644500e-02,\n", + " 3.122900e-02, -3.227280e-01, -1.321770e-01, -5.383090e-01,\n", + " -1.826870e-01, -3.518010e-01, -1.110800e-02, 8.759100e-02,\n", + " -1.929670e-01, 3.065710e-01, -1.646720e-01, -2.958900e-02,\n", + " 1.999890e-01, 4.493410e-01, 2.271790e-01, 1.003300e-02,\n", + " 3.085310e-01, 5.180180e-01, 1.075273e+00, -1.220460e-01,\n", + " 8.176500e-02, -5.210260e-01, -4.159710e-01, 5.792490e-01,\n", + " -3.412360e-01, 8.519130e-01, 7.217580e-01, 5.068100e-02,\n", + " -7.892820e-01, 7.607000e-02, 7.583300e-02, 4.355870e-01,\n", + " 3.667980e-01, -4.560200e-02, -3.097370e-01, 5.284620e-01,\n", + " -3.382320e-01, 6.247220e-01, -5.840000e-03, -1.259060e-01,\n", + " 1.185400e-02, 6.027340e-01, 6.279190e-01, 6.623500e-02,\n", + " 2.467340e-01, -1.861330e-01, -7.869900e-02, -9.892600e-02,\n", + " -2.680700e-01, 3.582380e-01, -4.730150e-01, 4.110370e-01,\n", + " 3.407610e-01, 3.732850e-01, -7.926700e-01, -5.599930e-01,\n", + " -2.224300e-01, -5.134500e-01, -2.927720e-01, 3.085670e-01,\n", + " 5.569200e-02, 2.836610e-01, -1.337500e-01, -2.545120e-01,\n", + " 2.496400e-02, 3.435880e-01, -6.821230e-01, 2.829030e-01,\n", + " 4.778840e-01, -5.775640e-01, 3.542410e-01, 2.110320e-01,\n", + " 1.071270e-01, 3.819740e-01, 2.012370e-01, -4.866700e-01,\n", + " -4.053990e-01, -5.134840e-01, -3.156420e-01, 3.692840e-01,\n", + " 7.338290e-01, -4.884500e-02, -8.410800e-02, -5.713730e-01,\n", + " -6.227620e-01, 1.327560e-01, -3.043120e-01, -1.699790e-01,\n", + " 3.799420e-01, -2.107600e-01, 2.244550e-01, -6.513600e-02,\n", + " 7.516330e-01, -9.498700e-02, -5.265780e-01, 2.748920e-01,\n", + " -1.897780e-01, 5.800100e-01, -2.197780e-01, 3.352900e-01,\n", + " 1.112950e-01, -3.810000e-01, -4.850510e-01, -1.661250e-01,\n", + " 1.238200e-02, -2.251120e-01, -2.931000e-03, -1.984790e-01,\n", + " -3.519000e-02, -9.113900e-02, 1.868800e-02, 2.235380e-01,\n", + " -9.191800e-02, 3.463470e-01, -5.887500e-02, 3.106600e-02,\n", + " 5.382360e-01, 1.272380e-01, -4.736490e-01, 2.778420e-01,\n", + " 6.271000e-03, -6.055440e-01, 1.934790e-01, -1.601690e-01,\n", + " 3.329630e-01, -2.195920e-01, -3.487700e-01, -4.227690e-01,\n", + " 2.919430e-01, -1.761240e-01, 2.210760e-01, 7.097100e-02,\n", + " -4.884260e-01, -3.368430e-01, 8.911400e-02, 1.727370e-01,\n", + " 5.271600e-01, 8.692100e-02, -8.510000e-02, 2.103500e-01,\n", + " 2.394990e-01, -7.042490e-01, 1.192130e-01, -5.528580e-01,\n", + " -1.459520e-01, 1.439900e-01, 5.347230e-01, 1.036136e+00,\n", + " 1.209200e-02, -3.290460e-01, 3.050000e-02, 3.152060e-01,\n", + " 3.740430e-01, 5.416420e-01, 1.357900e-02, 8.296400e-02,\n", + " -3.383180e-01, 2.748020e-01, 4.805100e-02, 3.147930e-01,\n", + " 6.705930e-01, 1.526560e-01, -2.191200e-02, 4.031760e-01,\n", + " 5.159450e-01, -1.841280e-01, 1.594400e-01, -1.843850e-01,\n", + " 2.449140e-01, -9.746300e-02, -4.315000e-02, 7.357870e-01,\n", + " -2.395700e-01, -1.045700e-02, -5.363410e-01, 5.747590e-01,\n", + " 9.750240e-01, -1.371670e-01, -3.440100e-02, -9.239900e-02,\n", + " -1.673550e-01, -1.060000e-01, -3.342170e-01, 4.276020e-01,\n", + " 9.025000e-02, -6.735220e-01, -2.871200e-01, 2.425070e-01],\n", + " dtype=float32), memmap([ 6.59625381e-02, 1.89235479e-01, -7.79601514e-01,\n", + " 7.15939626e-02, -8.69372606e-01, -2.72592515e-01,\n", + " -4.20385361e-01, -8.92359950e-03, -2.77946651e-01,\n", + " -4.06856060e-01, -6.56412989e-02, -1.24449384e+00,\n", + " 2.53835887e-01, 5.73442817e-01, 6.38452172e-02,\n", + " -1.46752402e-01, 1.14241743e+00, -8.15019786e-01,\n", + " 2.52556503e-01, 2.80598402e-01, -2.08425701e-01,\n", + " 9.45822299e-02, -2.34707937e-01, 3.11182112e-01,\n", + " 4.94111795e-03, -3.48592937e-01, 5.39215147e-01,\n", + " -2.27788031e-01, -2.52747446e-01, -1.11943625e-01,\n", + " -2.40669757e-01, 3.31750661e-01, 1.42098144e-01,\n", + " -4.11035985e-01, 8.12002897e-01, 5.77789605e-01,\n", + " -2.64447331e-01, 1.11290775e-01, -7.46011257e-01,\n", + " 3.09294075e-01, 6.56763196e-01, -8.23756993e-01,\n", + " -3.85122389e-01, 7.48516679e-01, 2.36049578e-01,\n", + " 9.46042180e-01, 1.15725780e+00, -6.32170439e-01,\n", + " -9.30644423e-02, 6.65013373e-01, 5.05882442e-01,\n", + " -1.30563959e-01, -3.14573497e-01, 1.08716929e+00,\n", + " 5.35842218e-02, -1.78318229e-02, -4.91556495e-01,\n", + " -7.34593809e-01, -2.46875256e-01, 7.95217037e-01,\n", + " -1.12431878e-02, 6.36637807e-02, -8.69536340e-01,\n", + " -2.60598600e-01, -1.81175724e-01, -6.75663769e-01,\n", + " 7.31039405e-01, 3.86452198e-01, 4.75788325e-01,\n", + " -4.94145542e-01, 4.57803756e-01, -8.55092585e-01,\n", + " 2.76084393e-01, 8.49533141e-01, 8.79947096e-03,\n", + " 9.73382816e-02, 9.69557986e-02, -5.79045773e-01,\n", + " 3.66579711e-01, -6.56518579e-01, 2.07240060e-01,\n", + " 8.98000240e-01, -1.56126678e-01, -7.21950650e-01,\n", + " -8.17798018e-01, -1.32864416e-01, -3.28711241e-01,\n", + " -8.34876835e-01, 1.26573235e-01, 3.74481410e-01,\n", + " 3.31546426e-01, 2.15302613e-02, -1.51542991e-01,\n", + " -3.09416145e-01, -7.16137648e-01, 5.53897798e-01,\n", + " -3.23530436e-01, 5.75744100e-02, 1.46305650e-01,\n", + " 3.66057605e-01, -4.77819890e-01, 1.70816302e-01,\n", + " 3.28640968e-01, -4.07105893e-01, -1.33883670e-01,\n", + " -9.97965187e-02, -3.43421131e-01, -7.71448374e-01,\n", + " -2.04087332e-01, -4.97907549e-01, 4.16878104e-01,\n", + " -2.86139160e-01, 6.54424056e-02, 1.14980200e-03,\n", + " 7.60962605e-01, -3.33009601e-01, 5.61828017e-01,\n", + " 2.44836092e-01, 5.96019290e-02, -7.19100535e-01,\n", + " 3.95481527e-01, 5.33588111e-01, 2.29365863e-02,\n", + " -3.95383865e-01, -4.25350785e-01, -3.92001420e-01,\n", + " -5.34667492e-01, 4.37813103e-01, -5.42716920e-01,\n", + " -3.15622300e-01, 7.59286582e-01, -5.04302502e-01,\n", + " -4.39919293e-01, 4.31947142e-01, 2.14513019e-01,\n", + " 2.41594929e-02, 2.13046014e-01, -1.73142999e-01,\n", + " -1.91128001e-01, -8.62419605e-01, -5.60331106e-01,\n", + " -6.82509169e-02, 1.33380264e-01, 4.65413332e-01,\n", + " 5.49070477e-01, 2.45517224e-01, -2.62172014e-01,\n", + " 1.47596091e-01, 3.28803927e-01, 1.06272630e-01,\n", + " 5.52974582e-01, -1.02564141e-01, -2.15367109e-01,\n", + " 3.34399849e-01, 1.06047459e-01, -1.14743769e-01,\n", + " -1.26409695e-01, 5.74250460e-01, 9.58500266e-01,\n", + " -2.44550958e-01, -6.51661158e-01, -1.14435762e-01,\n", + " -4.46203202e-02, 5.30594110e-01, -6.86825275e-01,\n", + " -1.56053945e-01, 4.21502978e-01, 2.99854487e-01,\n", + " -1.70130596e-01, 5.16769812e-02, 6.87423125e-02,\n", + " 4.94733490e-02, 7.15154350e-01, -5.59829831e-01,\n", + " -2.05372483e-01, 1.00418143e-01, -3.04230988e-01,\n", + " 1.49953693e-01, -3.42622936e-01, -6.44866765e-01,\n", + " -2.26850614e-01, -9.74066079e-01, 7.27708101e-01,\n", + " 4.11472380e-01, 3.38757783e-01, 2.01635495e-01,\n", + " 1.65636793e-01, 1.53941646e-01, -3.77796531e-01,\n", + " -1.59463227e-01, -2.64051825e-01, -5.13599157e-01,\n", + " 7.09387660e-01, -2.58537352e-01, -4.67734128e-01,\n", + " -6.23569451e-02, -1.98514879e-01, -2.02617943e-02,\n", + " -4.49221045e-01, 1.13610536e-01, 6.65723562e-01,\n", + " 3.92688453e-01, 2.57550687e-01, 5.90025671e-02,\n", + " 9.58591580e-01, -4.38710600e-01, 3.85147512e-01,\n", + " -7.85489529e-02, 1.17044616e+00, 2.53073603e-01,\n", + " -1.22355187e+00, -3.12575907e-01, 3.38285685e-01,\n", + " -5.41529000e-01, -2.85269946e-01, -1.23171322e-01,\n", + " 3.72818291e-01, -3.29917832e-03, -8.40681233e-03,\n", + " 1.08564936e-01, 9.04714763e-01, -2.49748453e-01,\n", + " -2.77198046e-01, 3.79203290e-01, 1.36291981e-01,\n", + " 1.99204430e-01, -6.62353456e-01, 1.10741772e-01,\n", + " 9.89382192e-02, -5.89391477e-02, -2.58764058e-01,\n", + " -9.58682895e-02, -3.82318228e-01, -3.24623495e-01,\n", + " -4.98235464e-01, 1.48879811e-01, -4.60041612e-01,\n", + " 3.04842770e-01, -3.77319574e-01, 5.05519450e-01,\n", + " 2.45476384e-02, 3.26315194e-01, -7.35435843e-01,\n", + " 3.14957052e-01, -2.30684072e-01, 4.34145451e-01,\n", + " -1.50056377e-01, 2.39237592e-01, 8.05519462e-01,\n", + " -4.48672205e-01, 5.46842478e-02, 7.66726792e-01,\n", + " -2.47695714e-01, 1.76003397e-01, 7.08803117e-01,\n", + " -5.19729793e-01, -4.61530834e-01, 1.10312775e-01,\n", + " 1.84946448e-01, 7.60490820e-02, -1.40725195e-01,\n", + " 1.41684115e-01, 1.82341203e-01, 5.04837215e-01,\n", + " 2.48294380e-02, -1.27679318e-01, 7.14019656e-01,\n", + " 1.05296083e-01, -2.86501110e-01, 6.30632877e-01,\n", + " -2.70515680e-01, 3.38346034e-01, -6.58773184e-02,\n", + " 1.65869758e-01, -8.38049650e-02, -5.17054461e-02,\n", + " -3.46190840e-01, 7.40991652e-01, -2.09068373e-01,\n", + " 6.66353583e-01, -8.02697718e-01, 4.51846533e-02,\n", + " -2.56991327e-01, 1.16131854e+00, -1.91645384e-01,\n", + " 5.69042504e-01, -6.36480272e-01, 7.02926457e-01,\n", + " -3.68180215e-01, -6.70756757e-01, 4.35333133e-01,\n", + " -1.10592596e-01, -2.43572816e-01, -1.65193155e-01,\n", + " 1.09833010e-01, -1.23563409e-03, 8.21503460e-01,\n", + " 5.00868000e-02, 2.20608842e-02, -6.80162668e-01], dtype=float32), memmap([-0.2502971 , 0.5693209 , 0.6859602 , 0.3502432 , 0.03042465,\n", + " -0.40302828, -0.48365286, -0.65839946, -0.3358731 , -0.51330286,\n", + " -0.20787436, -0.4027331 , 0.12128457, -0.09633358, -0.30481058,\n", + " 0.14851086, 0.5458918 , 0.19156294, 0.11829986, -0.23392801,\n", + " 0.392 , -0.48992926, 0.70208365, 0.6010129 , 0.5211704 ,\n", + " 0.81344384, -0.33858076, 0.2273095 , -0.07525846, -0.7354135 ,\n", + " 0.6687955 , -0.16666509, 0.21206343, 0.22326079, -0.34585255,\n", + " -0.42590532, 0.17167363, 0.78599393, -0.065249 , -1.2935292 ,\n", + " -0.4529947 , -0.02257312, 0.13528293, 0.18777046, 0.49390477,\n", + " -0.03556978, 0.5608253 , -0.17261927, -0.34256792, 0.61521316,\n", + " 0.12064233, 0.04716802, -0.1871616 , -0.28701207, 0.5829164 ,\n", + " -0.59850484, -0.5532849 , -0.175368 , 0.16818732, -0.3299332 ,\n", + " -0.39306253, 0.6729647 , -0.2507978 , 0.37720272, -0.54490966,\n", + " 0.49711213, 0.6085116 , 0.18110193, -0.33071607, -0.4212946 ,\n", + " -0.18897709, -0.04324469, 0.5247383 , 0.14580439, 0.0544477 ,\n", + " -0.05025896, -0.07921224, -0.13888495, -0.6286393 , 0.14243431,\n", + " 0.39440152, -0.04422115, -0.52977043, 0.1802003 , 0.32380036,\n", + " 0.9525845 , -0.47127846, -0.2737093 , 0.6637773 , 0.22393264,\n", + " 0.3896496 , -0.30210814, -0.27378252, -0.0409729 , -0.70492774,\n", + " -0.2959512 , 0.2401106 , -0.500258 , -0.13021185, 0.7562607 ,\n", + " -0.25253844, 0.09711885, 0.24976362, 0.7612688 , 0.66700494,\n", + " -0.8683097 , 0.9793068 , -0.35626546, 0.57284486, -0.2534546 ,\n", + " 0.48015976, 0.59566915, 0.36849758, 0.16913733, 1.2349902 ,\n", + " 0.1138988 , 0.47013798, 0.4346716 , 0.480029 , 0.5961265 ,\n", + " -0.11305673, -0.15467317, 0.15031485, 0.3414257 , 0.27386904,\n", + " 0.94369584, -0.92888415, -0.0955107 , 0.44188568, 0.7055486 ,\n", + " -0.11246148, 0.25021565, -0.09587555, 0.21151061, 0.02762759,\n", + " -0.71323097, -0.50389814, 0.12484976, -0.00257557, -0.23291202,\n", + " -0.158402 , 0.44622806, 0.48181775, 0.82323897, -0.43659452,\n", + " -0.39230618, -0.56767344, 0.23886083, -0.4178109 , -0.43680894,\n", + " 0.15968394, -0.05690216, 0.6567981 , -0.6923975 , 0.5464737 ,\n", + " -0.26098818, -0.16786648, -0.16180566, 0.805358 , 0.16115981,\n", + " 0.41978118, 0.39132556, 0.4626196 , 0.42371756, -0.18822318,\n", + " 0.45774755, 0.07204169, -0.86568004, 0.05934478, 0.459054 ,\n", + " -0.10381915, -0.22139299, -0.40845713, -0.26227206, -1.0463864 ,\n", + " -0.31025946, 0.30001158, 0.7539976 , -0.47235617, -0.35770497,\n", + " -0.2704276 , 0.30824903, -0.14733827, 0.46700996, -0.83770853,\n", + " 0.2269185 , -0.26662648, 0.6326865 , -1.3552221 , 0.03666956,\n", + " 0.24061902, -0.84152526, 0.10080509, 0.435912 , 0.5429908 ,\n", + " -0.36978388, -0.85021925, -0.04115516, 0.12593868, 0.14885499,\n", + " -0.02296785, -0.14004676, -0.35459954, 0.50178933, 0.53665936,\n", + " -0.4243553 , 0.1247301 , 0.2984548 , 0.00939161, 0.01990146,\n", + " 0.19237866, -0.30214497, 1.1865892 , -0.13550971, -0.56564116,\n", + " 0.21578464, 0.52063406, -0.18550791, -0.9018661 , 0.2906284 ,\n", + " -0.2303815 , 0.3284327 , -0.45388597, 0.9852445 , -0.1338044 ,\n", + " -0.22731198, -0.4412627 , -0.06100829, 0.29467958, 0.7346881 ,\n", + " -0.3658415 , 0.3892717 , 1.0246668 , -0.28583062, -0.09846623,\n", + " 0.28132552, 0.5735887 , 0.40085393, -0.02253614, 0.62221843,\n", + " 0.73668456, -0.5110986 , 0.37871096, 0.37896314, -0.45458478,\n", + " -0.19574662, -0.35032195, 0.24751079, -0.06169019, -0.6355142 ,\n", + " 0.62589264, -0.13730757, 0.1075398 , -0.04302481, 0.09709013,\n", + " 0.5778902 , -0.62309057, 0.16840915, -0.3636644 , -0.6567919 ,\n", + " 0.08116896, -0.35605344, -0.25171864, 0.59787273, 0.24419805,\n", + " -0.06757798, 0.07714263, 0.26705495, 0.53460073, 0.09097607,\n", + " -0.15350346, 0.23017527, 0.19284713, -0.18528733, -0.03657087,\n", + " 0.07816639, -0.10359774, 0.21850573, -0.01764192, -0.23260617,\n", + " 0.20463182, 0.09853891, -0.07869617, 0.04432994, -0.22215326,\n", + " 0.03493002, -0.00786027, 0.45370266, 0.23501803, -0.5071402 ,\n", + " -0.19300827, -0.3861023 , -0.11932262, -0.02097966, -0.12162941,\n", + " 0.21920775, 0.03217101, -0.7055368 , -0.10286857, -0.24683583],\n", + " dtype=float32), memmap([-0.43704328, 0.16851279, -0.02601243, -0.4168659 , 0.5224745 ,\n", + " -0.7142246 , -0.12885816, -0.34436578, 0.42917573, 0.3045386 ,\n", + " -0.08298457, -0.14984162, 0.5831198 , -0.43861976, -0.03711507,\n", + " 0.6785138 , 0.81154084, 0.6048088 , 0.15759212, -0.27437976,\n", + " 0.40610436, 0.7107106 , 0.31907973, -0.56643194, -0.2333762 ,\n", + " -0.232309 , 0.26930478, -0.84855753, 0.15965381, -0.32424158,\n", + " -0.00523245, -0.71766424, 0.17675807, 0.01695049, 0.34313464,\n", + " 0.40653548, 0.50340587, 0.48564705, -0.09228632, 0.04486391,\n", + " 0.5951995 , -0.3139564 , -0.38185194, 0.52537715, -0.16477115,\n", + " -0.297901 , -0.46319473, 0.3508003 , 0.26041496, 0.07937319,\n", + " 0.35707846, 0.28729433, 0.02988764, 0.38840854, -0.31187415,\n", + " 0.31206766, -0.19074814, 0.34293324, -0.06722233, 0.09738967,\n", + " -0.7956899 , -0.7158977 , 0.47358373, 0.20765392, -0.216061 ,\n", + " 0.08355573, 0.5674395 , -0.7288827 , 0.22942673, 0.10188313,\n", + " 0.44288352, -0.4911556 , -0.04389782, -0.2898793 , 0.25662944,\n", + " 0.41891834, 0.0709367 , -0.73468864, -0.42741016, 0.28716776,\n", + " 0.53391683, 0.15716013, -0.33163205, 0.07225388, -0.23595211,\n", + " 0.35344008, -0.10157669, -0.34501886, -0.5122641 , 0.6390044 ,\n", + " 0.21933913, -0.3115119 , 0.29910016, 0.5659623 , -0.03358399,\n", + " -0.00193472, -0.6880251 , 0.29486933, 0.10980212, -0.09594101,\n", + " 0.29690126, 0.5913313 , -0.29688758, -0.46061993, 0.07246412,\n", + " 0.0805434 , -0.16526218, 0.22637607, 0.86492795, -0.38849187,\n", + " 0.17903516, -0.6180861 , 0.24439453, -0.36301985, -0.02965929,\n", + " -0.78820145, -0.06487131, 0.1825285 , -0.05630683, 0.21455152,\n", + " -0.18059276, 0.42041224, -0.24461502, -0.567747 , -0.28765854,\n", + " 0.6082309 , -0.03698164, -0.578393 , 0.6160879 , -0.17018496,\n", + " 0.48615724, 0.116336 , 0.39397898, -0.41099846, 0.16321197,\n", + " 0.35372427, -0.49958637, 0.20662603, 0.2038773 , 0.04572682,\n", + " -0.26657137, 0.13991252, -0.06601115, 0.03737917, 0.0380998 ,\n", + " 0.21199536, -0.67977315, 0.12702154, 0.68996567, -0.01940528,\n", + " -0.00620544, 0.02354749, 0.17335285, 0.13090533, 0.6455452 ,\n", + " -0.04186703, 0.41136578, -0.5651506 , 0.07603364, -0.27045494,\n", + " -0.42935705, 0.33144286, -0.2099001 , 0.61004084, 0.27491075,\n", + " 0.649559 , -0.3522523 , -0.6714804 , -0.51938534, -0.43280384,\n", + " -0.13927382, 0.26399016, -0.38233885, -0.30353945, -0.4417773 ,\n", + " -0.38795018, -0.31546074, 0.3286482 , -0.22237799, -0.45397872,\n", + " 0.48318398, -1.1950771 , 0.4714804 , -0.8430064 , 0.29040694,\n", + " -0.09525143, -0.68426037, -0.8060836 , -0.8018194 , -0.3993437 ,\n", + " -0.04741618, 0.48607898, 0.4597548 , -0.468694 , -0.26661292,\n", + " -0.42299426, 0.6655192 , 0.05668921, -0.18864775, -0.10226376,\n", + " 0.7484418 , -0.3359666 , -0.13154876, 0.17690389, 0.30966806,\n", + " -0.21480235, 0.12093903, -0.49554706, -0.41209584, 0.1880465 ,\n", + " -0.53453296, -0.04710912, -0.38869777, -1.0077711 , -0.3610903 ,\n", + " -0.21228951, 0.03051093, 0.5464496 , -0.05131094, 0.20543899,\n", + " 0.02992031, 0.36773217, -1.0533086 , 0.76720047, -0.58706594,\n", + " 0.95999926, -0.4792188 , 0.20755163, -0.05995932, -0.09290113,\n", + " -0.65401894, -0.71890354, 0.07409877, -0.4798239 , 0.14673023,\n", + " -0.76999164, 0.46697956, -0.10719278, 0.11801249, -0.04767519,\n", + " -0.00634744, -0.5722744 , 0.49527958, -0.00781797, -0.6562131 ,\n", + " -0.04025438, -0.4735397 , 0.53849965, -0.11708286, 0.40879008,\n", + " -0.5351275 , 0.26375774, 0.38303128, -0.47321445, 0.28118816,\n", + " -0.22255424, -0.23109892, 0.4600461 , -0.04164021, 0.82314825,\n", + " -0.11952572, 0.07120946, 0.61873853, 0.2888831 , -0.7436362 ,\n", + " -0.7408248 , 0.04528516, 0.38334835, -0.17638847, 0.40847474,\n", + " -0.16611834, -0.07722652, 1.4418545 , -0.10621136, -0.32124746,\n", + " 0.60380197, -0.03822711, 0.04754806, 0.4502709 , -0.23952693,\n", + " 0.08672749, -0.873503 , -0.6670881 , 0.405368 , -0.42750865,\n", + " 0.16198066, -0.5099588 , 0.50733304, 0.5181686 , -0.14966993,\n", + " -0.3101583 , 0.18488207, -0.11657072, -0.5372135 , -0.52833736,\n", + " 0.26373565, 0.45132634, -0.14235266, -0.72201425, 0.5884028 ],\n", + " dtype=float32), memmap([ 0.45276 , 0.063457, 0.247563, -0.115252, 0.020723, -0.536397,\n", + " -0.260064, 0.139575, -0.238889, 0.19069 , -0.173292, 0.09557 ,\n", + " 0.131441, 0.413704, 0.040792, -0.063668, 0.016248, -0.083254,\n", + " -0.214034, 0.033384, -0.233592, 0.23619 , -0.254382, 0.149682,\n", + " -0.052058, -0.267304, -0.209867, -0.489759, -0.078732, 0.052995,\n", + " 0.028081, -0.102169, 0.149331, 0.422868, 0.35068 , -0.14183 ,\n", + " 0.086175, 0.195618, -0.098818, -0.174006, 0.1912 , -0.35835 ,\n", + " 0.065301, 0.131453, 0.032487, 0.033677, 0.14361 , -0.032814,\n", + " 0.088664, -0.207759, 0.023549, 0.102896, 0.105861, 0.089039,\n", + " -0.487162, 0.352623, 0.138312, 0.086124, -0.203287, 0.001295,\n", + " -0.00459 , -0.057297, 0.370093, 0.066792, 0.03809 , 0.171513,\n", + " -0.244527, -0.097714, -0.093119, 0.227096, 0.160428, -0.313538,\n", + " -0.129719, 0.073701, 0.401143, -0.157984, 0.32976 , -0.182166,\n", + " 0.219265, 0.105068, -0.350571, 0.037501, -0.340924, 0.250467,\n", + " 0.060091, -0.281335, -0.158664, -0.106004, -0.20838 , 0.222396,\n", + " 0.153751, -0.116612, 0.122128, 0.391464, 0.016938, -0.085968,\n", + " 0.071059, -0.031022, 0.105347, 0.02279 , 0.088751, 0.130275,\n", + " 0.007028, 0.088868, 0.176008, -0.081614, -0.023103, 0.13988 ,\n", + " -0.09104 , 0.546032, 0.505563, -0.218103, 0.013397, 0.158733,\n", + " 0.012275, 0.337109, 0.130033, 0.299149, 0.356366, 0.11367 ,\n", + " 0.13699 , 0.112957, 0.142398, 0.102738, 0.371043, 0.195284,\n", + " -0.309559, -0.39787 , -0.032952, -0.059523, 0.043354, 0.173698,\n", + " 0.116488, 0.151006, -0.176497, 0.22993 , 0.04814 , -0.047728,\n", + " -0.045095, 0.10663 , -0.096288, -0.017658, 0.068096, 0.236744,\n", + " -0.195009, -0.394398, 0.018864, -0.313605, 0.003295, 0.325263,\n", + " 0.240954, -0.227938, -0.244489, -0.02028 , 0.059487, 0.091123,\n", + " -0.476628, 0.062406, 0.17312 , -0.173455, -0.145286, -0.368459,\n", + " -0.550035, -0.043911, -0.344575, 0.155624, -0.127594, 0.023031,\n", + " 0.259582, -0.179622, 0.520956, -0.272731, 0.103016, -0.378913,\n", + " -0.208856, -0.453862, 0.049916, -0.055754, -0.368626, -0.196425,\n", + " -0.170046, 0.034324, 0.663574, -0.019699, -0.163909, 0.123988,\n", + " -0.466244, 0.131718, -0.357213, 0.199614, 0.228894, -0.425143,\n", + " 0.134859, 0.015062, -0.101639, -0.018113, 0.044656, 0.043929,\n", + " -0.214353, -0.217944, 0.174555, -0.172908, 0.104369, -0.035861,\n", + " 0.435991, 0.288927, 0.068381, 0.164628, 0.401359, 0.114695,\n", + " -0.177388, -0.238462, 0.0757 , -0.200948, 0.148048, 0.069463,\n", + " 0.249192, -0.132481, 0.065092, -0.181453, 0.298211, 0.040259,\n", + " -0.079447, 0.302288, -0.00547 , 0.259621, 0.02166 , -0.165791,\n", + " 0.070262, 0.240404, 0.1705 , 0.082119, 0.03464 , -0.202832,\n", + " -0.233617, -0.067878, -0.133053, -0.222493, -0.273086, -0.019061,\n", + " 0.043268, -0.113359, 0.164553, -0.036621, -0.361226, 0.195043,\n", + " -0.221796, -0.017348, 0.145414, -0.15351 , 0.069218, -0.360388,\n", + " 0.163804, -0.150298, 0.177961, -0.2488 , 0.412251, 0.06104 ,\n", + " -0.283267, -0.087655, -0.145379, 0.537582, -0.289966, 0.245687,\n", + " -0.139974, -0.067648, 0.251582, -0.126123, -0.001532, 0.021558,\n", + " -0.154117, -0.154252, -0.051707, 0.165453, 0.16506 , 0.010888,\n", + " 0.305929, -0.357257, -0.05375 , 0.13987 , -0.075153, 0.219257,\n", + " -0.150093, 0.254249, 0.268181, -0.352941, -0.02545 , 0.309469,\n", + " -0.165501, 0.099614, 0.087635, -0.095583, 0.265635, 0.259882,\n", + " -0.142691, 0.075028, 0.58583 , -0.356721, -0.248431, -0.137001],\n", + " dtype=float32), memmap([-0.2502971 , 0.5693209 , 0.6859602 , 0.3502432 , 0.03042465,\n", + " -0.40302828, -0.48365286, -0.65839946, -0.3358731 , -0.51330286,\n", + " -0.20787436, -0.4027331 , 0.12128457, -0.09633358, -0.30481058,\n", + " 0.14851086, 0.5458918 , 0.19156294, 0.11829986, -0.23392801,\n", + " 0.392 , -0.48992926, 0.70208365, 0.6010129 , 0.5211704 ,\n", + " 0.81344384, -0.33858076, 0.2273095 , -0.07525846, -0.7354135 ,\n", + " 0.6687955 , -0.16666509, 0.21206343, 0.22326079, -0.34585255,\n", + " -0.42590532, 0.17167363, 0.78599393, -0.065249 , -1.2935292 ,\n", + " -0.4529947 , -0.02257312, 0.13528293, 0.18777046, 0.49390477,\n", + " -0.03556978, 0.5608253 , -0.17261927, -0.34256792, 0.61521316,\n", + " 0.12064233, 0.04716802, -0.1871616 , -0.28701207, 0.5829164 ,\n", + " -0.59850484, -0.5532849 , -0.175368 , 0.16818732, -0.3299332 ,\n", + " -0.39306253, 0.6729647 , -0.2507978 , 0.37720272, -0.54490966,\n", + " 0.49711213, 0.6085116 , 0.18110193, -0.33071607, -0.4212946 ,\n", + " -0.18897709, -0.04324469, 0.5247383 , 0.14580439, 0.0544477 ,\n", + " -0.05025896, -0.07921224, -0.13888495, -0.6286393 , 0.14243431,\n", + " 0.39440152, -0.04422115, -0.52977043, 0.1802003 , 0.32380036,\n", + " 0.9525845 , -0.47127846, -0.2737093 , 0.6637773 , 0.22393264,\n", + " 0.3896496 , -0.30210814, -0.27378252, -0.0409729 , -0.70492774,\n", + " -0.2959512 , 0.2401106 , -0.500258 , -0.13021185, 0.7562607 ,\n", + " -0.25253844, 0.09711885, 0.24976362, 0.7612688 , 0.66700494,\n", + " -0.8683097 , 0.9793068 , -0.35626546, 0.57284486, -0.2534546 ,\n", + " 0.48015976, 0.59566915, 0.36849758, 0.16913733, 1.2349902 ,\n", + " 0.1138988 , 0.47013798, 0.4346716 , 0.480029 , 0.5961265 ,\n", + " -0.11305673, -0.15467317, 0.15031485, 0.3414257 , 0.27386904,\n", + " 0.94369584, -0.92888415, -0.0955107 , 0.44188568, 0.7055486 ,\n", + " -0.11246148, 0.25021565, -0.09587555, 0.21151061, 0.02762759,\n", + " -0.71323097, -0.50389814, 0.12484976, -0.00257557, -0.23291202,\n", + " -0.158402 , 0.44622806, 0.48181775, 0.82323897, -0.43659452,\n", + " -0.39230618, -0.56767344, 0.23886083, -0.4178109 , -0.43680894,\n", + " 0.15968394, -0.05690216, 0.6567981 , -0.6923975 , 0.5464737 ,\n", + " -0.26098818, -0.16786648, -0.16180566, 0.805358 , 0.16115981,\n", + " 0.41978118, 0.39132556, 0.4626196 , 0.42371756, -0.18822318,\n", + " 0.45774755, 0.07204169, -0.86568004, 0.05934478, 0.459054 ,\n", + " -0.10381915, -0.22139299, -0.40845713, -0.26227206, -1.0463864 ,\n", + " -0.31025946, 0.30001158, 0.7539976 , -0.47235617, -0.35770497,\n", + " -0.2704276 , 0.30824903, -0.14733827, 0.46700996, -0.83770853,\n", + " 0.2269185 , -0.26662648, 0.6326865 , -1.3552221 , 0.03666956,\n", + " 0.24061902, -0.84152526, 0.10080509, 0.435912 , 0.5429908 ,\n", + " -0.36978388, -0.85021925, -0.04115516, 0.12593868, 0.14885499,\n", + " -0.02296785, -0.14004676, -0.35459954, 0.50178933, 0.53665936,\n", + " -0.4243553 , 0.1247301 , 0.2984548 , 0.00939161, 0.01990146,\n", + " 0.19237866, -0.30214497, 1.1865892 , -0.13550971, -0.56564116,\n", + " 0.21578464, 0.52063406, -0.18550791, -0.9018661 , 0.2906284 ,\n", + " -0.2303815 , 0.3284327 , -0.45388597, 0.9852445 , -0.1338044 ,\n", + " -0.22731198, -0.4412627 , -0.06100829, 0.29467958, 0.7346881 ,\n", + " -0.3658415 , 0.3892717 , 1.0246668 , -0.28583062, -0.09846623,\n", + " 0.28132552, 0.5735887 , 0.40085393, -0.02253614, 0.62221843,\n", + " 0.73668456, -0.5110986 , 0.37871096, 0.37896314, -0.45458478,\n", + " -0.19574662, -0.35032195, 0.24751079, -0.06169019, -0.6355142 ,\n", + " 0.62589264, -0.13730757, 0.1075398 , -0.04302481, 0.09709013,\n", + " 0.5778902 , -0.62309057, 0.16840915, -0.3636644 , -0.6567919 ,\n", + " 0.08116896, -0.35605344, -0.25171864, 0.59787273, 0.24419805,\n", + " -0.06757798, 0.07714263, 0.26705495, 0.53460073, 0.09097607,\n", + " -0.15350346, 0.23017527, 0.19284713, -0.18528733, -0.03657087,\n", + " 0.07816639, -0.10359774, 0.21850573, -0.01764192, -0.23260617,\n", + " 0.20463182, 0.09853891, -0.07869617, 0.04432994, -0.22215326,\n", + " 0.03493002, -0.00786027, 0.45370266, 0.23501803, -0.5071402 ,\n", + " -0.19300827, -0.3861023 , -0.11932262, -0.02097966, -0.12162941,\n", + " 0.21920775, 0.03217101, -0.7055368 , -0.10286857, -0.24683583],\n", + " dtype=float32), memmap([-0.34791982, 0.35519612, -0.2357776 , -0.15598239, 0.40842968,\n", + " -0.07716703, -0.37750414, -0.1011829 , 0.10936252, -0.06144233,\n", + " 0.23508106, -0.4193564 , 0.6613736 , 0.09719941, 0.22581628,\n", + " -0.04572814, 0.38854527, 0.12327043, 0.5914849 , -0.45474783,\n", + " 0.30133805, 0.9500505 , 0.29877782, 0.15602471, 0.08614317,\n", + " -0.16534169, 0.6388528 , -0.7290853 , 0.2161327 , -0.42732048,\n", + " -0.25721654, -0.36353788, 0.10769274, 0.00218416, -0.04622876,\n", + " 0.6006969 , 0.38186675, 0.6373773 , 0.30885363, -0.21828113,\n", + " 0.3739726 , 0.14815642, -0.32714102, 0.03677403, -0.63059735,\n", + " -0.4220095 , -0.32744214, 0.23211578, 0.42321107, -0.05722558,\n", + " 0.26803967, -0.2706911 , -0.05219204, -0.05424472, -0.22355926,\n", + " 0.1983524 , 0.2598351 , 0.5422917 , -0.18819982, 0.4785342 ,\n", + " -0.35591277, -0.33282754, -0.07390904, 0.21366185, -0.37500066,\n", + " 0.4891794 , 0.56845856, -0.21780765, 0.48941663, 0.2276083 ,\n", + " 0.47828814, -0.60836315, -0.01246514, -0.44337443, 0.19588524,\n", + " -0.31873792, 0.47275895, 0.05064954, -0.01413631, -0.13798603,\n", + " 0.52441746, 0.13424136, -0.43579292, 0.26190293, 0.28480116,\n", + " -0.02670246, -0.2889117 , -0.08038341, -0.03973486, 0.56454235,\n", + " 0.02029793, -0.8892638 , 0.06779003, 0.10327538, -0.12719914,\n", + " 0.22716945, -0.3884649 , 0.44756356, 0.43417794, 0.07219587,\n", + " -0.25571278, 0.33660802, 0.11323246, 0.13444889, -0.10157079,\n", + " 0.3112869 , -0.33286014, 0.14473471, 0.18306738, 0.10347184,\n", + " 0.24112451, 0.32636502, 0.5154524 , 0.13344556, 0.525867 ,\n", + " -0.66264164, 0.47533908, -0.4880552 , -0.3275483 , 0.17618012,\n", + " -0.09694817, 0.54932225, -0.13059703, -0.26231843, -0.2370771 ,\n", + " 0.8443317 , -0.07856084, -0.5146307 , 0.16666341, 0.09550036,\n", + " 0.03247118, -0.07383429, 0.4669772 , -0.2277151 , -0.518375 ,\n", + " 0.10275586, -0.10706193, 0.26353982, -0.11688339, -0.33552176,\n", + " -0.59102345, 0.01780802, -0.20528166, -0.2352671 , 0.24078798,\n", + " 0.18699683, -0.8802745 , 0.01402704, 0.53083193, 0.41630623,\n", + " -0.29602045, -0.07719743, -0.2214767 , 0.29589057, 0.00286799,\n", + " -0.07588245, 0.22708206, -0.63453597, 0.18555929, 0.13604456,\n", + " -0.04750459, 0.33158267, -0.7010693 , 0.26763576, 0.35792622,\n", + " 0.6403971 , -0.6189957 , -0.33163124, -0.5352795 , 0.09608977,\n", + " 0.07197314, 0.34976137, -0.11853023, -0.3255099 , -0.30089006,\n", + " 0.08450063, 0.05592928, 0.03574779, -0.47175035, 0.20533407,\n", + " 0.3341692 , -0.53694904, 0.6272017 , -1.1881298 , -0.11339198,\n", + " 0.09402371, -0.28602213, -0.5535675 , -1.1584214 , -0.48236263,\n", + " -0.04151005, 0.6257556 , 0.13397181, -0.25138286, 0.30362463,\n", + " -0.54184943, -0.14103508, 0.06468085, -0.47103256, -0.23030765,\n", + " 0.4033689 , -0.5092248 , 0.8239296 , -0.12316188, -0.2070601 ,\n", + " -0.20573497, -0.22442245, 0.11168428, -0.18406361, 0.36967453,\n", + " -0.15700668, 0.03018349, 0.19931987, -0.54206175, -0.10489228,\n", + " -0.18781194, 0.1340994 , 0.54338074, -0.29789436, -0.3693853 ,\n", + " 0.5509503 , 0.14932938, -0.24838218, 0.48303887, 0.16962981,\n", + " 0.40629503, -0.05752627, -0.14103585, -0.5083225 , 0.23446831,\n", + " -0.42314267, -0.53717977, 0.7368042 , -0.39958185, 0.23205267,\n", + " -0.2707408 , -0.5007544 , -0.47495243, -0.45760757, 0.06174152,\n", + " -0.0568627 , -0.639943 , 0.2323623 , -0.15481456, -0.08146472,\n", + " 0.14808469, -0.70276237, -0.13580577, -0.06164437, 0.16870958,\n", + " 0.15733808, -0.230485 , 0.15950418, -0.53286576, 0.01499614,\n", + " -0.1156303 , -0.8824443 , -0.21247798, 0.67809904, 0.7227184 ,\n", + " 0.55618143, -0.32235837, 0.05155268, 0.48962143, -0.63654184,\n", + " -0.45810324, 0.18834113, 0.07359651, 0.30268708, 0.6425273 ,\n", + " -0.17910716, 0.20491992, 1.6434997 , 0.4479256 , -0.07207586,\n", + " -0.00858526, -0.01359201, -0.09146912, 0.04082096, 0.04677895,\n", + " 0.08130396, -0.372898 , 0.1400561 , 0.10254738, -0.0631671 ,\n", + " -0.04109211, -0.64642936, 0.48025507, 0.80463976, -0.38774303,\n", + " 0.13353033, -0.05461905, 0.22057864, -0.21837483, -0.446688 ,\n", + " 0.5173492 , 0.3571514 , -0.13914755, -0.02809314, 0.26627868],\n", + " dtype=float32), memmap([ 9.01694447e-02, 8.03210139e-01, -5.34545004e-01,\n", + " 6.22451007e-01, 1.30447850e-01, 3.98860008e-01,\n", + " -2.81036675e-01, -2.66458601e-01, 1.62521020e-01,\n", + " -8.69627476e-01, 2.07344696e-01, 3.00233006e-01,\n", + " -4.47309799e-02, 4.83398885e-01, -1.45689964e-01,\n", + " 1.08551331e-01, 5.43114305e-01, -2.85343081e-01,\n", + " 3.96210738e-02, 8.70177150e-01, 7.52192795e-01,\n", + " 5.13121068e-01, -5.73152900e-01, 3.56365710e-01,\n", + " -4.06843662e-01, -6.10314310e-02, -9.27350104e-01,\n", + " 8.92196074e-02, 1.28358662e-01, -3.44825923e-01,\n", + " -5.69313645e-01, 3.01252604e-01, -2.59823710e-01,\n", + " 3.64413857e-01, 3.96455169e-01, -3.56110394e-01,\n", + " 1.37726218e-01, -6.93357646e-01, -2.17148215e-01,\n", + " 7.91072324e-02, -4.25597131e-01, -2.70239890e-01,\n", + " -1.89980716e-01, -4.56576943e-01, 2.18834788e-01,\n", + " 3.52627188e-01, -7.17597529e-02, 9.93652403e-01,\n", + " 5.59869587e-01, -7.32992470e-01, 1.07106334e-02,\n", + " -2.22890168e-01, -5.23715556e-01, 6.83760822e-01,\n", + " -8.48607421e-02, 3.23531210e-01, -4.48498785e-01,\n", + " 4.51105952e-01, 1.22315548e-01, -2.10519493e-01,\n", + " 4.50348258e-02, 2.32003987e-01, -2.12268457e-01,\n", + " -9.66907144e-01, -1.81940064e-01, -8.42559040e-01,\n", + " 1.25876248e-01, 3.45521122e-01, 3.32219861e-02,\n", + " 5.26984811e-01, -5.67627251e-02, 8.48244056e-02,\n", + " -7.28437424e-01, 1.33252680e+00, -6.43782467e-02,\n", + " 2.56350815e-01, 5.30367196e-01, -6.66801035e-01,\n", + " 2.33319893e-01, -6.42955899e-01, 3.76629800e-01,\n", + " 7.56264031e-01, -1.10544823e-01, -6.06612146e-01,\n", + " -1.78917274e-01, 2.90927976e-01, -3.35938960e-01,\n", + " 1.78479820e-01, -1.06062502e-01, 6.29957974e-01,\n", + " -2.78801054e-01, 5.45247868e-02, 1.80530757e-01,\n", + " -2.74094701e-01, -8.07938039e-01, 1.07625318e+00,\n", + " 4.95370567e-01, 1.15660876e-01, -3.35013084e-02,\n", + " -1.27915478e+00, -7.42969811e-01, -4.38583225e-01,\n", + " 2.72299439e-01, 1.09564684e-01, -5.62682524e-02,\n", + " -4.45274234e-01, -1.76168561e-01, -3.44965965e-01,\n", + " 2.51184106e-01, 3.63869406e-02, -5.76074898e-01,\n", + " -1.74309179e-01, -1.85222730e-01, 4.75964457e-01,\n", + " 4.83951792e-02, 1.43202301e-02, -4.15548272e-02,\n", + " 2.44117692e-01, 9.58050191e-01, 2.40100664e-03,\n", + " 1.03639476e-01, 3.06341022e-01, 2.61109024e-01,\n", + " -7.27743626e-01, 3.45410109e-01, -8.09684843e-02,\n", + " -1.45032287e-01, 4.07429487e-01, -1.76782891e-01,\n", + " -4.49191183e-01, 5.52609682e-01, -2.86268294e-01,\n", + " -1.39279678e-01, -2.18055949e-01, -8.29666033e-02,\n", + " 6.95487618e-01, -3.69144529e-01, -4.04110014e-01,\n", + " 3.81218702e-01, -3.52282733e-01, -1.45179644e-01,\n", + " -5.23660958e-01, -7.18031466e-01, -1.36056423e-01,\n", + " 2.65635759e-01, -8.20005059e-01, -3.56588811e-02,\n", + " 2.04994738e-01, 4.35185939e-01, 1.10868186e-01,\n", + " -6.61428273e-02, 1.66190609e-01, 6.07761502e-01,\n", + " 6.91881180e-02, 9.39651392e-03, 1.25121132e-01,\n", + " -9.84386057e-02, -5.35925865e-01, -5.04733562e-01,\n", + " -4.17689443e-01, -6.48444965e-02, -2.41766945e-01,\n", + " -1.10984850e-03, -1.33946493e-01, 7.30447114e-01,\n", + " -5.64690232e-01, 1.15992047e-01, -1.95844784e-01,\n", + " 1.09578513e-01, 2.10683867e-01, -1.58782527e-01,\n", + " 4.32250798e-01, 5.48156612e-02, 2.31027901e-01,\n", + " -2.55585194e-01, -1.10320918e-01, 5.84385455e-01,\n", + " 3.24132800e-01, 4.98352438e-01, -1.20025143e-01,\n", + " -2.29703233e-01, -1.46611571e-01, 2.66768843e-01,\n", + " 1.01161174e-01, -4.13505137e-01, 7.64947593e-01,\n", + " -2.70925492e-01, 1.05576181e+00, -4.51922446e-01,\n", + " 6.55866265e-02, 5.91645464e-02, -7.95216203e-01,\n", + " 4.68347967e-01, -8.54013711e-02, -6.28419161e-01,\n", + " 1.71382591e-01, 1.06580310e-01, -8.20194483e-01,\n", + " 2.80909777e-01, 1.70946926e-01, 3.16643603e-02,\n", + " -9.18977484e-02, -1.81054100e-02, 5.14127553e-01,\n", + " 1.82451117e+00, 3.07988301e-02, 7.39034936e-02,\n", + " -5.62331438e-01, 1.20318246e+00, 6.34692729e-01,\n", + " -7.05497205e-01, 1.95700839e-01, 8.67861271e-01,\n", + " -4.12229784e-02, -9.24276933e-02, 4.15075690e-01,\n", + " -1.58543378e-01, 2.26563737e-01, -6.24009788e-01,\n", + " 9.45139825e-01, -4.25323918e-02, 5.36156595e-01,\n", + " -3.11758757e-01, 2.21705571e-01, 4.67558116e-01,\n", + " 7.05071807e-01, -1.36555448e-01, -5.02718866e-01,\n", + " -2.66441494e-01, -9.81704518e-02, -2.15108544e-01,\n", + " 4.20052558e-01, -1.58618599e-01, -5.54949008e-02,\n", + " -3.19383144e-01, -1.88580126e-01, -2.34146282e-01,\n", + " 4.11823183e-01, -1.06432116e+00, 7.06672072e-01,\n", + " -5.47805429e-01, -4.71903205e-01, -6.45270586e-01,\n", + " 1.67269617e-01, -2.35861525e-01, -2.60154724e-01,\n", + " -3.75503689e-01, 2.27488592e-01, 5.31940639e-01,\n", + " -6.10238910e-01, -1.67360231e-01, -3.20991695e-01,\n", + " 2.63001382e-01, -1.22363299e-01, 4.46716070e-01,\n", + " -1.84705481e-01, -2.11149380e-01, -2.30468377e-01,\n", + " -3.98196042e-01, -6.91383481e-01, -3.84476393e-01,\n", + " 2.01930657e-01, 2.30427548e-01, -1.43801153e-01,\n", + " -1.99646890e-01, 1.18758850e-01, -2.51540810e-01,\n", + " 3.63793552e-01, -3.16113770e-01, 2.59674221e-01,\n", + " 4.76517916e-01, -4.86899577e-02, 1.13304198e+00,\n", + " 6.82228506e-01, 8.68285373e-02, 7.55459666e-02,\n", + " 3.58525753e-01, -1.14006847e-01, 1.63328961e-01,\n", + " 5.74026585e-01, -7.47784078e-01, -5.78479692e-02,\n", + " -6.92155480e-01, 1.97840184e-01, 6.52225733e-01,\n", + " 1.60357967e-01, 1.78595752e-01, 7.65377164e-01,\n", + " -2.42945462e-01, -3.32008488e-02, 2.76101232e-01,\n", + " -1.29968241e-01, -3.11500639e-01, 1.41925231e-01,\n", + " -3.79572123e-01, -1.89319596e-01, 4.57720369e-01,\n", + " 1.59350429e-02, -1.81523904e-01, 1.20924570e-01], dtype=float32), memmap([-2.91859e-01, 1.71496e-01, 1.98130e-02, 7.94780e-02,\n", + " 8.42950e-02, -1.97590e-01, 2.42408e-01, -2.14541e-01,\n", + " 3.62499e-01, -3.21451e-01, -3.20657e-01, -1.89904e-01,\n", + " 3.38341e-01, 2.70734e-01, 3.38894e-01, 1.67725e-01,\n", + " 1.54544e-01, -4.57951e-01, 5.44990e-01, -1.60646e-01,\n", + " 1.95800e-03, 2.76465e-01, 4.02800e-02, 5.60716e-01,\n", + " 3.17595e-01, -3.73842e-01, -6.24115e-01, -1.60740e-01,\n", + " -4.12827e-01, 4.21520e-02, 1.60795e-01, 3.52130e-02,\n", + " 3.86200e-03, 4.02240e-02, -2.82815e-01, -6.82410e-02,\n", + " 3.56572e-01, -1.63259e-01, 5.36368e-01, -2.26000e-02,\n", + " 9.70210e-02, -1.84392e-01, 2.86935e-01, 8.66700e-02,\n", + " -2.38186e-01, 3.71261e-01, -1.37881e-01, -1.14398e-01,\n", + " 3.27690e-02, 9.78250e-02, 7.66040e-02, 4.72360e-02,\n", + " 1.01139e-01, -6.27510e-02, -6.66020e-01, 4.62687e-01,\n", + " -4.59136e-01, -3.64595e-01, 3.54286e-01, -2.38920e-02,\n", + " 2.82636e-01, 9.74850e-02, 7.11480e-02, -2.34573e-01,\n", + " 1.51205e-01, 2.77129e-01, 2.86635e-01, 3.22853e-01,\n", + " -2.50220e-01, 4.68700e-03, 4.46516e-01, -2.65718e-01,\n", + " 2.24326e-01, -3.64750e-02, -1.35068e-01, -1.09016e-01,\n", + " -1.32661e-01, -2.02232e-01, 5.47872e-01, -6.97900e-02,\n", + " -1.70061e-01, -3.64330e-02, 1.80927e-01, 2.20481e-01,\n", + " -8.89620e-02, -1.87434e-01, 9.11350e-02, 4.03824e-01,\n", + " -3.41640e-02, 1.48683e-01, 1.55016e-01, -2.15815e-01,\n", + " -3.09990e-02, -4.50719e-01, -2.11747e-01, -3.93282e-01,\n", + " 7.22186e-01, 7.88000e-03, -3.69995e-01, 2.04822e-01,\n", + " 3.30800e-03, -6.35700e-03, 2.22183e-01, 2.47665e-01,\n", + " -2.78561e-01, 5.51204e-01, 4.14360e-02, 6.48630e-02,\n", + " -1.50724e-01, 1.16312e-01, 7.80745e-01, -3.32806e-01,\n", + " 9.86340e-02, -1.14700e-02, 2.68484e-01, 4.71265e-01,\n", + " -2.07123e-01, -1.46280e-02, 2.68643e-01, -5.05970e-02,\n", + " -4.03610e-02, 3.27670e-01, -1.22859e-01, 9.71660e-02,\n", + " -2.96715e-01, 4.26015e-01, -2.55260e-01, -2.24000e-04,\n", + " -1.89685e-01, 3.69760e-02, 5.01237e-01, -2.22924e-01,\n", + " 1.40943e-01, 2.21700e-01, 1.69787e-01, -2.07925e-01,\n", + " 2.12429e-01, 3.16652e-01, 6.71081e-01, -1.39366e-01,\n", + " 1.92994e-01, -6.74601e-01, -1.83834e-01, 3.44213e-01,\n", + " -6.16660e-02, -2.42500e-03, -3.26144e-01, -2.45802e-01,\n", + " 6.15400e-03, 4.67868e-01, 1.33673e-01, -1.53093e-01,\n", + " 3.39316e-01, 3.62951e-01, 1.88350e-01, 2.55853e-01,\n", + " 9.41720e-02, 8.00840e-02, -7.41660e-02, 2.09565e-01,\n", + " 8.36620e-02, -3.61359e-01, 2.40940e-02, -2.59719e-01,\n", + " -9.96600e-02, 3.58237e-01, 1.90990e-02, -1.76954e-01,\n", + " 1.02065e-01, -1.58037e-01, 7.36020e-02, -3.17149e-01,\n", + " 2.87415e-01, -7.93660e-02, 4.27760e-02, -8.61105e-01,\n", + " -6.09410e-02, 4.75475e-01, -3.32331e-01, 7.17650e-02,\n", + " 1.72830e-02, -3.35940e-01, -2.41679e-01, -8.30355e-01,\n", + " -2.52220e-01, 1.73292e-01, -5.02888e-01, -5.03740e-02,\n", + " -1.62793e-01, 2.83807e-01, 3.83547e-01, -1.45189e-01,\n", + " -3.30878e-01, 2.47236e-01, -2.17824e-01, -3.32247e-01,\n", + " -3.24812e-01, 1.47400e-02, -5.92011e-01, 3.04927e-01,\n", + " 3.56587e-01, -1.30710e-02, 1.92890e-01, -1.84084e-01,\n", + " 3.08600e-02, -6.24211e-01, 3.29919e-01, -3.81139e-01,\n", + " 7.42700e-02, -2.50516e-01, -2.13048e-01, -1.58862e-01,\n", + " -2.43507e-01, 1.16811e-01, -5.71340e-02, -9.86590e-02,\n", + " -1.59368e-01, -1.01566e-01, 2.77960e-01, -3.23000e-01,\n", + " -2.10002e-01, -2.59114e-01, 4.13573e-01, -1.18858e-01,\n", + " -5.23921e-01, 4.74439e-01, -1.21134e-01, -3.25018e-01,\n", + " 3.56011e-01, 4.24204e-01, -4.50770e-02, -2.86427e-01,\n", + " -5.31680e-01, 1.84582e-01, 1.49156e-01, -3.67100e-02,\n", + " 6.56872e-01, 4.79104e-01, -1.87526e-01, 3.50571e-01,\n", + " 1.50770e-01, 3.33389e-01, -2.84554e-01, -4.27486e-01,\n", + " -2.03209e-01, 1.90184e-01, -6.66749e-01, -3.86170e-02,\n", + " -4.02178e-01, -3.48460e-02, -1.46745e-01, 5.47992e-01,\n", + " 4.70446e-01, 2.69041e-01, 8.02100e-02, 1.15680e-01,\n", + " -7.90700e-02, 5.63131e-01, 2.55225e-01, 3.33158e-01,\n", + " 1.23934e-01, 3.93892e-01, 1.23042e-01, -6.98190e-02,\n", + " -6.91177e-01, -2.25975e-01, -3.92675e-01, 1.79137e-01,\n", + " -1.60876e-01, 2.97880e-02, -2.45190e-02, 2.71092e-01,\n", + " 5.82064e-01, 3.82500e-03, 1.15260e-02, -1.87486e-01,\n", + " -1.37500e-03, -1.14856e-01, -1.10579e-01, -5.87320e-02,\n", + " 2.27700e-01, 6.73780e-02, 1.45953e-01, 6.32630e-02,\n", + " -3.37030e-01, 1.40121e-01, -6.39710e-02, 1.58370e-02,\n", + " 3.89517e-01, -1.33702e-01, 6.38324e-01, -2.62946e-01,\n", + " -3.47327e-01, 5.31579e-01, -2.97044e-01, 5.77800e-02,\n", + " 8.42650e-02, 1.60896e-01, -8.32500e-03, 2.39908e-01],\n", + " dtype=float32), memmap([-0.01069674, 0.784889 , -0.71612287, 0.17218162, -0.3745812 ,\n", + " 0.14747179, 0.325867 , -0.3864536 , 0.79961747, -0.7342521 ,\n", + " -0.10132218, -0.03087465, 0.39321578, 1.2981384 , 0.6574328 ,\n", + " -0.21325752, 0.36587703, -0.64221877, 0.2680059 , 0.41548297,\n", + " 0.28336582, -0.29042128, 0.12442327, -0.2790927 , -0.32560316,\n", + " 0.43713734, -0.06710089, 0.5172826 , 0.38308722, -0.24680807,\n", + " 0.25847656, 0.12168127, 0.13171281, 0.4209564 , -0.1754027 ,\n", + " 0.3897739 , 0.21586442, -0.03287926, -0.6132766 , 0.75639856,\n", + " 0.41070783, 0.0526107 , -0.21985906, 0.92703485, -0.1851084 ,\n", + " -0.23361325, -0.37407705, 0.08447029, 0.07476165, 0.04356008,\n", + " -0.50962174, 0.5491707 , -0.19463986, 0.431551 , -0.35432756,\n", + " 0.5949471 , 0.07391538, 0.19095764, 0.7079201 , -0.14103147,\n", + " 0.21583785, 0.07607473, -0.37439385, -0.132243 , -0.23089217,\n", + " 0.5637565 , -0.08874281, 0.07258239, -0.23242876, 0.30029964,\n", + " 0.2565416 , -0.6782182 , 0.19562888, 0.7687493 , -0.09814697,\n", + " -0.6421607 , -0.04173051, -0.9359529 , 0.36513975, -0.32765403,\n", + " 0.37495163, -0.76188207, 0.48770002, -0.02736046, -0.8687511 ,\n", + " 0.36120042, 0.03428387, -0.48152724, -0.05464736, 0.10435168,\n", + " 0.71735543, 0.45062402, 0.21689463, -0.44776374, -0.5542298 ,\n", + " 0.6593829 , -0.07587034, -0.45574874, 0.5415102 , 0.09838533,\n", + " 0.32904494, 0.3985736 , 0.71494347, 0.02032736, 0.5245265 ,\n", + " -0.036254 , -0.00722693, 0.07963859, 0.68644536, 0.31865224,\n", + " -0.1028218 , -0.15051402, -0.12334364, 0.24397622, -0.05135791,\n", + " -0.27758986, 0.12172776, -0.3758707 , 0.432473 , -0.11209564,\n", + " -1.0749223 , -0.00227854, -0.36702475, -0.21058148, -0.16809443,\n", + " -0.14511304, -0.18100214, -0.0735037 , -0.15730987, -0.20379107,\n", + " 0.72122777, -0.0373507 , 0.14455529, 0.64089876, -0.20180388,\n", + " 0.08569095, -0.511011 , 0.13259526, 0.33144072, -0.70857614,\n", + " 0.360508 , -0.13278759, -0.4974671 , 0.06626085, -0.50233245,\n", + " -0.35596946, 0.00660161, 0.09457266, -0.4519763 , 0.5999755 ,\n", + " 0.25649253, -0.27322745, -0.30349517, 0.476796 , 0.07364963,\n", + " -0.6424703 , 0.48794287, 0.47111857, -0.18111478, -0.8180616 ,\n", + " -0.16207317, 0.09332414, 0.28605446, -0.08486152, 0.7568791 ,\n", + " 0.19978954, 0.401991 , -0.04694134, -0.31807116, 0.41073516,\n", + " 0.6160313 , 0.3727359 , -0.4916867 , -0.2773834 , -0.68559813,\n", + " -0.10127139, -0.15582176, -0.07905608, -0.10284759, -0.02976787,\n", + " -0.15557499, -0.34911123, 0.1429467 , -0.7696278 , 0.09184483,\n", + " 0.5811503 , -0.37979087, 0.07065117, -0.86321694, -0.6800149 ,\n", + " -0.57272726, 0.17771941, -0.34534088, 0.42347515, -0.13729894,\n", + " 0.28493682, -0.26472834, -1.1045138 , -0.65894735, 0.30862215,\n", + " 0.19225428, -0.1873158 , -0.256507 , 0.7279807 , 0.7215188 ,\n", + " 0.07208072, 0.15423204, 0.1506554 , 0.24112341, 0.71078587,\n", + " 0.8535451 , -0.05553541, 0.25919765, -0.3498488 , -0.87635547,\n", + " 0.23855728, -0.20929572, 0.18998337, 0.06713889, -0.35666323,\n", + " -0.4211873 , -0.1920289 , -0.91366905, -0.17976095, -0.6765706 ,\n", + " 0.6308671 , -0.29565874, 0.3436451 , 0.6492343 , -0.14633289,\n", + " -0.39316434, 0.5181203 , -0.3021579 , -0.47532278, 0.20014016,\n", + " -0.22486117, -0.4166756 , -0.335914 , 0.6593193 , 0.1155796 ,\n", + " -0.04225529, -0.07837619, 0.19604325, -0.49031246, 0.30183294,\n", + " 0.13386247, -0.35518768, 0.25508466, 0.69115275, -0.34798506,\n", + " -0.8630532 , 0.6290174 , 0.12430409, -0.08725208, -0.289071 ,\n", + " -0.19836544, -0.47189903, 0.7777611 , 0.31165242, -0.15580112,\n", + " -0.15023156, 0.29122642, -0.19900298, 0.10173718, -0.30366927,\n", + " -0.09656136, -0.22157972, 0.29007822, 0.6130066 , 0.16695194,\n", + " -0.08567291, -0.7603979 , 0.43253636, -0.04516809, -0.3448763 ,\n", + " 0.14303319, 0.3566806 , -0.02215862, -0.02550617, -0.5052465 ,\n", + " -0.4890144 , 0.13124675, -0.2785275 , -0.10777355, 0.44512418,\n", + " 0.12223653, -0.2581496 , 1.1976744 , -0.19339445, -0.03554999,\n", + " 0.5426284 , 0.30109665, 0.3819234 , 0.14608568, -0.34081262,\n", + " 0.62189686, 0.10108691, -0.01087047, 0.11985823, 0.23693536],\n", + " dtype=float32), memmap([ 1.99654594e-01, -2.37087026e-01, -2.93496698e-01,\n", + " -4.66433436e-01, 3.87250751e-01, 8.60441089e-01,\n", + " 2.40201712e-01, -2.17927128e-01, 1.31442651e-01,\n", + " 3.31336886e-01, 2.44524509e-01, 1.13888323e+00,\n", + " 6.76692426e-01, 8.27517867e-01, 7.98890665e-02,\n", + " -2.63942927e-01, -5.43787003e-01, -1.48180202e-01,\n", + " -4.35045928e-01, -5.02197109e-02, -4.00830239e-01,\n", + " 3.83878291e-01, 4.61699128e-01, 4.50384110e-01,\n", + " 8.93078074e-02, 2.13038191e-01, -8.49632263e-01,\n", + " -8.85742128e-01, 2.00356126e-01, -2.01791734e-03,\n", + " 8.68832886e-01, -1.21375933e-01, -3.68088074e-02,\n", + " -4.29921448e-01, -3.01875889e-01, 3.39923382e-01,\n", + " -5.48791111e-01, 4.39572990e-01, 4.85224605e-01,\n", + " 4.35715348e-01, -4.08248156e-01, -2.26180032e-01,\n", + " -1.09671259e+00, 6.56543016e-01, 3.86172473e-01,\n", + " 6.76860571e-01, 3.36472869e-01, 3.61787289e-01,\n", + " -1.18823379e-01, 3.40041369e-01, -6.53550327e-01,\n", + " 1.02579221e-01, 4.58543837e-01, 1.97107434e-01,\n", + " 5.38888276e-01, 2.20517993e-01, -1.37719736e-01,\n", + " -3.30953807e-01, -6.13317378e-02, -7.30017543e-01,\n", + " -2.15193734e-01, -5.30998558e-02, -4.30236876e-01,\n", + " -1.17378734e-01, -5.02884567e-01, -2.96487749e-01,\n", + " -2.77989447e-01, -6.90853447e-02, -4.79571581e-01,\n", + " -6.07588887e-01, 3.35783996e-02, 1.47134578e-02,\n", + " 1.26279429e-01, 6.62257969e-01, -1.02791464e+00,\n", + " -3.88554662e-01, 1.13029592e-01, 1.10164993e-01,\n", + " -2.09666163e-01, -9.12277326e-02, 7.15345442e-02,\n", + " 6.32087648e-01, -1.13230908e+00, 4.23320830e-01,\n", + " 6.08638644e-01, -6.86350167e-01, -4.15446460e-01,\n", + " -2.99153090e-01, 3.87334615e-01, 3.98809947e-02,\n", + " 1.78572401e-01, -5.15469670e-01, -1.09219089e-01,\n", + " 4.13503557e-01, -1.15086663e+00, -8.36187527e-02,\n", + " 3.52384359e-01, 3.45332146e-01, -1.00074209e-01,\n", + " -2.42569223e-01, 3.84538025e-01, 2.15588555e-01,\n", + " 2.16975778e-01, -1.49549618e-01, -2.52628207e-01,\n", + " 1.15902744e-01, -8.06187466e-02, -2.18802780e-01,\n", + " -2.30899423e-01, 7.13364175e-03, 8.11153874e-02,\n", + " 1.31902486e-01, 5.97971380e-02, 1.40233725e-01,\n", + " 4.22174811e-01, -1.05045795e-01, 1.55118823e-01,\n", + " 3.12930346e-01, -3.32753420e-01, -3.07787657e-02,\n", + " 3.28572899e-01, -5.51850498e-01, -7.94088364e-01,\n", + " -5.39908409e-01, 4.13902253e-01, -6.22710228e-01,\n", + " -8.51291835e-01, -6.68255806e-01, -1.64871991e-01,\n", + " 7.24653807e-03, -8.68061900e-01, 2.37154588e-01,\n", + " 3.80395204e-01, -4.37118411e-01, -1.21628210e-01,\n", + " 5.46301454e-02, -2.42903337e-01, -2.18450561e-01,\n", + " -6.81634784e-01, -4.87201482e-01, -3.11578035e-01,\n", + " -6.99482441e-01, -1.50930792e-01, 4.33404818e-02,\n", + " 3.40556324e-01, -4.99433517e-01, -4.51064348e-01,\n", + " 5.16275883e-01, -6.42158031e-01, 3.72923873e-02,\n", + " -3.90012801e-01, -1.81266174e-01, 1.28882915e-01,\n", + " -2.51496673e-01, 6.99955106e-01, -3.86323154e-01,\n", + " -6.62946478e-02, 7.48578906e-01, -3.18468595e-03,\n", + " -1.00123584e-01, -5.20642817e-01, -3.36228907e-01,\n", + " 6.55425787e-02, -1.32554874e-01, 1.40380347e-02,\n", + " 2.88521349e-01, -2.23329097e-01, -8.03090110e-02,\n", + " -6.70402199e-02, 2.00003937e-01, 6.29853010e-01,\n", + " 6.36742115e-01, -2.56263345e-01, 4.94402088e-02,\n", + " 3.61312717e-01, -4.87993620e-02, -6.68769777e-01,\n", + " 6.38483286e-01, -9.95173976e-02, -4.30104136e-01,\n", + " -9.92527783e-01, 9.45710912e-02, 1.90517560e-01,\n", + " 1.07650608e-01, -2.89107740e-01, 3.59574527e-01,\n", + " -3.60373020e-01, 7.99597353e-02, -3.70085150e-01,\n", + " 2.81075656e-01, 1.58080086e-01, -4.08141404e-01,\n", + " 2.19353139e-01, 3.82136852e-01, 2.06826568e-01,\n", + " -2.94361979e-01, -1.67549357e-01, 1.63328469e-01,\n", + " 2.93670177e-01, -2.63364792e-01, 5.27008064e-03,\n", + " -1.74294431e-02, 1.97833315e-01, 5.35014570e-02,\n", + " 9.02058840e-01, 4.61390227e-01, -2.69476533e-01,\n", + " -2.53290892e-01, -2.64186084e-01, -2.79663056e-01,\n", + " -9.91954267e-01, 9.08527300e-02, 1.05412588e-01,\n", + " -5.61778247e-01, -1.24007731e-03, 6.61543787e-01,\n", + " -5.19156456e-01, -2.04315618e-01, -6.05369627e-01,\n", + " -3.76436502e-01, -2.99251080e-02, -2.88753420e-01,\n", + " 1.64275408e-01, 4.30674702e-01, 2.01647505e-01,\n", + " -5.03063276e-02, 1.18171006e-01, 8.69960189e-01,\n", + " 4.98237789e-01, 5.83704282e-03, 1.26832187e-01,\n", + " -1.15257010e-01, -2.32785061e-01, -6.65155426e-02,\n", + " 5.73825359e-01, 3.89369428e-02, 4.41322118e-01,\n", + " -1.13425024e-01, -1.01481915e+00, 5.50503612e-01,\n", + " 2.58898765e-01, -7.33829916e-01, 9.87380803e-01,\n", + " 1.69322979e+00, -2.12806731e-01, 1.32573470e-01,\n", + " -4.07570779e-01, -1.09593666e+00, -5.44142306e-01,\n", + " -6.53025955e-02, 5.58194160e-01, 9.88444984e-01,\n", + " -3.07919949e-01, 4.48079288e-01, -3.24068964e-01,\n", + " 3.56851965e-01, -4.54864576e-02, 6.26840055e-01,\n", + " 2.55284637e-01, 2.63690442e-01, 8.08287323e-01,\n", + " -1.89413894e-02, -3.71473104e-01, 2.72551745e-01,\n", + " -3.30542117e-01, 8.16966772e-01, -1.31613985e-01,\n", + " -2.20203757e-01, 1.04632556e+00, 4.75421995e-01,\n", + " -2.03819759e-02, -1.38150230e-01, 6.43720150e-01,\n", + " 2.43332684e-02, -8.45639184e-02, 5.14911771e-01,\n", + " -1.20313272e-01, -5.06992191e-02, 2.08083451e-01,\n", + " 6.43381298e-01, 3.45074445e-01, -6.76532745e-01,\n", + " 1.34241760e-01, 3.90527606e-01, 1.50164500e-01,\n", + " -2.18128815e-01, 4.57114339e-01, -2.31545329e-01,\n", + " -6.97049916e-01, -7.76354611e-01, 2.23538488e-01,\n", + " -1.06878288e-01, 5.44446528e-01, -7.52389610e-01,\n", + " -2.52043619e-03, 2.80512571e-01, 4.09945667e-01,\n", + " -3.36379170e-01, 2.35387713e-01, 3.36108357e-01], dtype=float32), memmap([ 6.11040e-02, 9.10580e-02, 3.98535e-01, -1.06030e-01,\n", + " 4.87924e-01, -1.27135e-01, -2.99138e-01, -4.59622e-01,\n", + " -1.00816e-01, -3.98857e-01, 3.00007e-01, 2.55331e-01,\n", + " -1.62344e-01, 2.59439e-01, -2.16205e-01, 3.11891e-01,\n", + " -5.17941e-01, -6.50629e-01, -2.26656e-01, -1.19600e-01,\n", + " 4.34590e-01, -3.94516e-01, -4.67310e-01, 8.26995e-01,\n", + " -3.71736e-01, -1.08250e-01, -2.71704e-01, -1.99963e-01,\n", + " 3.23790e-01, -1.25111e-01, 3.33705e-01, -1.85551e-01,\n", + " 3.20779e-01, 2.73558e-01, -3.05076e-01, 1.51905e-01,\n", + " 1.44190e-01, -1.71718e-01, -1.23270e-02, 9.51110e-02,\n", + " 1.21854e-01, -6.27500e-02, -7.01838e-01, -5.81770e-02,\n", + " -2.16930e-02, -1.62262e-01, -1.16925e-01, -1.89580e-02,\n", + " -1.00628e-01, -1.34927e-01, 2.02139e-01, 2.80564e-01,\n", + " 1.65419e-01, 3.93120e-02, -1.99508e-01, 1.89540e-01,\n", + " -7.18690e-02, -2.24014e-01, -1.52029e-01, 8.14000e-04,\n", + " 1.40781e-01, 3.73490e-02, -8.60070e-02, -4.04660e-02,\n", + " -1.30719e-01, -1.83420e-02, -4.75198e-01, 4.50032e-01,\n", + " 1.43566e-01, -1.05646e-01, 2.90820e-02, -9.73130e-02,\n", + " -1.83216e-01, 3.05007e-01, -5.17360e-02, 4.00760e-02,\n", + " 2.20022e-01, 2.47700e-03, -4.57970e-01, 8.80820e-02,\n", + " 2.48298e-01, -2.41285e-01, -1.95828e-01, -3.73460e-02,\n", + " 1.16727e-01, 8.46600e-02, 2.92569e-01, -5.16243e-01,\n", + " -9.97140e-02, -7.54320e-02, 2.67243e-01, 3.11200e-03,\n", + " -3.05512e-01, -1.02363e-01, -3.29324e-01, 1.53175e-01,\n", + " 3.35920e-02, -1.63573e-01, -1.34484e-01, 2.13180e-02,\n", + " -4.60827e-01, 5.79300e-02, -3.94728e-01, 2.33680e-02,\n", + " -1.17108e-01, 4.62478e-01, 2.82289e-01, 1.21469e-01,\n", + " 3.44701e-01, 1.62065e-01, 2.76504e-01, -6.71949e-01,\n", + " -2.97363e-01, 2.18113e-01, 2.39666e-01, 5.47173e-01,\n", + " 1.21020e-01, 6.00254e-01, 8.58120e-02, 3.34410e-02,\n", + " 4.38071e-01, 6.84174e-01, 2.18460e-02, 1.44036e-01,\n", + " 1.82231e-01, 2.04430e-02, -2.69204e-01, 2.12254e-01,\n", + " 2.94058e-01, -1.02446e-01, 3.48479e-01, 3.87967e-01,\n", + " 1.01418e-01, -6.27491e-01, -1.28945e-01, 2.09537e-01,\n", + " -4.42520e-02, 1.30212e-01, 4.31750e-01, 1.52453e-01,\n", + " -2.20568e-01, -1.68993e-01, 1.50800e-03, 2.56196e-01,\n", + " 8.05700e-02, 1.15947e-01, -3.49116e-01, 2.37214e-01,\n", + " 2.19754e-01, 1.07856e-01, -4.12650e-02, -2.61658e-01,\n", + " -1.44612e-01, 1.76730e-01, 8.90030e-02, -6.14010e-02,\n", + " -1.85456e-01, 2.58393e-01, 3.33550e-02, -1.32652e-01,\n", + " -1.04627e-01, -1.93726e-01, -2.06198e-01, -9.37790e-02,\n", + " 3.05017e-01, 8.04190e-02, -2.22728e-01, -3.92523e-01,\n", + " -1.96420e-02, 1.75282e-01, 1.65786e-01, -4.05059e-01,\n", + " 4.70960e-01, -3.63415e-01, -3.17262e-01, -4.45480e-02,\n", + " -1.93753e-01, 2.25640e-02, 9.29640e-02, -4.51466e-01,\n", + " -5.25200e-02, -5.53121e-01, 1.27579e-01, -1.10506e-01,\n", + " -6.30560e-02, 1.33107e-01, -4.26287e-01, 3.78830e-01,\n", + " -2.51577e-01, 2.39525e-01, 1.67668e-01, -3.99737e-01,\n", + " -1.38070e-02, 1.05575e-01, -2.60896e-01, -6.67890e-02,\n", + " 1.42210e-02, -1.91406e-01, 8.95560e-02, -6.02170e-02,\n", + " -2.09315e-01, -6.35050e-02, 2.47038e-01, 2.40030e-02,\n", + " 9.93430e-02, -2.60415e-01, 7.39040e-02, -1.04831e-01,\n", + " 1.80750e-01, 3.10442e-01, -5.86620e-02, 7.62870e-02,\n", + " 7.04122e-01, 3.99753e-01, -3.42614e-01, -1.82718e-01,\n", + " -1.35507e-01, -3.68120e-01, -1.24650e-02, 1.00649e-01,\n", + " 2.58234e-01, -2.40860e-02, -2.72914e-01, 1.88134e-01,\n", + " 1.17939e-01, 4.28481e-01, -2.75940e-02, 1.52511e-01,\n", + " -2.40650e-02, 7.61960e-02, 4.88160e-02, 1.71996e-01,\n", + " -4.70851e-01, 1.10598e-01, 2.19004e-01, 1.14633e-01,\n", + " -7.28700e-03, -8.36260e-02, -2.65550e-01, -1.43275e-01,\n", + " 2.99906e-01, 4.78190e-02, 3.11822e-01, 2.45947e-01,\n", + " -3.55750e-02, 1.64932e-01, -7.94580e-02, -2.63228e-01,\n", + " 3.92150e-02, -1.42683e-01, -6.15790e-02, -3.07460e-02,\n", + " -3.20622e-01, -4.52640e-02, -2.10670e-02, 7.52940e-02,\n", + " 6.34550e-02, 4.29557e-01, -1.58600e-02, 2.68232e-01,\n", + " -1.17954e-01, 2.66460e-02, -5.44972e-01, 1.34652e-01,\n", + " 7.09910e-02, -7.73750e-02, 6.69190e-02, -2.66878e-01,\n", + " -6.08630e-02, -1.94515e-01, -6.79190e-02, 1.90320e-01,\n", + " 1.70311e-01, -1.60931e-01, 1.10227e-01, -1.24004e-01,\n", + " 3.72418e-01, -7.24300e-02, -1.08862e-01, 1.49603e-01,\n", + " 1.78902e-01, -9.64510e-02, -2.71287e-01, -2.52190e-01,\n", + " -1.64932e-01, -1.31089e-01, -3.40295e-01, 3.63526e-01,\n", + " -7.02590e-02, -4.04701e-01, 9.89500e-02, 2.79664e-01,\n", + " 8.62540e-02, 4.85538e-01, 4.59744e-01, -3.65300e-03,\n", + " 6.30275e-01, -1.33768e-01, -1.11574e-01, 1.76543e-01],\n", + " dtype=float32), memmap([ 4.63472247e-01, 1.33669525e-01, -2.03003168e-01,\n", + " -9.75058228e-02, 5.97414188e-02, -1.32876143e-01,\n", + " -3.97572428e-01, -2.85976559e-01, 6.36140168e-01,\n", + " 1.25799671e-01, -1.44848749e-01, 3.40198308e-01,\n", + " 3.24386477e-01, -1.62987351e-01, 1.56716630e-01,\n", + " 1.52474642e-01, -1.61719009e-01, -3.13043475e-01,\n", + " 4.48282868e-01, 1.16242953e-01, -2.63948198e-02,\n", + " 5.34356236e-01, -1.62608195e-02, 2.04605255e-02,\n", + " 5.30440249e-02, 2.47463882e-02, -2.52975285e-01,\n", + " -1.23563118e-01, -1.92285791e-01, -1.69056788e-01,\n", + " 1.52700141e-01, -2.30141476e-01, 8.76702145e-02,\n", + " -1.83050279e-02, 3.99315298e-01, 1.14515886e-01,\n", + " 4.29836452e-01, 3.58731359e-01, -8.84392783e-02,\n", + " -4.31079954e-01, -1.15244187e-01, -1.40905559e-01,\n", + " -2.67709047e-01, -4.12467033e-01, 6.05526082e-02,\n", + " -3.19365919e-01, 1.34762391e-01, 7.37876296e-02,\n", + " 3.14834386e-01, 2.35873714e-01, 4.23710018e-01,\n", + " 5.30653715e-01, 3.56708497e-01, 2.68353283e-01,\n", + " -1.97977558e-01, 4.80874367e-02, -5.46145201e-01,\n", + " 6.54443130e-02, 1.99088424e-01, 1.26424665e-02,\n", + " -1.06320316e-02, 1.63870141e-01, -6.27830029e-02,\n", + " -1.54153973e-01, -1.12660386e-01, 5.11213541e-01,\n", + " -1.72423929e-01, 4.99567151e-01, 3.93974297e-02,\n", + " 2.32264344e-02, 2.17478290e-01, 2.69967824e-01,\n", + " 2.00950235e-01, 1.93443269e-01, 4.16080207e-01,\n", + " 2.28060130e-02, -2.12485671e-01, -2.92289943e-01,\n", + " 6.70781508e-02, -4.32795495e-01, 2.84286231e-01,\n", + " -2.13847592e-01, -1.85810506e-01, 8.55043530e-02,\n", + " 3.71939451e-01, 2.47955546e-01, 8.14346075e-02,\n", + " -2.44371623e-01, -4.35019046e-01, -1.55301854e-01,\n", + " 3.51384461e-01, -3.91992880e-03, -5.70787229e-02,\n", + " -2.54403383e-01, -6.08101189e-01, 5.87207913e-01,\n", + " 1.20170966e-01, -2.97424980e-02, 7.73000494e-02,\n", + " 6.68841228e-02, -2.63068855e-01, 2.07672179e-01,\n", + " -3.49805772e-01, 2.50893980e-01, 4.66715008e-01,\n", + " 1.91006251e-02, -1.88334540e-01, 2.52478898e-01,\n", + " 5.38669974e-02, 5.66917099e-02, 3.56842548e-01,\n", + " -2.01760322e-01, -2.73921758e-01, -4.80603166e-02,\n", + " 2.14492783e-01, -1.97945926e-02, -6.82797581e-02,\n", + " 5.62702835e-01, 2.25516677e-01, 1.52245075e-01,\n", + " 2.00180754e-01, 1.97299704e-01, -3.52202095e-02,\n", + " -2.00022072e-01, 9.45758224e-02, -4.00893152e-01,\n", + " 1.22155555e-01, -3.07892740e-01, -1.85245723e-01,\n", + " -1.85738076e-02, 1.66177731e-02, 1.00233546e-03,\n", + " 8.45074132e-02, -1.66665196e-01, 1.59594744e-01,\n", + " 1.51996547e-02, 4.34585698e-02, 3.90199840e-01,\n", + " -7.66350403e-02, -3.68502259e-01, -3.06198776e-01,\n", + " 1.62440032e-01, 3.26165944e-01, -2.24079154e-02,\n", + " 6.90071881e-01, -2.29537711e-01, -2.72350550e-01,\n", + " 7.80215114e-02, -4.80030589e-02, 6.20296001e-01,\n", + " 5.14529943e-01, 1.14366286e-01, 8.78975317e-02,\n", + " 1.70623139e-01, 5.09717166e-02, -3.52628291e-01,\n", + " -5.34702659e-01, 4.91361976e-01, 1.97855905e-01,\n", + " -3.40635300e-01, 1.24747707e-02, -2.35546961e-01,\n", + " -5.53637564e-01, 9.86306090e-03, 3.41773510e-01,\n", + " -6.80002868e-02, 1.55868292e-01, -4.91420686e-01,\n", + " 5.34827411e-01, -6.35656416e-01, 6.42780840e-01,\n", + " -8.81789699e-02, 1.80492792e-02, -5.05277932e-01,\n", + " -2.22886264e-01, 6.30152971e-02, -2.67921120e-01,\n", + " 1.20656505e-01, -3.14828873e-01, -5.65648019e-01,\n", + " 1.52260885e-02, -2.34982431e-01, 8.35274309e-02,\n", + " 1.31756827e-01, -2.69337952e-01, 1.64252937e-01,\n", + " -4.73873705e-01, 1.70885682e-01, -1.03779897e-01,\n", + " -1.30840316e-02, 2.03537181e-01, -3.56094509e-01,\n", + " 3.42350781e-01, -3.96645129e-01, 4.00846690e-01,\n", + " 1.35708660e-01, -3.57603669e-01, -8.72837976e-02,\n", + " -1.22136809e-01, 1.65870309e-01, 1.72662362e-01,\n", + " 3.11333776e-01, 8.64410639e-01, 6.43405542e-02,\n", + " 1.86547235e-01, -1.16843525e-02, 5.93394637e-02,\n", + " -2.95973450e-01, 2.17150718e-01, 8.54117349e-02,\n", + " -4.09776896e-01, -3.00128937e-01, -3.00090998e-01,\n", + " -3.70427191e-01, -2.05942214e-01, 2.25166678e-01,\n", + " 1.20777851e-02, -2.40816865e-02, -1.57107741e-01,\n", + " 9.69361216e-02, -8.59371275e-02, 3.42853330e-02,\n", + " -3.82753968e-01, -2.42826045e-01, -3.50344241e-01,\n", + " 4.35763538e-01, -4.80672419e-02, -6.95440844e-02,\n", + " 3.65102366e-02, 6.32729173e-01, 2.58896977e-01,\n", + " -3.87875251e-02, 1.20167926e-01, 6.47273213e-02,\n", + " -1.09143421e-01, 9.74278599e-02, -1.08248107e-01,\n", + " -2.65625566e-01, -5.60093582e-01, 3.83062989e-01,\n", + " 1.73229977e-01, -6.84663728e-02, 1.13178444e+00,\n", + " 3.17500025e-01, 7.34325731e-03, -1.25732049e-02,\n", + " -1.37697995e-01, -3.84914055e-02, -3.71997386e-01,\n", + " 1.16712205e-01, 1.21311285e-01, -1.47801384e-01,\n", + " 8.88402760e-02, 8.50640237e-02, -4.51007206e-03,\n", + " -3.04213673e-01, -3.33136022e-02, 4.04259682e-01,\n", + " 3.24021459e-01, 1.27210900e-01, -9.83357728e-02,\n", + " 8.25520083e-02, 1.09782949e-01, -4.87155952e-02,\n", + " 1.78296655e-01, 1.09356046e-01, 7.64183030e-02,\n", + " -1.95100382e-01, 1.10494353e-01, 2.82648746e-02,\n", + " -3.70810300e-01, 3.57360631e-01, 1.02360966e-02,\n", + " -3.27825956e-02, 3.12129259e-01, -1.40754044e-01,\n", + " -1.26896156e-02, 5.83717711e-02, -4.59621213e-02,\n", + " 5.54142892e-01, -5.08482978e-02, -2.63285160e-01,\n", + " -1.17898025e-01, -1.36226669e-01, -7.74355903e-02,\n", + " -2.62624621e-01, 3.82995039e-01, 2.51391888e-01,\n", + " -2.73970068e-01, -3.25612664e-01, -1.72297180e-01,\n", + " 2.28877187e-01, 1.29775643e-01, 1.68080896e-01,\n", + " 2.96095014e-01, -1.76561385e-01, -1.42171815e-01,\n", + " -2.18493491e-01, -2.89991826e-01, -1.94624722e-01], dtype=float32), memmap([ 3.72634e-01, 5.53526e-01, -1.77932e-01, 8.29550e-02,\n", + " -1.14176e-01, 1.40350e-02, 3.09508e-01, 1.61857e-01,\n", + " -1.76000e-03, -6.89530e-02, 4.19599e-01, -3.47763e-01,\n", + " 4.48526e-01, 1.77580e-02, 3.17047e-01, -8.67450e-02,\n", + " 1.16112e-01, 3.01035e-01, -1.63680e-01, -2.94519e-01,\n", + " -2.79789e-01, 2.75164e-01, -2.16006e-01, 3.04573e-01,\n", + " -7.89490e-02, 2.17650e-02, 4.35764e-01, -4.64550e-01,\n", + " 1.39895e-01, -4.21240e-02, 3.86542e-01, -7.60580e-02,\n", + " -6.13000e-03, 4.35704e-01, 7.83300e-03, -3.27755e-01,\n", + " 1.32233e-01, 3.60824e-01, 1.63450e-01, 5.13661e-01,\n", + " 1.15081e-01, -4.87571e-01, -4.83070e-02, -8.13922e-01,\n", + " -5.31725e-01, 3.38806e-01, 2.66962e-01, 1.93512e-01,\n", + " -3.01511e-01, 3.70064e-01, 1.14720e-01, 4.24480e-01,\n", + " -1.98907e-01, 2.69765e-01, -1.28448e-01, 7.54330e-02,\n", + " -2.76202e-01, -3.43503e-01, 4.86385e-01, -2.73633e-01,\n", + " 3.59585e-01, 7.84440e-02, -5.74058e-01, -4.43071e-01,\n", + " 2.00660e-02, 5.72675e-01, -6.39740e-02, 1.15200e-03,\n", + " 4.17870e-02, 2.29145e-01, 3.82222e-01, -3.11683e-01,\n", + " -1.46457e-01, 1.70632e-01, -3.68377e-01, 3.24017e-01,\n", + " 3.83530e-02, -2.13349e-01, 1.82413e-01, 1.44250e-02,\n", + " -2.27024e-01, -2.63809e-01, -2.91161e-01, 3.84354e-01,\n", + " 2.56000e-04, 2.05392e-01, 6.00830e-02, -2.53290e-02,\n", + " 2.24690e-02, 7.52864e-01, 1.54630e-02, -2.11567e-01,\n", + " -3.32692e-01, -3.18647e-01, -7.49270e-01, 2.61102e-01,\n", + " -4.42631e-01, -4.86170e-02, 1.93310e-02, -1.11742e-01,\n", + " 3.08771e-01, 1.83939e-01, -2.40371e-01, 5.33483e-01,\n", + " -4.22675e-01, -3.12862e-01, 4.51196e-01, -2.71805e-01,\n", + " -5.73902e-01, 4.23011e-01, -1.69932e-01, -4.21930e-02,\n", + " -3.56080e-02, -1.15220e-01, 1.61046e-01, 4.97359e-01,\n", + " 3.81067e-01, 3.43424e-01, 1.57810e-02, -3.28609e-01,\n", + " -1.03612e-01, -3.81719e-01, -1.69627e-01, -1.61754e-01,\n", + " 4.15862e-01, 2.52774e-01, -6.95890e-02, -1.19169e-01,\n", + " 3.22931e-01, 3.35660e-02, -1.94230e-02, 2.82367e-01,\n", + " 1.17590e-02, -4.19181e-01, -4.71700e-03, -1.79106e-01,\n", + " 3.54919e-01, 2.26021e-01, -5.49100e-02, -4.16373e-01,\n", + " -3.19613e-01, -3.65394e-01, 2.35522e-01, -8.61050e-02,\n", + " -1.52699e-01, -4.42264e-01, -3.64247e-01, -2.31323e-01,\n", + " 2.51584e-01, 6.86360e-02, -6.80121e-01, -2.49368e-01,\n", + " -1.76547e-01, -1.15827e-01, 2.42151e-01, 9.26330e-02,\n", + " -3.75603e-01, 1.75898e-01, -4.40209e-01, -2.25032e-01,\n", + " -2.29049e-01, -3.36606e-01, -3.66764e-01, -4.81810e-02,\n", + " -3.97307e-01, 7.33200e-03, 8.45560e-02, -7.14717e-01,\n", + " 2.75263e-01, -1.55207e-01, 2.16090e-02, -1.98180e-02,\n", + " -4.46543e-01, 4.78937e-01, 2.46303e-01, -2.28713e-01,\n", + " -1.09048e-01, -2.25748e-01, -1.85809e-01, -4.61253e-01,\n", + " -5.48372e-01, 4.70620e-02, -7.87020e-02, -2.00820e-02,\n", + " -5.96430e-01, -2.57764e-01, 1.52972e-01, -3.95730e-02,\n", + " 9.40500e-02, 2.85415e-01, -1.83719e-01, 1.80828e-01,\n", + " 5.40865e-01, 5.25212e-01, 4.80620e-01, -4.07370e-01,\n", + " 3.80226e-01, -1.32121e-01, 4.02086e-01, -1.66575e-01,\n", + " 8.91280e-02, -3.64582e-01, 4.53737e-01, 2.41923e-01,\n", + " -1.51044e-01, 6.20230e-02, 6.05920e-02, -2.76578e-01,\n", + " -1.86621e-01, 1.38814e-01, -2.25765e-01, 5.06720e-01,\n", + " 2.48833e-01, -7.78600e-03, -2.36607e-01, 2.44360e-01,\n", + " -2.66180e-02, -9.45380e-02, 1.27659e-01, -1.72385e-01,\n", + " 2.06677e-01, 7.65310e-02, -2.02109e-01, 4.51635e-01,\n", + " -4.79897e-01, 4.01100e-01, -2.36957e-01, 7.01460e-02,\n", + " 3.40421e-01, -2.66961e-01, -1.16260e-01, -7.51920e-02,\n", + " -1.32514e-01, 1.08250e-02, -1.22517e-01, -4.84245e-01,\n", + " 6.17800e-02, -9.14300e-02, -2.58038e-01, 3.13330e-02,\n", + " 2.52051e-01, 2.45917e-01, -3.34367e-01, 2.22165e-01,\n", + " 1.78771e-01, -6.68984e-01, -5.64309e-01, -3.64240e-02,\n", + " 5.55920e-02, -1.72052e-01, -1.65909e-01, -1.15502e-01,\n", + " -3.66111e-01, 2.50494e-01, 2.50911e-01, -4.87000e-03,\n", + " -2.48590e-01, 2.16184e-01, -2.03682e-01, -2.47142e-01,\n", + " -1.34611e-01, 3.88859e-01, 2.06040e-02, 2.41147e-01,\n", + " -4.49951e-01, 3.11640e-02, -1.72217e-01, -1.49239e-01,\n", + " -2.21250e-01, -1.68396e-01, -2.05913e-01, 1.64692e-01,\n", + " 6.75340e-01, 2.32070e-01, 2.48766e-01, -9.44900e-03,\n", + " 3.31254e-01, -2.88851e-01, -1.38112e-01, 2.40157e-01,\n", + " -3.07857e-01, -6.98236e-01, 2.72986e-01, 5.97457e-01,\n", + " 1.27656e-01, 1.00171e-01, -2.76797e-01, 4.30974e-01,\n", + " 6.12950e-02, -4.07693e-01, -1.21979e-01, 1.99919e-01,\n", + " 3.23164e-01, -3.31470e-02, -2.27166e-01, -3.73721e-01,\n", + " 3.11174e-01, -5.46221e-01, -5.55700e-03, 3.52165e-01],\n", + " dtype=float32), memmap([ 8.156000e-03, -4.873500e-01, 6.150090e-01, -4.004670e-01,\n", + " 8.412970e-01, 2.034050e-01, 6.399700e-02, -1.102000e-02,\n", + " -3.606030e-01, 2.514570e-01, 4.720720e-01, -4.013310e-01,\n", + " 9.316940e-01, -3.875400e-01, 3.765000e-01, -1.406360e-01,\n", + " 6.617380e-01, 4.018790e-01, 2.618420e-01, 4.116010e-01,\n", + " 1.861950e-01, 6.124210e-01, -3.866200e-02, 6.240460e-01,\n", + " -2.266190e-01, -4.012880e-01, 3.883490e-01, -2.141360e-01,\n", + " 4.418490e-01, -5.722120e-01, -7.117030e-01, -6.103210e-01,\n", + " 3.172790e-01, -2.271920e-01, -2.213000e-02, 3.122700e-02,\n", + " 2.883800e-01, 3.080440e-01, -4.560190e-01, 1.765100e-02,\n", + " 3.675470e-01, 2.209190e-01, -2.965510e-01, 1.048620e-01,\n", + " -5.741830e-01, -5.735480e-01, -2.204510e-01, 3.258090e-01,\n", + " 4.162650e-01, 1.497900e-02, 2.617750e-01, 2.091780e-01,\n", + " 5.461600e-02, 2.536970e-01, -2.304870e-01, -1.345070e-01,\n", + " -6.101420e-01, 1.994600e-02, -2.780150e-01, 1.958130e-01,\n", + " 3.747000e-03, 1.693310e-01, -1.099620e-01, -4.203780e-01,\n", + " 3.207200e-02, 2.434480e-01, 3.266090e-01, -3.176100e-01,\n", + " 3.847720e-01, 6.929400e-02, 4.657790e-01, -2.944920e-01,\n", + " -2.138170e-01, -4.168530e-01, 2.333910e-01, -1.571190e-01,\n", + " -2.485050e-01, -6.910600e-02, -1.352000e-01, -5.254700e-02,\n", + " 7.782120e-01, 2.078230e-01, -1.596230e-01, -4.392880e-01,\n", + " 9.218300e-02, -6.006300e-02, -9.013600e-02, -4.826990e-01,\n", + " -5.197160e-01, -1.925000e-03, 6.343020e-01, -2.876530e-01,\n", + " -1.841920e-01, -6.288400e-02, 9.300000e-05, 4.703410e-01,\n", + " 1.697330e-01, 1.612730e-01, 2.554100e-02, -1.157490e-01,\n", + " 9.256780e-01, 1.175800e-02, -2.108440e-01, 4.734240e-01,\n", + " 1.828820e-01, 3.370820e-01, 3.861550e-01, -9.031800e-02,\n", + " -8.146000e-02, 2.809560e-01, 5.065500e-02, -9.644500e-02,\n", + " 3.122900e-02, -3.227280e-01, -1.321770e-01, -5.383090e-01,\n", + " -1.826870e-01, -3.518010e-01, -1.110800e-02, 8.759100e-02,\n", + " -1.929670e-01, 3.065710e-01, -1.646720e-01, -2.958900e-02,\n", + " 1.999890e-01, 4.493410e-01, 2.271790e-01, 1.003300e-02,\n", + " 3.085310e-01, 5.180180e-01, 1.075273e+00, -1.220460e-01,\n", + " 8.176500e-02, -5.210260e-01, -4.159710e-01, 5.792490e-01,\n", + " -3.412360e-01, 8.519130e-01, 7.217580e-01, 5.068100e-02,\n", + " -7.892820e-01, 7.607000e-02, 7.583300e-02, 4.355870e-01,\n", + " 3.667980e-01, -4.560200e-02, -3.097370e-01, 5.284620e-01,\n", + " -3.382320e-01, 6.247220e-01, -5.840000e-03, -1.259060e-01,\n", + " 1.185400e-02, 6.027340e-01, 6.279190e-01, 6.623500e-02,\n", + " 2.467340e-01, -1.861330e-01, -7.869900e-02, -9.892600e-02,\n", + " -2.680700e-01, 3.582380e-01, -4.730150e-01, 4.110370e-01,\n", + " 3.407610e-01, 3.732850e-01, -7.926700e-01, -5.599930e-01,\n", + " -2.224300e-01, -5.134500e-01, -2.927720e-01, 3.085670e-01,\n", + " 5.569200e-02, 2.836610e-01, -1.337500e-01, -2.545120e-01,\n", + " 2.496400e-02, 3.435880e-01, -6.821230e-01, 2.829030e-01,\n", + " 4.778840e-01, -5.775640e-01, 3.542410e-01, 2.110320e-01,\n", + " 1.071270e-01, 3.819740e-01, 2.012370e-01, -4.866700e-01,\n", + " -4.053990e-01, -5.134840e-01, -3.156420e-01, 3.692840e-01,\n", + " 7.338290e-01, -4.884500e-02, -8.410800e-02, -5.713730e-01,\n", + " -6.227620e-01, 1.327560e-01, -3.043120e-01, -1.699790e-01,\n", + " 3.799420e-01, -2.107600e-01, 2.244550e-01, -6.513600e-02,\n", + " 7.516330e-01, -9.498700e-02, -5.265780e-01, 2.748920e-01,\n", + " -1.897780e-01, 5.800100e-01, -2.197780e-01, 3.352900e-01,\n", + " 1.112950e-01, -3.810000e-01, -4.850510e-01, -1.661250e-01,\n", + " 1.238200e-02, -2.251120e-01, -2.931000e-03, -1.984790e-01,\n", + " -3.519000e-02, -9.113900e-02, 1.868800e-02, 2.235380e-01,\n", + " -9.191800e-02, 3.463470e-01, -5.887500e-02, 3.106600e-02,\n", + " 5.382360e-01, 1.272380e-01, -4.736490e-01, 2.778420e-01,\n", + " 6.271000e-03, -6.055440e-01, 1.934790e-01, -1.601690e-01,\n", + " 3.329630e-01, -2.195920e-01, -3.487700e-01, -4.227690e-01,\n", + " 2.919430e-01, -1.761240e-01, 2.210760e-01, 7.097100e-02,\n", + " -4.884260e-01, -3.368430e-01, 8.911400e-02, 1.727370e-01,\n", + " 5.271600e-01, 8.692100e-02, -8.510000e-02, 2.103500e-01,\n", + " 2.394990e-01, -7.042490e-01, 1.192130e-01, -5.528580e-01,\n", + " -1.459520e-01, 1.439900e-01, 5.347230e-01, 1.036136e+00,\n", + " 1.209200e-02, -3.290460e-01, 3.050000e-02, 3.152060e-01,\n", + " 3.740430e-01, 5.416420e-01, 1.357900e-02, 8.296400e-02,\n", + " -3.383180e-01, 2.748020e-01, 4.805100e-02, 3.147930e-01,\n", + " 6.705930e-01, 1.526560e-01, -2.191200e-02, 4.031760e-01,\n", + " 5.159450e-01, -1.841280e-01, 1.594400e-01, -1.843850e-01,\n", + " 2.449140e-01, -9.746300e-02, -4.315000e-02, 7.357870e-01,\n", + " -2.395700e-01, -1.045700e-02, -5.363410e-01, 5.747590e-01,\n", + " 9.750240e-01, -1.371670e-01, -3.440100e-02, -9.239900e-02,\n", + " -1.673550e-01, -1.060000e-01, -3.342170e-01, 4.276020e-01,\n", + " 9.025000e-02, -6.735220e-01, -2.871200e-01, 2.425070e-01],\n", + " dtype=float32), memmap([ 0.234722, 0.80981 , 0.074393, -0.211983, -0.20316 , -0.005446,\n", + " -0.026764, -0.400265, -0.084097, -0.273624, 0.515842, 0.1567 ,\n", + " -0.305431, -0.348783, -0.303379, -0.47814 , 0.597299, -0.898253,\n", + " 0.33991 , -0.130709, 0.483949, 0.461116, -0.190227, 0.013129,\n", + " 0.065772, -0.352949, 0.111544, 0.017473, 0.144105, 0.149626,\n", + " 0.008293, -0.169169, -0.444825, 0.479146, 0.06512 , 0.296075,\n", + " 0.710782, 0.587407, -0.433715, 0.304509, 0.006459, -0.289251,\n", + " -0.10277 , -0.198216, -0.141312, 0.231391, 0.64742 , -0.087082,\n", + " 0.422744, -0.108043, 0.526347, -0.141101, -0.018233, -0.112364,\n", + " -0.227426, 0.250347, -0.403164, 0.115159, -0.009349, 0.609969,\n", + " -0.069278, -0.391943, -0.653624, 0.10873 , -0.094347, 0.066627,\n", + " -0.253934, -0.108288, -0.346003, 0.431097, -0.265748, -0.425058,\n", + " -0.025266, 0.290219, 0.106791, 0.087098, -0.447396, -0.673392,\n", + " -0.324899, -0.391382, 0.447569, 0.349118, 0.356815, 0.182235,\n", + " -0.111013, -0.223045, 0.160748, -0.181547, -0.328115, -0.460369,\n", + " -0.442495, 0.429451, 0.397471, 0.381919, 0.02781 , 0.271415,\n", + " 0.5993 , -0.174249, -0.176888, 0.042518, -0.377703, -0.092198,\n", + " -0.438258, 0.109864, -0.077585, 0.167162, 0.194471, -0.008114,\n", + " -0.307463, 0.099702, -0.026789, 0.123125, 0.423148, -0.291795,\n", + " -0.544971, -0.082876, -0.576819, 0.272862, 0.031629, 0.283621,\n", + " -0.342329, 0.334911, -0.27696 , 0.428965, 0.101146, -0.206178,\n", + " -0.274189, 0.060112, 0.570426, -0.107117, 0.37786 , -0.165856,\n", + " -0.270784, -0.614963, 0.484542, -0.137667, 0.461162, 0.122169,\n", + " 0.667988, 0.137872, -0.188582, -0.542727, 0.1241 , 0.027563,\n", + " 0.54114 , 0.047244, 0.634181, -0.653621, -0.361178, 0.36152 ,\n", + " -0.083926, 0.426356, 0.343157, 0.154389, -0.557137, 0.356449,\n", + " -0.174122, -0.090641, -0.247339, -0.361961, 0.179499, -0.158728,\n", + " 0.351486, -0.181382, -0.062844, 0.324505, -0.816371, 0.503514,\n", + " 0.034193, -0.060433, 0.728245, 0.006493, -0.118483, -0.879179,\n", + " -0.143395, -0.492866, -0.789491, 0.38288 , -0.242385, -0.346206,\n", + " -0.482659, -0.523072, 0.800104, -0.39457 , -0.16892 , 0.317939,\n", + " 0.48674 , 0.100542, 0.400315, -0.321421, -0.355529, -0.080892,\n", + " 0.082311, 0.409865, -0.213277, 0.484455, -0.041403, -0.56434 ,\n", + " 0.075854, 0.479876, -0.221461, -0.018248, 0.154643, 0.634272,\n", + " -0.204653, -0.053264, -0.419435, 0.148316, -0.386147, 0.362359,\n", + " -0.516738, -0.022144, 0.195906, 0.36925 , -0.631322, -0.185465,\n", + " -0.150158, 0.29502 , 0.186631, -0.029606, -0.159891, 0.585461,\n", + " -0.305519, 0.679607, -0.289729, 0.300789, -0.409961, -0.014877,\n", + " -0.058152, -0.289599, -0.275716, 0.14194 , -0.417603, -0.219314,\n", + " 0.239415, -0.209425, 0.228551, -0.090276, 0.003584, -0.563514,\n", + " 0.190148, -0.019804, 0.525719, -0.648379, -0.130032, 0.171629,\n", + " -0.285099, 0.501189, -0.28986 , -0.320306, 0.425084, 0.369126,\n", + " 0.486192, -0.806163, 0.46262 , -1.326337, 0.170554, 0.15332 ,\n", + " -0.013065, 0.305223, 0.365505, 0.024582, -0.02012 , -0.008161,\n", + " 0.271429, 0.115404, -0.558071, 0.190464, -0.51834 , 0.307425,\n", + " -0.424621, -0.110702, -0.067658, 0.549403, -0.508167, 0.244493,\n", + " 0.482683, -0.70726 , -0.043798, -0.162574, -0.120331, -0.689316,\n", + " -0.479306, 0.467589, 0.08211 , 0.063808, -0.236574, 0.513354,\n", + " 0.208919, -0.364278, -0.599179, 0.694367, -0.113098, -0.137624,\n", + " 0.178429, -0.249899, 0.177704, -0.383857, -0.012945, 0.063089],\n", + " dtype=float32), memmap([-0.43704328, 0.16851279, -0.02601243, -0.4168659 , 0.5224745 ,\n", + " -0.7142246 , -0.12885816, -0.34436578, 0.42917573, 0.3045386 ,\n", + " -0.08298457, -0.14984162, 0.5831198 , -0.43861976, -0.03711507,\n", + " 0.6785138 , 0.81154084, 0.6048088 , 0.15759212, -0.27437976,\n", + " 0.40610436, 0.7107106 , 0.31907973, -0.56643194, -0.2333762 ,\n", + " -0.232309 , 0.26930478, -0.84855753, 0.15965381, -0.32424158,\n", + " -0.00523245, -0.71766424, 0.17675807, 0.01695049, 0.34313464,\n", + " 0.40653548, 0.50340587, 0.48564705, -0.09228632, 0.04486391,\n", + " 0.5951995 , -0.3139564 , -0.38185194, 0.52537715, -0.16477115,\n", + " -0.297901 , -0.46319473, 0.3508003 , 0.26041496, 0.07937319,\n", + " 0.35707846, 0.28729433, 0.02988764, 0.38840854, -0.31187415,\n", + " 0.31206766, -0.19074814, 0.34293324, -0.06722233, 0.09738967,\n", + " -0.7956899 , -0.7158977 , 0.47358373, 0.20765392, -0.216061 ,\n", + " 0.08355573, 0.5674395 , -0.7288827 , 0.22942673, 0.10188313,\n", + " 0.44288352, -0.4911556 , -0.04389782, -0.2898793 , 0.25662944,\n", + " 0.41891834, 0.0709367 , -0.73468864, -0.42741016, 0.28716776,\n", + " 0.53391683, 0.15716013, -0.33163205, 0.07225388, -0.23595211,\n", + " 0.35344008, -0.10157669, -0.34501886, -0.5122641 , 0.6390044 ,\n", + " 0.21933913, -0.3115119 , 0.29910016, 0.5659623 , -0.03358399,\n", + " -0.00193472, -0.6880251 , 0.29486933, 0.10980212, -0.09594101,\n", + " 0.29690126, 0.5913313 , -0.29688758, -0.46061993, 0.07246412,\n", + " 0.0805434 , -0.16526218, 0.22637607, 0.86492795, -0.38849187,\n", + " 0.17903516, -0.6180861 , 0.24439453, -0.36301985, -0.02965929,\n", + " -0.78820145, -0.06487131, 0.1825285 , -0.05630683, 0.21455152,\n", + " -0.18059276, 0.42041224, -0.24461502, -0.567747 , -0.28765854,\n", + " 0.6082309 , -0.03698164, -0.578393 , 0.6160879 , -0.17018496,\n", + " 0.48615724, 0.116336 , 0.39397898, -0.41099846, 0.16321197,\n", + " 0.35372427, -0.49958637, 0.20662603, 0.2038773 , 0.04572682,\n", + " -0.26657137, 0.13991252, -0.06601115, 0.03737917, 0.0380998 ,\n", + " 0.21199536, -0.67977315, 0.12702154, 0.68996567, -0.01940528,\n", + " -0.00620544, 0.02354749, 0.17335285, 0.13090533, 0.6455452 ,\n", + " -0.04186703, 0.41136578, -0.5651506 , 0.07603364, -0.27045494,\n", + " -0.42935705, 0.33144286, -0.2099001 , 0.61004084, 0.27491075,\n", + " 0.649559 , -0.3522523 , -0.6714804 , -0.51938534, -0.43280384,\n", + " -0.13927382, 0.26399016, -0.38233885, -0.30353945, -0.4417773 ,\n", + " -0.38795018, -0.31546074, 0.3286482 , -0.22237799, -0.45397872,\n", + " 0.48318398, -1.1950771 , 0.4714804 , -0.8430064 , 0.29040694,\n", + " -0.09525143, -0.68426037, -0.8060836 , -0.8018194 , -0.3993437 ,\n", + " -0.04741618, 0.48607898, 0.4597548 , -0.468694 , -0.26661292,\n", + " -0.42299426, 0.6655192 , 0.05668921, -0.18864775, -0.10226376,\n", + " 0.7484418 , -0.3359666 , -0.13154876, 0.17690389, 0.30966806,\n", + " -0.21480235, 0.12093903, -0.49554706, -0.41209584, 0.1880465 ,\n", + " -0.53453296, -0.04710912, -0.38869777, -1.0077711 , -0.3610903 ,\n", + " -0.21228951, 0.03051093, 0.5464496 , -0.05131094, 0.20543899,\n", + " 0.02992031, 0.36773217, -1.0533086 , 0.76720047, -0.58706594,\n", + " 0.95999926, -0.4792188 , 0.20755163, -0.05995932, -0.09290113,\n", + " -0.65401894, -0.71890354, 0.07409877, -0.4798239 , 0.14673023,\n", + " -0.76999164, 0.46697956, -0.10719278, 0.11801249, -0.04767519,\n", + " -0.00634744, -0.5722744 , 0.49527958, -0.00781797, -0.6562131 ,\n", + " -0.04025438, -0.4735397 , 0.53849965, -0.11708286, 0.40879008,\n", + " -0.5351275 , 0.26375774, 0.38303128, -0.47321445, 0.28118816,\n", + " -0.22255424, -0.23109892, 0.4600461 , -0.04164021, 0.82314825,\n", + " -0.11952572, 0.07120946, 0.61873853, 0.2888831 , -0.7436362 ,\n", + " -0.7408248 , 0.04528516, 0.38334835, -0.17638847, 0.40847474,\n", + " -0.16611834, -0.07722652, 1.4418545 , -0.10621136, -0.32124746,\n", + " 0.60380197, -0.03822711, 0.04754806, 0.4502709 , -0.23952693,\n", + " 0.08672749, -0.873503 , -0.6670881 , 0.405368 , -0.42750865,\n", + " 0.16198066, -0.5099588 , 0.50733304, 0.5181686 , -0.14966993,\n", + " -0.3101583 , 0.18488207, -0.11657072, -0.5372135 , -0.52833736,\n", + " 0.26373565, 0.45132634, -0.14235266, -0.72201425, 0.5884028 ],\n", + " dtype=float32), memmap([ 0.234722, 0.80981 , 0.074393, -0.211983, -0.20316 , -0.005446,\n", + " -0.026764, -0.400265, -0.084097, -0.273624, 0.515842, 0.1567 ,\n", + " -0.305431, -0.348783, -0.303379, -0.47814 , 0.597299, -0.898253,\n", + " 0.33991 , -0.130709, 0.483949, 0.461116, -0.190227, 0.013129,\n", + " 0.065772, -0.352949, 0.111544, 0.017473, 0.144105, 0.149626,\n", + " 0.008293, -0.169169, -0.444825, 0.479146, 0.06512 , 0.296075,\n", + " 0.710782, 0.587407, -0.433715, 0.304509, 0.006459, -0.289251,\n", + " -0.10277 , -0.198216, -0.141312, 0.231391, 0.64742 , -0.087082,\n", + " 0.422744, -0.108043, 0.526347, -0.141101, -0.018233, -0.112364,\n", + " -0.227426, 0.250347, -0.403164, 0.115159, -0.009349, 0.609969,\n", + " -0.069278, -0.391943, -0.653624, 0.10873 , -0.094347, 0.066627,\n", + " -0.253934, -0.108288, -0.346003, 0.431097, -0.265748, -0.425058,\n", + " -0.025266, 0.290219, 0.106791, 0.087098, -0.447396, -0.673392,\n", + " -0.324899, -0.391382, 0.447569, 0.349118, 0.356815, 0.182235,\n", + " -0.111013, -0.223045, 0.160748, -0.181547, -0.328115, -0.460369,\n", + " -0.442495, 0.429451, 0.397471, 0.381919, 0.02781 , 0.271415,\n", + " 0.5993 , -0.174249, -0.176888, 0.042518, -0.377703, -0.092198,\n", + " -0.438258, 0.109864, -0.077585, 0.167162, 0.194471, -0.008114,\n", + " -0.307463, 0.099702, -0.026789, 0.123125, 0.423148, -0.291795,\n", + " -0.544971, -0.082876, -0.576819, 0.272862, 0.031629, 0.283621,\n", + " -0.342329, 0.334911, -0.27696 , 0.428965, 0.101146, -0.206178,\n", + " -0.274189, 0.060112, 0.570426, -0.107117, 0.37786 , -0.165856,\n", + " -0.270784, -0.614963, 0.484542, -0.137667, 0.461162, 0.122169,\n", + " 0.667988, 0.137872, -0.188582, -0.542727, 0.1241 , 0.027563,\n", + " 0.54114 , 0.047244, 0.634181, -0.653621, -0.361178, 0.36152 ,\n", + " -0.083926, 0.426356, 0.343157, 0.154389, -0.557137, 0.356449,\n", + " -0.174122, -0.090641, -0.247339, -0.361961, 0.179499, -0.158728,\n", + " 0.351486, -0.181382, -0.062844, 0.324505, -0.816371, 0.503514,\n", + " 0.034193, -0.060433, 0.728245, 0.006493, -0.118483, -0.879179,\n", + " -0.143395, -0.492866, -0.789491, 0.38288 , -0.242385, -0.346206,\n", + " -0.482659, -0.523072, 0.800104, -0.39457 , -0.16892 , 0.317939,\n", + " 0.48674 , 0.100542, 0.400315, -0.321421, -0.355529, -0.080892,\n", + " 0.082311, 0.409865, -0.213277, 0.484455, -0.041403, -0.56434 ,\n", + " 0.075854, 0.479876, -0.221461, -0.018248, 0.154643, 0.634272,\n", + " -0.204653, -0.053264, -0.419435, 0.148316, -0.386147, 0.362359,\n", + " -0.516738, -0.022144, 0.195906, 0.36925 , -0.631322, -0.185465,\n", + " -0.150158, 0.29502 , 0.186631, -0.029606, -0.159891, 0.585461,\n", + " -0.305519, 0.679607, -0.289729, 0.300789, -0.409961, -0.014877,\n", + " -0.058152, -0.289599, -0.275716, 0.14194 , -0.417603, -0.219314,\n", + " 0.239415, -0.209425, 0.228551, -0.090276, 0.003584, -0.563514,\n", + " 0.190148, -0.019804, 0.525719, -0.648379, -0.130032, 0.171629,\n", + " -0.285099, 0.501189, -0.28986 , -0.320306, 0.425084, 0.369126,\n", + " 0.486192, -0.806163, 0.46262 , -1.326337, 0.170554, 0.15332 ,\n", + " -0.013065, 0.305223, 0.365505, 0.024582, -0.02012 , -0.008161,\n", + " 0.271429, 0.115404, -0.558071, 0.190464, -0.51834 , 0.307425,\n", + " -0.424621, -0.110702, -0.067658, 0.549403, -0.508167, 0.244493,\n", + " 0.482683, -0.70726 , -0.043798, -0.162574, -0.120331, -0.689316,\n", + " -0.479306, 0.467589, 0.08211 , 0.063808, -0.236574, 0.513354,\n", + " 0.208919, -0.364278, -0.599179, 0.694367, -0.113098, -0.137624,\n", + " 0.178429, -0.249899, 0.177704, -0.383857, -0.012945, 0.063089],\n", + " dtype=float32), memmap([-0.34791982, 0.35519612, -0.2357776 , -0.15598239, 0.40842968,\n", + " -0.07716703, -0.37750414, -0.1011829 , 0.10936252, -0.06144233,\n", + " 0.23508106, -0.4193564 , 0.6613736 , 0.09719941, 0.22581628,\n", + " -0.04572814, 0.38854527, 0.12327043, 0.5914849 , -0.45474783,\n", + " 0.30133805, 0.9500505 , 0.29877782, 0.15602471, 0.08614317,\n", + " -0.16534169, 0.6388528 , -0.7290853 , 0.2161327 , -0.42732048,\n", + " -0.25721654, -0.36353788, 0.10769274, 0.00218416, -0.04622876,\n", + " 0.6006969 , 0.38186675, 0.6373773 , 0.30885363, -0.21828113,\n", + " 0.3739726 , 0.14815642, -0.32714102, 0.03677403, -0.63059735,\n", + " -0.4220095 , -0.32744214, 0.23211578, 0.42321107, -0.05722558,\n", + " 0.26803967, -0.2706911 , -0.05219204, -0.05424472, -0.22355926,\n", + " 0.1983524 , 0.2598351 , 0.5422917 , -0.18819982, 0.4785342 ,\n", + " -0.35591277, -0.33282754, -0.07390904, 0.21366185, -0.37500066,\n", + " 0.4891794 , 0.56845856, -0.21780765, 0.48941663, 0.2276083 ,\n", + " 0.47828814, -0.60836315, -0.01246514, -0.44337443, 0.19588524,\n", + " -0.31873792, 0.47275895, 0.05064954, -0.01413631, -0.13798603,\n", + " 0.52441746, 0.13424136, -0.43579292, 0.26190293, 0.28480116,\n", + " -0.02670246, -0.2889117 , -0.08038341, -0.03973486, 0.56454235,\n", + " 0.02029793, -0.8892638 , 0.06779003, 0.10327538, -0.12719914,\n", + " 0.22716945, -0.3884649 , 0.44756356, 0.43417794, 0.07219587,\n", + " -0.25571278, 0.33660802, 0.11323246, 0.13444889, -0.10157079,\n", + " 0.3112869 , -0.33286014, 0.14473471, 0.18306738, 0.10347184,\n", + " 0.24112451, 0.32636502, 0.5154524 , 0.13344556, 0.525867 ,\n", + " -0.66264164, 0.47533908, -0.4880552 , -0.3275483 , 0.17618012,\n", + " -0.09694817, 0.54932225, -0.13059703, -0.26231843, -0.2370771 ,\n", + " 0.8443317 , -0.07856084, -0.5146307 , 0.16666341, 0.09550036,\n", + " 0.03247118, -0.07383429, 0.4669772 , -0.2277151 , -0.518375 ,\n", + " 0.10275586, -0.10706193, 0.26353982, -0.11688339, -0.33552176,\n", + " -0.59102345, 0.01780802, -0.20528166, -0.2352671 , 0.24078798,\n", + " 0.18699683, -0.8802745 , 0.01402704, 0.53083193, 0.41630623,\n", + " -0.29602045, -0.07719743, -0.2214767 , 0.29589057, 0.00286799,\n", + " -0.07588245, 0.22708206, -0.63453597, 0.18555929, 0.13604456,\n", + " -0.04750459, 0.33158267, -0.7010693 , 0.26763576, 0.35792622,\n", + " 0.6403971 , -0.6189957 , -0.33163124, -0.5352795 , 0.09608977,\n", + " 0.07197314, 0.34976137, -0.11853023, -0.3255099 , -0.30089006,\n", + " 0.08450063, 0.05592928, 0.03574779, -0.47175035, 0.20533407,\n", + " 0.3341692 , -0.53694904, 0.6272017 , -1.1881298 , -0.11339198,\n", + " 0.09402371, -0.28602213, -0.5535675 , -1.1584214 , -0.48236263,\n", + " -0.04151005, 0.6257556 , 0.13397181, -0.25138286, 0.30362463,\n", + " -0.54184943, -0.14103508, 0.06468085, -0.47103256, -0.23030765,\n", + " 0.4033689 , -0.5092248 , 0.8239296 , -0.12316188, -0.2070601 ,\n", + " -0.20573497, -0.22442245, 0.11168428, -0.18406361, 0.36967453,\n", + " -0.15700668, 0.03018349, 0.19931987, -0.54206175, -0.10489228,\n", + " -0.18781194, 0.1340994 , 0.54338074, -0.29789436, -0.3693853 ,\n", + " 0.5509503 , 0.14932938, -0.24838218, 0.48303887, 0.16962981,\n", + " 0.40629503, -0.05752627, -0.14103585, -0.5083225 , 0.23446831,\n", + " -0.42314267, -0.53717977, 0.7368042 , -0.39958185, 0.23205267,\n", + " -0.2707408 , -0.5007544 , -0.47495243, -0.45760757, 0.06174152,\n", + " -0.0568627 , -0.639943 , 0.2323623 , -0.15481456, -0.08146472,\n", + " 0.14808469, -0.70276237, -0.13580577, -0.06164437, 0.16870958,\n", + " 0.15733808, -0.230485 , 0.15950418, -0.53286576, 0.01499614,\n", + " -0.1156303 , -0.8824443 , -0.21247798, 0.67809904, 0.7227184 ,\n", + " 0.55618143, -0.32235837, 0.05155268, 0.48962143, -0.63654184,\n", + " -0.45810324, 0.18834113, 0.07359651, 0.30268708, 0.6425273 ,\n", + " -0.17910716, 0.20491992, 1.6434997 , 0.4479256 , -0.07207586,\n", + " -0.00858526, -0.01359201, -0.09146912, 0.04082096, 0.04677895,\n", + " 0.08130396, -0.372898 , 0.1400561 , 0.10254738, -0.0631671 ,\n", + " -0.04109211, -0.64642936, 0.48025507, 0.80463976, -0.38774303,\n", + " 0.13353033, -0.05461905, 0.22057864, -0.21837483, -0.446688 ,\n", + " 0.5173492 , 0.3571514 , -0.13914755, -0.02809314, 0.26627868],\n", + " dtype=float32), memmap([ 6.10630e-02, -2.43565e-01, 7.05470e-02, -1.48067e-01,\n", + " 4.26670e-01, -1.16827e-01, -6.79890e-02, -1.76343e-01,\n", + " 4.66760e-01, -4.96192e-01, -1.48163e-01, 6.23050e-02,\n", + " 3.30993e-01, 1.18190e-01, 3.45783e-01, 2.03854e-01,\n", + " 1.59060e-02, -3.16701e-01, 6.03505e-01, 4.30327e-01,\n", + " -3.91000e-03, 5.63653e-01, 1.35337e-01, 4.27893e-01,\n", + " -3.95480e-01, -2.99584e-01, -3.11469e-01, 2.04275e-01,\n", + " 1.28691e-01, -1.22913e-01, 2.52979e-01, -3.83081e-01,\n", + " -5.09415e-01, 2.52386e-01, 1.77140e-02, 4.70221e-01,\n", + " -3.04500e-02, -3.66970e-01, -2.73860e-01, 4.90430e-01,\n", + " -6.50520e-02, -2.44414e-01, 8.79760e-02, 2.28890e-02,\n", + " 7.74150e-02, 1.47387e-01, 2.74560e-02, 2.24080e-01,\n", + " 6.82490e-02, 3.18015e-01, 1.01301e-01, 7.11760e-01,\n", + " -6.23500e-02, 1.03127e-01, -2.35292e-01, -1.66274e-01,\n", + " 1.10310e-01, 6.62740e-02, -1.31451e-01, 1.41410e-02,\n", + " 2.58798e-01, -4.71127e-01, 2.09608e-01, -4.77700e-03,\n", + " -2.67979e-01, -1.61965e-01, -7.88400e-02, 5.56210e-02,\n", + " 1.27370e-01, -2.61300e-02, 3.60523e-01, -2.34772e-01,\n", + " -1.48216e-01, 1.84637e-01, -5.15294e-01, 1.51430e-01,\n", + " 5.00088e-01, -3.88825e-01, 2.55700e-02, -2.93409e-01,\n", + " 5.34243e-01, -1.92649e-01, -8.97830e-01, 2.42170e-02,\n", + " 1.55609e-01, -5.58302e-01, -2.65530e-01, -4.51992e-01,\n", + " -1.51773e-01, 5.18310e-02, 7.32894e-01, 1.74180e-02,\n", + " 1.22396e-01, 1.89300e-03, -7.58970e-02, 3.23706e-01,\n", + " 9.37220e-02, -8.86620e-02, 4.86544e-01, 5.14930e-02,\n", + " -2.69619e-01, 3.81881e-01, -1.16931e-01, 1.78586e-01,\n", + " 2.34402e-01, 2.59042e-01, 1.36068e-01, -2.81681e-01,\n", + " -4.35271e-01, 3.06024e-01, 9.47000e-04, -2.82300e-01,\n", + " -2.00149e-01, -1.87742e-01, 2.95696e-01, 4.98634e-01,\n", + " -3.59280e-01, 5.68698e-01, 2.47224e-01, -2.82670e-02,\n", + " 1.49755e-01, 6.90760e-02, -1.04766e-01, 5.03234e-01,\n", + " -2.72385e-01, -2.35980e-02, -4.77441e-01, 1.62717e-01,\n", + " -1.98700e-03, -4.84196e-01, 1.72168e-01, -2.83387e-01,\n", + " -9.03327e-01, -4.37606e-01, -6.56678e-01, 2.19694e-01,\n", + " -1.21314e-01, -2.63231e-01, 2.93801e-01, -3.68679e-01,\n", + " 3.23900e-01, 5.75314e-01, -5.23070e-02, -4.71362e-01,\n", + " 3.07481e-01, -1.44932e-01, 6.71280e-02, 9.49000e-02,\n", + " -4.32355e-01, 5.74823e-01, -1.98054e-01, 4.19030e-02,\n", + " 2.80563e-01, -1.78964e-01, 1.86129e-01, -1.25586e-01,\n", + " 4.29702e-01, -1.48982e-01, 2.51975e-01, -4.34783e-01,\n", + " 4.69767e-01, -1.22916e-01, -4.30100e-01, 9.05290e-02,\n", + " 7.35253e-01, -1.19520e-01, -1.55117e-01, -5.02580e-01,\n", + " -2.53303e-01, -1.27590e-01, 8.03880e-02, -1.67860e-02,\n", + " 3.28062e-01, -3.83459e-01, -3.89224e-01, 1.90992e-01,\n", + " -2.14929e-01, -2.45662e-01, 1.39204e-01, 1.13685e-01,\n", + " -3.79061e-01, 5.17630e-02, -3.59080e-02, -4.78517e-01,\n", + " -6.91930e-02, -4.71350e-02, -1.63505e-01, 4.08120e-01,\n", + " -9.71885e-01, -7.02901e-01, 3.46699e-01, 5.72464e-01,\n", + " 1.35163e-01, 3.18931e-01, -4.68169e-01, 2.29413e-01,\n", + " -4.54969e-01, -3.90655e-01, -4.01345e-01, 6.82719e-01,\n", + " 1.26217e-01, -1.61177e-01, 5.52236e-01, -2.62458e-01,\n", + " 3.77314e-01, -3.11340e-02, 2.84949e-01, 2.50170e-02,\n", + " -4.50486e-01, 4.59666e-01, -4.98784e-01, -8.49060e-02,\n", + " -2.94556e-01, 1.48859e-01, -3.67932e-01, -2.30095e-01,\n", + " -3.66270e-02, -7.64414e-01, 2.95754e-01, -3.17710e-02,\n", + " 5.80200e-01, -4.06025e-01, -2.25311e-01, -3.48766e-01,\n", + " 2.04185e-01, 8.90141e-01, 1.92997e-01, -8.27050e-02,\n", + " 3.01017e-01, -2.19264e-01, 1.78925e-01, 4.52375e-01,\n", + " 2.23046e-01, -1.00842e-01, 2.74280e-01, 2.46820e-02,\n", + " -1.92807e-01, 4.39445e-01, -3.23606e-01, 7.04679e-01,\n", + " -2.72570e-01, -1.69200e-01, 3.39325e-01, 7.92140e-02,\n", + " -4.77778e-01, 5.06321e-01, -1.09014e-01, -4.17195e-01,\n", + " -1.51750e-02, 8.72250e-02, 2.63106e-01, -1.37732e-01,\n", + " -1.10009e-01, -4.99364e-01, -8.50370e-02, -1.20450e-02,\n", + " -3.53792e-01, -1.76255e-01, -3.70698e-01, 4.17646e-01,\n", + " 2.55442e-01, 5.84553e-01, 5.19170e-02, 4.11990e-02,\n", + " -4.38064e-01, -4.75950e-01, 6.03717e-01, 2.48737e-01,\n", + " 5.67888e-01, 1.26563e-01, 5.35746e-01, 1.86371e-01,\n", + " 7.37360e-02, -1.88539e-01, 1.31859e-01, 7.54846e-01,\n", + " 2.02118e-01, -1.46316e-01, -2.88557e-01, 1.78839e-01,\n", + " 9.78699e-01, -2.14555e-01, -1.81644e-01, 4.01674e-01,\n", + " -1.65672e-01, -3.42167e-01, -1.80180e-02, 1.14075e-01,\n", + " 4.35370e-01, -2.74643e-01, 2.09556e-01, -3.81817e-01,\n", + " -3.91290e-02, 1.14879e-01, 4.10624e-01, 7.66410e-02,\n", + " 3.93985e-01, 2.19750e-02, -3.74795e-01, -2.98817e-01],\n", + " dtype=float32), memmap([-0.2502971 , 0.5693209 , 0.6859602 , 0.3502432 , 0.03042465,\n", + " -0.40302828, -0.48365286, -0.65839946, -0.3358731 , -0.51330286,\n", + " -0.20787436, -0.4027331 , 0.12128457, -0.09633358, -0.30481058,\n", + " 0.14851086, 0.5458918 , 0.19156294, 0.11829986, -0.23392801,\n", + " 0.392 , -0.48992926, 0.70208365, 0.6010129 , 0.5211704 ,\n", + " 0.81344384, -0.33858076, 0.2273095 , -0.07525846, -0.7354135 ,\n", + " 0.6687955 , -0.16666509, 0.21206343, 0.22326079, -0.34585255,\n", + " -0.42590532, 0.17167363, 0.78599393, -0.065249 , -1.2935292 ,\n", + " -0.4529947 , -0.02257312, 0.13528293, 0.18777046, 0.49390477,\n", + " -0.03556978, 0.5608253 , -0.17261927, -0.34256792, 0.61521316,\n", + " 0.12064233, 0.04716802, -0.1871616 , -0.28701207, 0.5829164 ,\n", + " -0.59850484, -0.5532849 , -0.175368 , 0.16818732, -0.3299332 ,\n", + " -0.39306253, 0.6729647 , -0.2507978 , 0.37720272, -0.54490966,\n", + " 0.49711213, 0.6085116 , 0.18110193, -0.33071607, -0.4212946 ,\n", + " -0.18897709, -0.04324469, 0.5247383 , 0.14580439, 0.0544477 ,\n", + " -0.05025896, -0.07921224, -0.13888495, -0.6286393 , 0.14243431,\n", + " 0.39440152, -0.04422115, -0.52977043, 0.1802003 , 0.32380036,\n", + " 0.9525845 , -0.47127846, -0.2737093 , 0.6637773 , 0.22393264,\n", + " 0.3896496 , -0.30210814, -0.27378252, -0.0409729 , -0.70492774,\n", + " -0.2959512 , 0.2401106 , -0.500258 , -0.13021185, 0.7562607 ,\n", + " -0.25253844, 0.09711885, 0.24976362, 0.7612688 , 0.66700494,\n", + " -0.8683097 , 0.9793068 , -0.35626546, 0.57284486, -0.2534546 ,\n", + " 0.48015976, 0.59566915, 0.36849758, 0.16913733, 1.2349902 ,\n", + " 0.1138988 , 0.47013798, 0.4346716 , 0.480029 , 0.5961265 ,\n", + " -0.11305673, -0.15467317, 0.15031485, 0.3414257 , 0.27386904,\n", + " 0.94369584, -0.92888415, -0.0955107 , 0.44188568, 0.7055486 ,\n", + " -0.11246148, 0.25021565, -0.09587555, 0.21151061, 0.02762759,\n", + " -0.71323097, -0.50389814, 0.12484976, -0.00257557, -0.23291202,\n", + " -0.158402 , 0.44622806, 0.48181775, 0.82323897, -0.43659452,\n", + " -0.39230618, -0.56767344, 0.23886083, -0.4178109 , -0.43680894,\n", + " 0.15968394, -0.05690216, 0.6567981 , -0.6923975 , 0.5464737 ,\n", + " -0.26098818, -0.16786648, -0.16180566, 0.805358 , 0.16115981,\n", + " 0.41978118, 0.39132556, 0.4626196 , 0.42371756, -0.18822318,\n", + " 0.45774755, 0.07204169, -0.86568004, 0.05934478, 0.459054 ,\n", + " -0.10381915, -0.22139299, -0.40845713, -0.26227206, -1.0463864 ,\n", + " -0.31025946, 0.30001158, 0.7539976 , -0.47235617, -0.35770497,\n", + " -0.2704276 , 0.30824903, -0.14733827, 0.46700996, -0.83770853,\n", + " 0.2269185 , -0.26662648, 0.6326865 , -1.3552221 , 0.03666956,\n", + " 0.24061902, -0.84152526, 0.10080509, 0.435912 , 0.5429908 ,\n", + " -0.36978388, -0.85021925, -0.04115516, 0.12593868, 0.14885499,\n", + " -0.02296785, -0.14004676, -0.35459954, 0.50178933, 0.53665936,\n", + " -0.4243553 , 0.1247301 , 0.2984548 , 0.00939161, 0.01990146,\n", + " 0.19237866, -0.30214497, 1.1865892 , -0.13550971, -0.56564116,\n", + " 0.21578464, 0.52063406, -0.18550791, -0.9018661 , 0.2906284 ,\n", + " -0.2303815 , 0.3284327 , -0.45388597, 0.9852445 , -0.1338044 ,\n", + " -0.22731198, -0.4412627 , -0.06100829, 0.29467958, 0.7346881 ,\n", + " -0.3658415 , 0.3892717 , 1.0246668 , -0.28583062, -0.09846623,\n", + " 0.28132552, 0.5735887 , 0.40085393, -0.02253614, 0.62221843,\n", + " 0.73668456, -0.5110986 , 0.37871096, 0.37896314, -0.45458478,\n", + " -0.19574662, -0.35032195, 0.24751079, -0.06169019, -0.6355142 ,\n", + " 0.62589264, -0.13730757, 0.1075398 , -0.04302481, 0.09709013,\n", + " 0.5778902 , -0.62309057, 0.16840915, -0.3636644 , -0.6567919 ,\n", + " 0.08116896, -0.35605344, -0.25171864, 0.59787273, 0.24419805,\n", + " -0.06757798, 0.07714263, 0.26705495, 0.53460073, 0.09097607,\n", + " -0.15350346, 0.23017527, 0.19284713, -0.18528733, -0.03657087,\n", + " 0.07816639, -0.10359774, 0.21850573, -0.01764192, -0.23260617,\n", + " 0.20463182, 0.09853891, -0.07869617, 0.04432994, -0.22215326,\n", + " 0.03493002, -0.00786027, 0.45370266, 0.23501803, -0.5071402 ,\n", + " -0.19300827, -0.3861023 , -0.11932262, -0.02097966, -0.12162941,\n", + " 0.21920775, 0.03217101, -0.7055368 , -0.10286857, -0.24683583],\n", + " dtype=float32), memmap([ 4.25750554e-01, -1.44906029e-01, -1.03891052e-01,\n", + " -2.88361520e-01, 3.09437454e-01, -3.73205423e-01,\n", + " -5.34060597e-02, -8.10606718e-01, 4.98223990e-01,\n", + " -1.36323616e-01, -1.89956173e-01, -2.41232924e-02,\n", + " 6.83675587e-01, 1.89345434e-01, 5.25885999e-01,\n", + " -3.08831513e-01, -3.21324170e-02, -6.30293667e-01,\n", + " 9.41303149e-02, -1.36064023e-01, -1.24976680e-01,\n", + " 4.70452249e-01, -5.06320238e-01, 4.46305722e-01,\n", + " 8.39224532e-02, -5.56360185e-01, 5.44480793e-02,\n", + " -2.97736049e-01, 2.10755810e-01, 2.42721047e-02,\n", + " 1.96821988e-01, -2.78171182e-01, 9.76160839e-02,\n", + " 3.34955037e-01, -1.26703724e-01, -2.80070245e-01,\n", + " -5.42247714e-03, 5.66913262e-02, -3.57440680e-01,\n", + " -1.15232475e-01, 5.91550991e-02, -1.86618924e-01,\n", + " -1.70146614e-01, -5.71986027e-02, -4.01463732e-02,\n", + " -9.00624394e-02, -1.42397046e-01, 4.17225242e-01,\n", + " 1.55987278e-01, -2.53479540e-01, 2.47357652e-01,\n", + " -1.25247508e-01, -3.19386363e-01, -6.51077777e-02,\n", + " -5.23198903e-01, 4.67539728e-01, -7.37586990e-02,\n", + " -1.36515945e-02, -9.33016837e-02, -1.23284133e-02,\n", + " -2.41081640e-01, -5.30515313e-01, -2.41322294e-01,\n", + " -2.28916928e-01, -2.18479544e-01, 1.35944843e-01,\n", + " 8.72921422e-02, -2.78946072e-01, 2.46815383e-02,\n", + " -7.14808702e-02, 4.72817570e-01, -5.28021336e-01,\n", + " -8.69194567e-02, 2.40457848e-01, 1.02259025e-01,\n", + " 1.48765184e-02, 6.95583075e-02, -3.79711509e-01,\n", + " -1.59715727e-01, -4.05831605e-01, 4.63549107e-01,\n", + " 4.98835035e-02, -2.19716609e-01, -2.95969158e-01,\n", + " 8.53620097e-02, -6.02161646e-01, -3.22390318e-01,\n", + " -7.59210438e-02, -5.03465533e-01, 8.72356594e-02,\n", + " -5.32781005e-01, 2.94092119e-01, 9.29164141e-03,\n", + " 1.23222262e-01, -3.13054204e-01, 3.35174859e-01,\n", + " -1.01884291e-01, -3.41102123e-01, -1.38404995e-01,\n", + " 4.87858444e-01, -9.39088687e-03, -1.12968273e-01,\n", + " -1.37872711e-01, 1.03885084e-01, -4.10780162e-01,\n", + " 2.37380326e-01, 2.46492177e-01, -4.73199897e-02,\n", + " 1.34807795e-01, -2.18871430e-01, 2.45887250e-01,\n", + " 9.91815254e-02, 2.95145869e-01, -4.81934458e-01,\n", + " -2.57790666e-02, 2.22542793e-01, -3.88982035e-02,\n", + " -3.15040410e-01, 3.87229264e-01, -2.49802768e-01,\n", + " -2.67281026e-01, 4.05594148e-02, 8.61374736e-01,\n", + " 3.67723942e-01, -1.97135165e-01, -1.60418391e-01,\n", + " -2.13820949e-01, -2.19974946e-02, -2.45177522e-01,\n", + " 6.84971630e-04, 1.22145891e-01, 3.80910560e-03,\n", + " 2.19096988e-01, -6.30880356e-01, 1.90297291e-02,\n", + " 1.41488150e-01, 3.29718709e-01, 2.07425833e-01,\n", + " 1.80229947e-01, -3.20699275e-01, 7.24228248e-02,\n", + " -1.09708623e-03, 4.44707066e-01, -4.18925881e-01,\n", + " 3.12439054e-01, -8.04027498e-01, -1.80449471e-01,\n", + " -2.94538289e-01, -2.71387756e-01, 3.22831631e-01,\n", + " -2.52752393e-01, 1.17669508e-01, -1.55494958e-01,\n", + " -1.25974506e-01, 3.10132176e-01, -3.36968456e-03,\n", + " -4.16645348e-01, -1.68400094e-01, -7.30952695e-02,\n", + " -1.37847796e-01, -9.38109215e-03, -6.17799461e-02,\n", + " -3.57294142e-01, 8.67224410e-02, 2.06380427e-01,\n", + " -3.85333002e-01, -4.44512308e-01, -1.98299453e-01,\n", + " -2.58089662e-01, -2.13967651e-01, 3.88148606e-01,\n", + " 1.30149914e-04, 3.94165158e-01, -3.97414744e-01,\n", + " -2.87104368e-01, -3.15382481e-01, 1.16758458e-01,\n", + " -1.68181643e-01, -1.08504403e+00, -2.63383478e-01,\n", + " -4.29468513e-01, 3.13112587e-01, -4.93108518e-02,\n", + " 4.12772730e-04, -3.33309472e-01, 5.83502352e-01,\n", + " 2.04136334e-02, 7.40744248e-02, -1.59861699e-01,\n", + " -4.58843350e-01, -2.48187050e-01, 2.91114897e-01,\n", + " 2.70096153e-01, -3.16815615e-01, 2.33823031e-01,\n", + " -7.75428396e-03, -1.69241428e-01, 2.49805406e-01,\n", + " -8.06642696e-02, 1.37787044e-01, 3.98429543e-01,\n", + " -2.93187089e-02, 1.61894038e-01, 3.01054865e-01,\n", + " 5.28242588e-01, 5.14931023e-01, -1.25819698e-01,\n", + " -4.77335900e-01, -1.81206718e-01, 6.61615551e-01,\n", + " -1.02147090e+00, 3.43526691e-01, 3.01730573e-01,\n", + " 7.10077584e-02, -3.12605232e-01, 4.56228182e-02,\n", + " -6.32001221e-01, -5.26204526e-01, 5.13294190e-02,\n", + " 1.61592558e-01, -5.78216352e-02, 8.95283464e-03,\n", + " -4.61166769e-01, 2.94773579e-01, -2.23560661e-01,\n", + " 4.92346585e-01, -2.11191818e-01, 1.52712345e-01,\n", + " 1.92895055e-01, 8.37244913e-02, 2.09370047e-01,\n", + " 3.65570694e-01, 4.82121974e-01, -5.69163799e-01,\n", + " -1.10894538e-01, -8.56475160e-02, -4.92317915e-01,\n", + " 3.66639465e-01, 3.77745420e-01, 2.88006246e-01,\n", + " 1.07129358e-01, -1.56810477e-01, 2.02181801e-01,\n", + " -1.22563757e-01, -2.90898144e-01, -1.56015202e-01,\n", + " -1.36386916e-01, -5.33366799e-02, 2.77843237e-01,\n", + " 2.41626233e-01, -7.99171552e-02, 2.42322251e-01,\n", + " -3.42781782e-01, 2.17569798e-01, 3.15509677e-01,\n", + " 2.95207113e-01, 1.51273325e-01, 1.12781964e-01,\n", + " 5.57037294e-02, 4.92329061e-01, 8.49575028e-02,\n", + " -4.89813328e-01, 2.83460051e-01, -2.61578053e-01,\n", + " -6.01285338e-01, 1.84555024e-01, 9.62331891e-02,\n", + " 2.61091739e-01, -3.05440724e-01, 1.75247297e-01,\n", + " 3.86141539e-02, -3.40094268e-01, 2.05955997e-01,\n", + " 1.31360844e-01, -2.29192935e-02, 4.18725275e-02,\n", + " -1.53108016e-01, -3.61782521e-01, 1.62163615e-01,\n", + " 2.79950440e-01, -5.36505803e-02, -3.07383120e-01,\n", + " -1.91204160e-01, 6.12407207e-01, 3.68224859e-01,\n", + " -7.81459093e-01, 4.69116941e-02, -7.49986395e-02,\n", + " 4.17151093e-01, 2.30060853e-02, 4.53134269e-01,\n", + " -4.38228220e-01, -3.27670395e-01, 1.63857535e-01,\n", + " -4.24780190e-01, -1.93398342e-01, 4.66528773e-01,\n", + " -1.48015484e-01, -2.01658487e-01, 3.86270493e-01], dtype=float32), memmap([-3.24685067e-01, -8.09570670e-01, -1.03050180e-01,\n", + " -4.36205044e-02, -5.66855133e-01, 2.70377640e-02,\n", + " -4.72028643e-01, -7.35919416e-01, 1.77842200e-01,\n", + " 2.88984448e-01, 3.89561206e-01, -3.75486553e-01,\n", + " 1.18895423e+00, 7.78229237e-01, -7.86323488e-01,\n", + " -1.60766765e-01, 6.31467879e-01, -8.02628636e-01,\n", + " 6.39832914e-01, 1.73263550e-01, 3.37748915e-01,\n", + " -4.08929944e-01, -5.93181908e-01, 4.99565542e-01,\n", + " -4.15923625e-01, -1.29706874e-01, -3.38152409e-01,\n", + " -6.07454419e-01, 4.67318237e-01, 6.81544483e-01,\n", + " -2.35622466e-01, -1.02453053e-01, 1.57846093e-01,\n", + " 1.72784552e-01, -4.91092773e-03, -3.01241904e-01,\n", + " 1.13105559e+00, 5.38298249e-01, -9.74709541e-02,\n", + " -4.58919019e-01, 2.00168900e-02, -5.11729956e-01,\n", + " -1.39294541e+00, 2.99367100e-01, 7.73437798e-01,\n", + " 3.16411778e-02, 3.59324902e-01, 8.06545675e-01,\n", + " -5.45785069e-01, -3.10331434e-01, 8.72977674e-01,\n", + " 5.26150942e-01, -1.02591738e-01, 2.04615578e-01,\n", + " -5.92126250e-01, -6.72684133e-01, 2.89116949e-01,\n", + " 9.18302909e-02, 2.96162844e-01, -1.27545022e-03,\n", + " 2.03249618e-01, 1.80768713e-01, -3.90626967e-01,\n", + " -1.29804322e-02, 4.37790692e-01, -3.64433862e-02,\n", + " -2.92590819e-02, -1.42965168e-01, -3.37275863e-02,\n", + " 8.37169215e-02, 5.95902741e-01, -5.67058742e-01,\n", + " -2.88764983e-01, -3.47298086e-01, 3.70834649e-01,\n", + " -1.22862741e-01, -8.12156856e-01, -3.81230235e-01,\n", + " -1.08798333e-01, -6.44796863e-02, 6.69528365e-01,\n", + " 4.23865050e-01, -7.26647258e-01, -2.64263839e-01,\n", + " 3.98558170e-01, -7.67392218e-01, 1.16265714e+00,\n", + " -2.74666578e-01, 2.24752985e-02, 5.47188282e-01,\n", + " 7.21026003e-01, 4.78942692e-01, -4.41449881e-01,\n", + " 4.27814648e-02, -5.71467340e-01, 1.03153482e-01,\n", + " -6.79021597e-01, 8.02298307e-01, 6.95822418e-01,\n", + " -2.49896720e-01, 1.66734129e-01, -5.09081632e-02,\n", + " 1.49252906e-01, 5.97951770e-01, -2.50706151e-02,\n", + " 1.43053681e-01, 1.60088167e-01, -3.57728064e-01,\n", + " -3.11352789e-01, 2.35706195e-01, -2.43033513e-01,\n", + " 8.59800875e-02, -9.21167359e-02, -4.80178982e-01,\n", + " -6.46969855e-01, 8.07543695e-02, 5.70740402e-01,\n", + " -1.67069748e-01, -3.67175460e-01, -9.43437815e-01,\n", + " -2.94312298e-01, 8.67804885e-01, -7.00006410e-02,\n", + " 5.90139329e-01, 1.67932689e-01, 4.52213854e-01,\n", + " -2.83149958e-01, 4.11131531e-01, 2.02804670e-01,\n", + " 1.76650271e-01, 1.83450937e-01, -4.44364011e-01,\n", + " -1.50030643e-01, 2.94948816e-01, 1.55011669e-01,\n", + " -5.45138419e-01, -4.84053016e-01, 6.39758229e-01,\n", + " 1.03366220e+00, -5.25145173e-01, 2.90294141e-01,\n", + " -7.59942114e-01, 1.43332198e-01, -1.12062111e-01,\n", + " 9.13262069e-01, -4.62342381e-01, -2.26189584e-01,\n", + " 1.18691534e-01, -4.84202474e-01, 5.14343679e-01,\n", + " 2.53771186e-01, 5.31296805e-02, 1.53731480e-01,\n", + " -1.64975315e-01, 2.29725972e-01, 9.07307640e-02,\n", + " -1.34855330e-01, -6.76670671e-01, 2.44544178e-01,\n", + " -4.55914080e-01, -2.21616894e-01, -6.80766115e-03,\n", + " -5.61732173e-01, 3.94695587e-02, -2.98757106e-01,\n", + " 3.24944347e-01, -3.50992322e-01, -3.55250657e-01,\n", + " 4.19133663e-01, -1.81731328e-01, 2.12798685e-01,\n", + " -2.91771386e-02, -4.79145557e-01, 3.54345769e-01,\n", + " -7.77321309e-02, -4.98711914e-01, -5.77231348e-01,\n", + " 7.25057721e-01, -8.98152828e-01, -6.05006576e-01,\n", + " -8.81800890e-01, -1.36045074e+00, 3.45182657e-01,\n", + " -1.31046247e+00, -2.40266323e-02, -2.00349480e-01,\n", + " 1.49414251e-02, 7.24024951e-01, -1.02799916e+00,\n", + " 1.13628261e-01, -3.33850831e-01, 4.42778170e-02,\n", + " 8.73994768e-01, 1.09054953e-01, 1.89671367e-01,\n", + " 1.75990418e-01, 1.09133489e-01, -6.57070398e-01,\n", + " 2.27676824e-01, -6.39706612e-01, -2.86734551e-01,\n", + " 3.32877308e-01, 3.86280268e-01, -4.03546333e-01,\n", + " 1.13617313e+00, -5.50746381e-01, -6.27767146e-01,\n", + " 8.86233926e-01, 9.63478833e-02, -7.49540389e-01,\n", + " -1.07879758e+00, 8.40771079e-01, 1.70423791e-01,\n", + " 2.67693177e-02, -8.25676978e-01, 2.28299946e-01,\n", + " 4.28672463e-01, 4.83920574e-01, 6.78453028e-01,\n", + " -1.04233444e-01, 2.86804557e-01, 3.19179416e-01,\n", + " -1.30276576e-01, 1.59447551e-01, -3.52264524e-01,\n", + " -8.23359117e-02, -1.01699102e+00, 4.77984659e-02,\n", + " -3.29850644e-01, 2.27738515e-01, 2.00626865e-01,\n", + " 3.07913870e-01, -2.62131661e-01, -2.68594563e-01,\n", + " 7.44692922e-01, 6.54206634e-01, -2.78040349e-01,\n", + " 3.83197814e-01, -4.32873905e-01, -2.04653978e-01,\n", + " 1.21546641e-01, -9.08628821e-01, 4.33077306e-01,\n", + " -5.72758801e-02, -4.25418168e-01, 4.29795742e-01,\n", + " -2.54513323e-01, 1.01429045e+00, -4.96600479e-01,\n", + " 4.04355913e-01, 3.93872662e-03, -6.70411527e-01,\n", + " 6.85276747e-01, -1.87186563e+00, 4.82749611e-01,\n", + " -5.83230555e-01, -2.16659829e-01, 2.34310199e-02,\n", + " 1.51459292e-01, 8.54803264e-01, -4.66781080e-01,\n", + " 5.92856348e-01, 3.63355577e-01, 4.70464170e-01,\n", + " -4.47775811e-01, -5.12042880e-01, -1.45977929e-01,\n", + " -3.34089547e-02, -4.39307332e-01, -6.61511183e-01,\n", + " 3.25032175e-01, 8.42535436e-01, 7.31322765e-01,\n", + " 3.00033152e-01, -1.56772852e-01, 7.03861952e-01,\n", + " -6.80940077e-02, 1.15797780e-01, 2.96656072e-01,\n", + " -3.72326449e-02, 1.20023742e-01, -9.93749648e-02,\n", + " -7.42625535e-01, 1.98762670e-01, 3.75849843e-01,\n", + " 1.77410349e-01, -5.82590044e-01, -6.65690377e-02,\n", + " 3.95368934e-01, 1.76351041e-01, 1.78927526e-01,\n", + " 3.79469335e-01, 1.65692866e-02, 3.06543469e-01,\n", + " 3.90689999e-01, 4.71795201e-01, -1.56677037e-01,\n", + " -7.24490643e-01, -2.35413924e-01, -4.19473737e-01], dtype=float32), memmap([-0.773016 , 0.02541066, -0.12000727, 0.34010726, 0.36779076,\n", + " -0.8727912 , -0.1460467 , -0.25859767, -0.5372134 , 0.5413768 ,\n", + " -0.40617108, 0.21417534, 0.1782749 , 0.07104267, 0.28795913,\n", + " 0.7668105 , 0.37454396, -0.24838452, -0.57464963, -1.0061712 ,\n", + " 0.23170277, 0.00795611, -0.73399425, -0.00305772, -0.02516304,\n", + " 0.17810522, -0.2806503 , -0.15686423, 0.49743944, 0.19035682,\n", + " -0.3842925 , -0.08947992, 0.10464152, 0.97137463, -0.7939083 ,\n", + " -0.00349492, 0.37261888, 0.24901891, 0.14359115, -0.11819526,\n", + " -0.02127719, 0.48851046, -0.07969654, 0.31570494, 0.4799174 ,\n", + " 0.46721315, -0.38684183, 0.38771853, -0.5353194 , -0.6605955 ,\n", + " -0.9300135 , 0.07618915, 0.8405441 , -0.16105053, -0.6816401 ,\n", + " 0.26703075, 1.041487 , 0.19110608, 0.72179216, 0.30196577,\n", + " -0.5313064 , -0.16015893, -0.363964 , -0.05746987, -0.10274071,\n", + " 1.396148 , -0.1410264 , 0.38411102, 0.6304281 , 0.43906367,\n", + " 0.3779093 , -1.158868 , -0.22776881, 0.6099709 , 0.39416376,\n", + " -0.6252373 , -1.2855071 , -0.76980954, 0.28523397, -0.0641468 ,\n", + " -0.25811198, -0.454986 , -0.858666 , 0.32212627, 0.04195244,\n", + " -0.7580125 , -0.3468982 , -0.2806272 , 0.24741448, 0.08677346,\n", + " 0.24520788, 0.83745855, -0.9465477 , 0.6572124 , -1.0941597 ,\n", + " 0.34384584, 0.2542343 , 0.15296006, -0.13076529, 0.44808292,\n", + " -0.1734772 , -0.5230986 , 0.23506273, 0.35829243, 0.64899063,\n", + " 0.090804 , 0.21086827, 0.26357216, -0.2286855 , -0.52424085,\n", + " -0.96040326, -0.13356772, 0.02616933, -0.16718566, -0.05801446,\n", + " 0.9826849 , -0.1108325 , 0.14719239, 0.7443636 , -1.2667986 ,\n", + " -0.5664543 , 0.5805223 , -0.7148045 , 1.0670414 , -0.4254989 ,\n", + " 0.63547415, 0.3395718 , 0.55229115, -0.0718675 , 0.4751402 ,\n", + " -0.44188303, -0.694603 , 0.19797762, -0.18715712, -0.45879075,\n", + " 0.52656806, -0.61958474, 0.5911607 , 0.5357413 , -0.21355735,\n", + " 0.46179178, -0.9616013 , 0.40954313, 0.03190374, 0.07900023,\n", + " -0.46911833, -0.5529677 , -0.05776388, 0.37696156, 1.1600314 ,\n", + " -0.25023335, 0.17187673, -0.11516114, 0.2507006 , 0.2974227 ,\n", + " -0.86111146, 0.18880947, -0.19892403, -0.07803811, -0.55262804,\n", + " -0.33619475, -1.0156713 , -0.39547104, 0.34914452, -0.3196436 ,\n", + " 0.22786458, -1.0093625 , -0.5776213 , -0.16097093, -0.16830333,\n", + " 0.14450641, -0.55358756, -0.7492669 , 0.4746391 , -0.06093542,\n", + " -0.34565502, 0.7901151 , 0.05678376, -0.7060415 , -0.18196204,\n", + " -0.3229811 , -1.5893629 , 0.09478337, -0.20510434, -1.3950627 ,\n", + " 0.32722515, 0.3905587 , 0.63020974, 0.09946702, -0.3232827 ,\n", + " -0.682954 , -0.06483297, -0.11140213, -1.02714 , -0.44343 ,\n", + " 0.12579179, -0.38595164, -0.34627843, 0.7475713 , -0.2649192 ,\n", + " -0.30398044, 0.19365095, -0.18963574, 0.5207186 , 1.1543729 ,\n", + " 0.75007033, -0.01249778, 0.35474405, 0.8836889 , -0.88478297,\n", + " 0.01541718, 0.240096 , 0.0213764 , 0.3901105 , -0.30235615,\n", + " -0.0050195 , -0.5009409 , -0.4165216 , 0.40415108, 0.41518977,\n", + " -0.32895845, -0.20203578, -0.02666441, -0.02245301, -0.65792453,\n", + " 0.0846795 , -0.5843571 , -0.32807642, 0.33003634, -0.6319264 ,\n", + " 0.10737403, -0.12057446, 1.081935 , 0.4515246 , 1.3490843 ,\n", + " -0.71701515, 0.40456727, -1.0308925 , -1.0852395 , 0.40033525,\n", + " 0.11218191, 0.03853985, 0.07201865, -0.81670254, -0.17411768,\n", + " -1.1390846 , -0.569029 , -0.22762732, -0.75620633, 0.83338004,\n", + " 0.15060794, 0.25235468, 0.24142404, -1.3028564 , 0.07949191,\n", + " -0.91210663, 0.20120366, 0.28240705, 1.1150122 , 0.6442032 ,\n", + " -0.77660626, -0.3913148 , 0.22196582, 0.06334648, 0.1865409 ,\n", + " -0.22735979, 1.0373497 , 0.01361663, -0.44159064, -0.16743961,\n", + " 0.13433474, 0.5473303 , 0.3970922 , 0.35753748, -0.93466735,\n", + " -0.38469347, -0.09695423, -0.37814587, 0.47805113, 0.29930028,\n", + " -0.42230073, 0.26595125, -0.77912045, -0.42805156, -0.02793522,\n", + " -0.5486121 , 0.61128694, 0.17660993, -0.38184646, 0.01282448,\n", + " -0.8701709 , 0.10832139, 0.46352002, 0.09333517, 0.02196137,\n", + " 0.50943524, -0.8320779 , -0.8548014 , -0.7480519 , 0.09349559],\n", + " dtype=float32), memmap([ 0.234722, 0.80981 , 0.074393, -0.211983, -0.20316 , -0.005446,\n", + " -0.026764, -0.400265, -0.084097, -0.273624, 0.515842, 0.1567 ,\n", + " -0.305431, -0.348783, -0.303379, -0.47814 , 0.597299, -0.898253,\n", + " 0.33991 , -0.130709, 0.483949, 0.461116, -0.190227, 0.013129,\n", + " 0.065772, -0.352949, 0.111544, 0.017473, 0.144105, 0.149626,\n", + " 0.008293, -0.169169, -0.444825, 0.479146, 0.06512 , 0.296075,\n", + " 0.710782, 0.587407, -0.433715, 0.304509, 0.006459, -0.289251,\n", + " -0.10277 , -0.198216, -0.141312, 0.231391, 0.64742 , -0.087082,\n", + " 0.422744, -0.108043, 0.526347, -0.141101, -0.018233, -0.112364,\n", + " -0.227426, 0.250347, -0.403164, 0.115159, -0.009349, 0.609969,\n", + " -0.069278, -0.391943, -0.653624, 0.10873 , -0.094347, 0.066627,\n", + " -0.253934, -0.108288, -0.346003, 0.431097, -0.265748, -0.425058,\n", + " -0.025266, 0.290219, 0.106791, 0.087098, -0.447396, -0.673392,\n", + " -0.324899, -0.391382, 0.447569, 0.349118, 0.356815, 0.182235,\n", + " -0.111013, -0.223045, 0.160748, -0.181547, -0.328115, -0.460369,\n", + " -0.442495, 0.429451, 0.397471, 0.381919, 0.02781 , 0.271415,\n", + " 0.5993 , -0.174249, -0.176888, 0.042518, -0.377703, -0.092198,\n", + " -0.438258, 0.109864, -0.077585, 0.167162, 0.194471, -0.008114,\n", + " -0.307463, 0.099702, -0.026789, 0.123125, 0.423148, -0.291795,\n", + " -0.544971, -0.082876, -0.576819, 0.272862, 0.031629, 0.283621,\n", + " -0.342329, 0.334911, -0.27696 , 0.428965, 0.101146, -0.206178,\n", + " -0.274189, 0.060112, 0.570426, -0.107117, 0.37786 , -0.165856,\n", + " -0.270784, -0.614963, 0.484542, -0.137667, 0.461162, 0.122169,\n", + " 0.667988, 0.137872, -0.188582, -0.542727, 0.1241 , 0.027563,\n", + " 0.54114 , 0.047244, 0.634181, -0.653621, -0.361178, 0.36152 ,\n", + " -0.083926, 0.426356, 0.343157, 0.154389, -0.557137, 0.356449,\n", + " -0.174122, -0.090641, -0.247339, -0.361961, 0.179499, -0.158728,\n", + " 0.351486, -0.181382, -0.062844, 0.324505, -0.816371, 0.503514,\n", + " 0.034193, -0.060433, 0.728245, 0.006493, -0.118483, -0.879179,\n", + " -0.143395, -0.492866, -0.789491, 0.38288 , -0.242385, -0.346206,\n", + " -0.482659, -0.523072, 0.800104, -0.39457 , -0.16892 , 0.317939,\n", + " 0.48674 , 0.100542, 0.400315, -0.321421, -0.355529, -0.080892,\n", + " 0.082311, 0.409865, -0.213277, 0.484455, -0.041403, -0.56434 ,\n", + " 0.075854, 0.479876, -0.221461, -0.018248, 0.154643, 0.634272,\n", + " -0.204653, -0.053264, -0.419435, 0.148316, -0.386147, 0.362359,\n", + " -0.516738, -0.022144, 0.195906, 0.36925 , -0.631322, -0.185465,\n", + " -0.150158, 0.29502 , 0.186631, -0.029606, -0.159891, 0.585461,\n", + " -0.305519, 0.679607, -0.289729, 0.300789, -0.409961, -0.014877,\n", + " -0.058152, -0.289599, -0.275716, 0.14194 , -0.417603, -0.219314,\n", + " 0.239415, -0.209425, 0.228551, -0.090276, 0.003584, -0.563514,\n", + " 0.190148, -0.019804, 0.525719, -0.648379, -0.130032, 0.171629,\n", + " -0.285099, 0.501189, -0.28986 , -0.320306, 0.425084, 0.369126,\n", + " 0.486192, -0.806163, 0.46262 , -1.326337, 0.170554, 0.15332 ,\n", + " -0.013065, 0.305223, 0.365505, 0.024582, -0.02012 , -0.008161,\n", + " 0.271429, 0.115404, -0.558071, 0.190464, -0.51834 , 0.307425,\n", + " -0.424621, -0.110702, -0.067658, 0.549403, -0.508167, 0.244493,\n", + " 0.482683, -0.70726 , -0.043798, -0.162574, -0.120331, -0.689316,\n", + " -0.479306, 0.467589, 0.08211 , 0.063808, -0.236574, 0.513354,\n", + " 0.208919, -0.364278, -0.599179, 0.694367, -0.113098, -0.137624,\n", + " 0.178429, -0.249899, 0.177704, -0.383857, -0.012945, 0.063089],\n", + " dtype=float32), memmap([ 4.25750554e-01, -1.44906029e-01, -1.03891052e-01,\n", + " -2.88361520e-01, 3.09437454e-01, -3.73205423e-01,\n", + " -5.34060597e-02, -8.10606718e-01, 4.98223990e-01,\n", + " -1.36323616e-01, -1.89956173e-01, -2.41232924e-02,\n", + " 6.83675587e-01, 1.89345434e-01, 5.25885999e-01,\n", + " -3.08831513e-01, -3.21324170e-02, -6.30293667e-01,\n", + " 9.41303149e-02, -1.36064023e-01, -1.24976680e-01,\n", + " 4.70452249e-01, -5.06320238e-01, 4.46305722e-01,\n", + " 8.39224532e-02, -5.56360185e-01, 5.44480793e-02,\n", + " -2.97736049e-01, 2.10755810e-01, 2.42721047e-02,\n", + " 1.96821988e-01, -2.78171182e-01, 9.76160839e-02,\n", + " 3.34955037e-01, -1.26703724e-01, -2.80070245e-01,\n", + " -5.42247714e-03, 5.66913262e-02, -3.57440680e-01,\n", + " -1.15232475e-01, 5.91550991e-02, -1.86618924e-01,\n", + " -1.70146614e-01, -5.71986027e-02, -4.01463732e-02,\n", + " -9.00624394e-02, -1.42397046e-01, 4.17225242e-01,\n", + " 1.55987278e-01, -2.53479540e-01, 2.47357652e-01,\n", + " -1.25247508e-01, -3.19386363e-01, -6.51077777e-02,\n", + " -5.23198903e-01, 4.67539728e-01, -7.37586990e-02,\n", + " -1.36515945e-02, -9.33016837e-02, -1.23284133e-02,\n", + " -2.41081640e-01, -5.30515313e-01, -2.41322294e-01,\n", + " -2.28916928e-01, -2.18479544e-01, 1.35944843e-01,\n", + " 8.72921422e-02, -2.78946072e-01, 2.46815383e-02,\n", + " -7.14808702e-02, 4.72817570e-01, -5.28021336e-01,\n", + " -8.69194567e-02, 2.40457848e-01, 1.02259025e-01,\n", + " 1.48765184e-02, 6.95583075e-02, -3.79711509e-01,\n", + " -1.59715727e-01, -4.05831605e-01, 4.63549107e-01,\n", + " 4.98835035e-02, -2.19716609e-01, -2.95969158e-01,\n", + " 8.53620097e-02, -6.02161646e-01, -3.22390318e-01,\n", + " -7.59210438e-02, -5.03465533e-01, 8.72356594e-02,\n", + " -5.32781005e-01, 2.94092119e-01, 9.29164141e-03,\n", + " 1.23222262e-01, -3.13054204e-01, 3.35174859e-01,\n", + " -1.01884291e-01, -3.41102123e-01, -1.38404995e-01,\n", + " 4.87858444e-01, -9.39088687e-03, -1.12968273e-01,\n", + " -1.37872711e-01, 1.03885084e-01, -4.10780162e-01,\n", + " 2.37380326e-01, 2.46492177e-01, -4.73199897e-02,\n", + " 1.34807795e-01, -2.18871430e-01, 2.45887250e-01,\n", + " 9.91815254e-02, 2.95145869e-01, -4.81934458e-01,\n", + " -2.57790666e-02, 2.22542793e-01, -3.88982035e-02,\n", + " -3.15040410e-01, 3.87229264e-01, -2.49802768e-01,\n", + " -2.67281026e-01, 4.05594148e-02, 8.61374736e-01,\n", + " 3.67723942e-01, -1.97135165e-01, -1.60418391e-01,\n", + " -2.13820949e-01, -2.19974946e-02, -2.45177522e-01,\n", + " 6.84971630e-04, 1.22145891e-01, 3.80910560e-03,\n", + " 2.19096988e-01, -6.30880356e-01, 1.90297291e-02,\n", + " 1.41488150e-01, 3.29718709e-01, 2.07425833e-01,\n", + " 1.80229947e-01, -3.20699275e-01, 7.24228248e-02,\n", + " -1.09708623e-03, 4.44707066e-01, -4.18925881e-01,\n", + " 3.12439054e-01, -8.04027498e-01, -1.80449471e-01,\n", + " -2.94538289e-01, -2.71387756e-01, 3.22831631e-01,\n", + " -2.52752393e-01, 1.17669508e-01, -1.55494958e-01,\n", + " -1.25974506e-01, 3.10132176e-01, -3.36968456e-03,\n", + " -4.16645348e-01, -1.68400094e-01, -7.30952695e-02,\n", + " -1.37847796e-01, -9.38109215e-03, -6.17799461e-02,\n", + " -3.57294142e-01, 8.67224410e-02, 2.06380427e-01,\n", + " -3.85333002e-01, -4.44512308e-01, -1.98299453e-01,\n", + " -2.58089662e-01, -2.13967651e-01, 3.88148606e-01,\n", + " 1.30149914e-04, 3.94165158e-01, -3.97414744e-01,\n", + " -2.87104368e-01, -3.15382481e-01, 1.16758458e-01,\n", + " -1.68181643e-01, -1.08504403e+00, -2.63383478e-01,\n", + " -4.29468513e-01, 3.13112587e-01, -4.93108518e-02,\n", + " 4.12772730e-04, -3.33309472e-01, 5.83502352e-01,\n", + " 2.04136334e-02, 7.40744248e-02, -1.59861699e-01,\n", + " -4.58843350e-01, -2.48187050e-01, 2.91114897e-01,\n", + " 2.70096153e-01, -3.16815615e-01, 2.33823031e-01,\n", + " -7.75428396e-03, -1.69241428e-01, 2.49805406e-01,\n", + " -8.06642696e-02, 1.37787044e-01, 3.98429543e-01,\n", + " -2.93187089e-02, 1.61894038e-01, 3.01054865e-01,\n", + " 5.28242588e-01, 5.14931023e-01, -1.25819698e-01,\n", + " -4.77335900e-01, -1.81206718e-01, 6.61615551e-01,\n", + " -1.02147090e+00, 3.43526691e-01, 3.01730573e-01,\n", + " 7.10077584e-02, -3.12605232e-01, 4.56228182e-02,\n", + " -6.32001221e-01, -5.26204526e-01, 5.13294190e-02,\n", + " 1.61592558e-01, -5.78216352e-02, 8.95283464e-03,\n", + " -4.61166769e-01, 2.94773579e-01, -2.23560661e-01,\n", + " 4.92346585e-01, -2.11191818e-01, 1.52712345e-01,\n", + " 1.92895055e-01, 8.37244913e-02, 2.09370047e-01,\n", + " 3.65570694e-01, 4.82121974e-01, -5.69163799e-01,\n", + " -1.10894538e-01, -8.56475160e-02, -4.92317915e-01,\n", + " 3.66639465e-01, 3.77745420e-01, 2.88006246e-01,\n", + " 1.07129358e-01, -1.56810477e-01, 2.02181801e-01,\n", + " -1.22563757e-01, -2.90898144e-01, -1.56015202e-01,\n", + " -1.36386916e-01, -5.33366799e-02, 2.77843237e-01,\n", + " 2.41626233e-01, -7.99171552e-02, 2.42322251e-01,\n", + " -3.42781782e-01, 2.17569798e-01, 3.15509677e-01,\n", + " 2.95207113e-01, 1.51273325e-01, 1.12781964e-01,\n", + " 5.57037294e-02, 4.92329061e-01, 8.49575028e-02,\n", + " -4.89813328e-01, 2.83460051e-01, -2.61578053e-01,\n", + " -6.01285338e-01, 1.84555024e-01, 9.62331891e-02,\n", + " 2.61091739e-01, -3.05440724e-01, 1.75247297e-01,\n", + " 3.86141539e-02, -3.40094268e-01, 2.05955997e-01,\n", + " 1.31360844e-01, -2.29192935e-02, 4.18725275e-02,\n", + " -1.53108016e-01, -3.61782521e-01, 1.62163615e-01,\n", + " 2.79950440e-01, -5.36505803e-02, -3.07383120e-01,\n", + " -1.91204160e-01, 6.12407207e-01, 3.68224859e-01,\n", + " -7.81459093e-01, 4.69116941e-02, -7.49986395e-02,\n", + " 4.17151093e-01, 2.30060853e-02, 4.53134269e-01,\n", + " -4.38228220e-01, -3.27670395e-01, 1.63857535e-01,\n", + " -4.24780190e-01, -1.93398342e-01, 4.66528773e-01,\n", + " -1.48015484e-01, -2.01658487e-01, 3.86270493e-01], dtype=float32), memmap([-3.24685067e-01, -8.09570670e-01, -1.03050180e-01,\n", + " -4.36205044e-02, -5.66855133e-01, 2.70377640e-02,\n", + " -4.72028643e-01, -7.35919416e-01, 1.77842200e-01,\n", + " 2.88984448e-01, 3.89561206e-01, -3.75486553e-01,\n", + " 1.18895423e+00, 7.78229237e-01, -7.86323488e-01,\n", + " -1.60766765e-01, 6.31467879e-01, -8.02628636e-01,\n", + " 6.39832914e-01, 1.73263550e-01, 3.37748915e-01,\n", + " -4.08929944e-01, -5.93181908e-01, 4.99565542e-01,\n", + " -4.15923625e-01, -1.29706874e-01, -3.38152409e-01,\n", + " -6.07454419e-01, 4.67318237e-01, 6.81544483e-01,\n", + " -2.35622466e-01, -1.02453053e-01, 1.57846093e-01,\n", + " 1.72784552e-01, -4.91092773e-03, -3.01241904e-01,\n", + " 1.13105559e+00, 5.38298249e-01, -9.74709541e-02,\n", + " -4.58919019e-01, 2.00168900e-02, -5.11729956e-01,\n", + " -1.39294541e+00, 2.99367100e-01, 7.73437798e-01,\n", + " 3.16411778e-02, 3.59324902e-01, 8.06545675e-01,\n", + " -5.45785069e-01, -3.10331434e-01, 8.72977674e-01,\n", + " 5.26150942e-01, -1.02591738e-01, 2.04615578e-01,\n", + " -5.92126250e-01, -6.72684133e-01, 2.89116949e-01,\n", + " 9.18302909e-02, 2.96162844e-01, -1.27545022e-03,\n", + " 2.03249618e-01, 1.80768713e-01, -3.90626967e-01,\n", + " -1.29804322e-02, 4.37790692e-01, -3.64433862e-02,\n", + " -2.92590819e-02, -1.42965168e-01, -3.37275863e-02,\n", + " 8.37169215e-02, 5.95902741e-01, -5.67058742e-01,\n", + " -2.88764983e-01, -3.47298086e-01, 3.70834649e-01,\n", + " -1.22862741e-01, -8.12156856e-01, -3.81230235e-01,\n", + " -1.08798333e-01, -6.44796863e-02, 6.69528365e-01,\n", + " 4.23865050e-01, -7.26647258e-01, -2.64263839e-01,\n", + " 3.98558170e-01, -7.67392218e-01, 1.16265714e+00,\n", + " -2.74666578e-01, 2.24752985e-02, 5.47188282e-01,\n", + " 7.21026003e-01, 4.78942692e-01, -4.41449881e-01,\n", + " 4.27814648e-02, -5.71467340e-01, 1.03153482e-01,\n", + " -6.79021597e-01, 8.02298307e-01, 6.95822418e-01,\n", + " -2.49896720e-01, 1.66734129e-01, -5.09081632e-02,\n", + " 1.49252906e-01, 5.97951770e-01, -2.50706151e-02,\n", + " 1.43053681e-01, 1.60088167e-01, -3.57728064e-01,\n", + " -3.11352789e-01, 2.35706195e-01, -2.43033513e-01,\n", + " 8.59800875e-02, -9.21167359e-02, -4.80178982e-01,\n", + " -6.46969855e-01, 8.07543695e-02, 5.70740402e-01,\n", + " -1.67069748e-01, -3.67175460e-01, -9.43437815e-01,\n", + " -2.94312298e-01, 8.67804885e-01, -7.00006410e-02,\n", + " 5.90139329e-01, 1.67932689e-01, 4.52213854e-01,\n", + " -2.83149958e-01, 4.11131531e-01, 2.02804670e-01,\n", + " 1.76650271e-01, 1.83450937e-01, -4.44364011e-01,\n", + " -1.50030643e-01, 2.94948816e-01, 1.55011669e-01,\n", + " -5.45138419e-01, -4.84053016e-01, 6.39758229e-01,\n", + " 1.03366220e+00, -5.25145173e-01, 2.90294141e-01,\n", + " -7.59942114e-01, 1.43332198e-01, -1.12062111e-01,\n", + " 9.13262069e-01, -4.62342381e-01, -2.26189584e-01,\n", + " 1.18691534e-01, -4.84202474e-01, 5.14343679e-01,\n", + " 2.53771186e-01, 5.31296805e-02, 1.53731480e-01,\n", + " -1.64975315e-01, 2.29725972e-01, 9.07307640e-02,\n", + " -1.34855330e-01, -6.76670671e-01, 2.44544178e-01,\n", + " -4.55914080e-01, -2.21616894e-01, -6.80766115e-03,\n", + " -5.61732173e-01, 3.94695587e-02, -2.98757106e-01,\n", + " 3.24944347e-01, -3.50992322e-01, -3.55250657e-01,\n", + " 4.19133663e-01, -1.81731328e-01, 2.12798685e-01,\n", + " -2.91771386e-02, -4.79145557e-01, 3.54345769e-01,\n", + " -7.77321309e-02, -4.98711914e-01, -5.77231348e-01,\n", + " 7.25057721e-01, -8.98152828e-01, -6.05006576e-01,\n", + " -8.81800890e-01, -1.36045074e+00, 3.45182657e-01,\n", + " -1.31046247e+00, -2.40266323e-02, -2.00349480e-01,\n", + " 1.49414251e-02, 7.24024951e-01, -1.02799916e+00,\n", + " 1.13628261e-01, -3.33850831e-01, 4.42778170e-02,\n", + " 8.73994768e-01, 1.09054953e-01, 1.89671367e-01,\n", + " 1.75990418e-01, 1.09133489e-01, -6.57070398e-01,\n", + " 2.27676824e-01, -6.39706612e-01, -2.86734551e-01,\n", + " 3.32877308e-01, 3.86280268e-01, -4.03546333e-01,\n", + " 1.13617313e+00, -5.50746381e-01, -6.27767146e-01,\n", + " 8.86233926e-01, 9.63478833e-02, -7.49540389e-01,\n", + " -1.07879758e+00, 8.40771079e-01, 1.70423791e-01,\n", + " 2.67693177e-02, -8.25676978e-01, 2.28299946e-01,\n", + " 4.28672463e-01, 4.83920574e-01, 6.78453028e-01,\n", + " -1.04233444e-01, 2.86804557e-01, 3.19179416e-01,\n", + " -1.30276576e-01, 1.59447551e-01, -3.52264524e-01,\n", + " -8.23359117e-02, -1.01699102e+00, 4.77984659e-02,\n", + " -3.29850644e-01, 2.27738515e-01, 2.00626865e-01,\n", + " 3.07913870e-01, -2.62131661e-01, -2.68594563e-01,\n", + " 7.44692922e-01, 6.54206634e-01, -2.78040349e-01,\n", + " 3.83197814e-01, -4.32873905e-01, -2.04653978e-01,\n", + " 1.21546641e-01, -9.08628821e-01, 4.33077306e-01,\n", + " -5.72758801e-02, -4.25418168e-01, 4.29795742e-01,\n", + " -2.54513323e-01, 1.01429045e+00, -4.96600479e-01,\n", + " 4.04355913e-01, 3.93872662e-03, -6.70411527e-01,\n", + " 6.85276747e-01, -1.87186563e+00, 4.82749611e-01,\n", + " -5.83230555e-01, -2.16659829e-01, 2.34310199e-02,\n", + " 1.51459292e-01, 8.54803264e-01, -4.66781080e-01,\n", + " 5.92856348e-01, 3.63355577e-01, 4.70464170e-01,\n", + " -4.47775811e-01, -5.12042880e-01, -1.45977929e-01,\n", + " -3.34089547e-02, -4.39307332e-01, -6.61511183e-01,\n", + " 3.25032175e-01, 8.42535436e-01, 7.31322765e-01,\n", + " 3.00033152e-01, -1.56772852e-01, 7.03861952e-01,\n", + " -6.80940077e-02, 1.15797780e-01, 2.96656072e-01,\n", + " -3.72326449e-02, 1.20023742e-01, -9.93749648e-02,\n", + " -7.42625535e-01, 1.98762670e-01, 3.75849843e-01,\n", + " 1.77410349e-01, -5.82590044e-01, -6.65690377e-02,\n", + " 3.95368934e-01, 1.76351041e-01, 1.78927526e-01,\n", + " 3.79469335e-01, 1.65692866e-02, 3.06543469e-01,\n", + " 3.90689999e-01, 4.71795201e-01, -1.56677037e-01,\n", + " -7.24490643e-01, -2.35413924e-01, -4.19473737e-01], dtype=float32), memmap([-0.319322, -0.276023, 0.17047 , -0.272409, -0.089651, -0.035876,\n", + " -0.321936, -0.243083, -0.08632 , 0.262197, 0.152754, 0.123403,\n", + " 0.284925, 0.620868, 0.391449, 0.129198, -0.433896, -0.228366,\n", + " -0.239171, 0.059878, -0.125017, -0.266126, -0.084336, 0.051063,\n", + " -0.186211, -0.338666, 0.069568, -0.038323, -0.146329, -0.005209,\n", + " 0.188315, -0.452156, 0.100266, 0.394508, 0.211775, -0.06337 ,\n", + " -0.115044, -0.322608, -0.269903, -0.409285, -0.029664, -0.471362,\n", + " -0.124741, -0.058438, 0.039591, -0.229803, 0.234605, 0.561397,\n", + " 0.157197, -0.517922, -0.034207, 0.279725, 0.325539, 0.664788,\n", + " -0.732744, 0.393113, -0.446441, 0.14403 , -0.013707, 0.037361,\n", + " 0.208127, -0.156414, 0.242404, -0.131422, 0.317909, -0.050475,\n", + " -0.505597, 0.236151, -0.111564, 0.118847, 0.085974, 0.079402,\n", + " -0.03174 , -0.200248, -0.276385, 0.443634, -0.086328, -0.209962,\n", + " -0.364376, -0.078553, 0.294191, -0.250487, -0.025672, -0.195253,\n", + " 0.222045, -0.442939, -0.006938, -0.145141, 0.255771, -0.138491,\n", + " 0.15742 , -0.207538, 0.266065, 0.225087, -0.172197, -0.278743,\n", + " 0.236019, 0.330623, -0.405081, -0.234321, -0.25562 , 0.213554,\n", + " 0.36461 , 0.202097, 0.348414, 0.216631, 0.065132, -0.220943,\n", + " -0.069751, 0.081078, 0.104212, 0.055293, -0.260584, -0.071512,\n", + " -0.187548, 0.164944, 0.457141, -0.003227, 0.117823, -0.23556 ,\n", + " -0.431772, 0.143061, -0.156891, -0.10006 , -0.041483, -0.057992,\n", + " 0.077603, -0.472007, 0.162502, 0.527112, 0.110945, -0.289826,\n", + " 0.511473, -0.363867, -0.500553, 0.210739, 0.079695, 0.21336 ,\n", + " -0.247505, -0.212534, -0.33405 , -0.692742, -0.046987, 0.026302,\n", + " -0.126603, -0.276791, -0.366915, -0.160814, 0.213673, 0.126921,\n", + " -0.023278, -0.014274, 0.243754, 0.279842, -0.175139, -0.082161,\n", + " 0.217659, 0.171271, 0.103621, -0.120804, 0.147013, 0.213134,\n", + " 0.138982, -0.517564, -0.245197, 0.196429, 0.026228, 0.062393,\n", + " -0.170902, -0.211561, 0.118573, 0.216315, -0.316547, -0.340282,\n", + " -0.440692, -0.220261, -0.36046 , 0.44887 , -0.379904, -0.751427,\n", + " -0.056138, -0.50819 , 0.451902, -0.194486, -0.669309, 0.427908,\n", + " -0.300476, 0.185786, 0.067941, 0.372861, 0.18312 , 0.172407,\n", + " 0.089558, -0.141367, 0.153089, 0.400673, 0.027633, -0.059931,\n", + " 0.282461, 0.157114, -0.555842, 0.183057, 0.344094, 0.222928,\n", + " 0.351276, 0.024188, 0.34985 , 0.44471 , -0.226333, 0.495887,\n", + " -0.459748, 0.379791, 0.24467 , -0.033447, 0.144172, 0.00683 ,\n", + " -0.152895, -0.061789, -0.010761, -0.302768, 0.277822, -0.121518,\n", + " 0.123097, -0.194106, -0.166223, 0.669986, -0.626135, -0.169148,\n", + " -0.113263, -0.253815, 0.309245, 0.079479, -0.137713, 0.292258,\n", + " 0.033245, 0.159853, 0.033369, -0.51857 , -0.399423, 0.140893,\n", + " 0.195423, -0.316396, 0.457233, -0.500268, 0.009194, 0.575383,\n", + " -0.923461, -0.178141, -0.181492, 0.293164, 0.30538 , 0.25695 ,\n", + " -0.212578, -0.507959, 0.382843, -0.246603, 0.023363, -0.094138,\n", + " -0.195562, 0.565034, -0.348922, -0.020163, 0.32902 , 0.309389,\n", + " -0.146947, 0.051533, -0.022156, -0.08394 , 0.01595 , 0.435747,\n", + " -0.425833, 0.519304, 0.300972, 0.404167, -0.194823, -0.041167,\n", + " 0.152326, -0.147466, 0.313772, -0.119725, -0.267894, -0.152814,\n", + " -0.676218, 0.222469, -0.257001, -0.580406, -0.190509, -0.07152 ,\n", + " 0.32501 , -0.143217, -0.553258, -0.047709, -0.310232, 0.05954 ,\n", + " -0.284619, 0.2116 , 0.307604, -0.006132, -0.096687, 0.256419],\n", + " dtype=float32), memmap([ 0.234722, 0.80981 , 0.074393, -0.211983, -0.20316 , -0.005446,\n", + " -0.026764, -0.400265, -0.084097, -0.273624, 0.515842, 0.1567 ,\n", + " -0.305431, -0.348783, -0.303379, -0.47814 , 0.597299, -0.898253,\n", + " 0.33991 , -0.130709, 0.483949, 0.461116, -0.190227, 0.013129,\n", + " 0.065772, -0.352949, 0.111544, 0.017473, 0.144105, 0.149626,\n", + " 0.008293, -0.169169, -0.444825, 0.479146, 0.06512 , 0.296075,\n", + " 0.710782, 0.587407, -0.433715, 0.304509, 0.006459, -0.289251,\n", + " -0.10277 , -0.198216, -0.141312, 0.231391, 0.64742 , -0.087082,\n", + " 0.422744, -0.108043, 0.526347, -0.141101, -0.018233, -0.112364,\n", + " -0.227426, 0.250347, -0.403164, 0.115159, -0.009349, 0.609969,\n", + " -0.069278, -0.391943, -0.653624, 0.10873 , -0.094347, 0.066627,\n", + " -0.253934, -0.108288, -0.346003, 0.431097, -0.265748, -0.425058,\n", + " -0.025266, 0.290219, 0.106791, 0.087098, -0.447396, -0.673392,\n", + " -0.324899, -0.391382, 0.447569, 0.349118, 0.356815, 0.182235,\n", + " -0.111013, -0.223045, 0.160748, -0.181547, -0.328115, -0.460369,\n", + " -0.442495, 0.429451, 0.397471, 0.381919, 0.02781 , 0.271415,\n", + " 0.5993 , -0.174249, -0.176888, 0.042518, -0.377703, -0.092198,\n", + " -0.438258, 0.109864, -0.077585, 0.167162, 0.194471, -0.008114,\n", + " -0.307463, 0.099702, -0.026789, 0.123125, 0.423148, -0.291795,\n", + " -0.544971, -0.082876, -0.576819, 0.272862, 0.031629, 0.283621,\n", + " -0.342329, 0.334911, -0.27696 , 0.428965, 0.101146, -0.206178,\n", + " -0.274189, 0.060112, 0.570426, -0.107117, 0.37786 , -0.165856,\n", + " -0.270784, -0.614963, 0.484542, -0.137667, 0.461162, 0.122169,\n", + " 0.667988, 0.137872, -0.188582, -0.542727, 0.1241 , 0.027563,\n", + " 0.54114 , 0.047244, 0.634181, -0.653621, -0.361178, 0.36152 ,\n", + " -0.083926, 0.426356, 0.343157, 0.154389, -0.557137, 0.356449,\n", + " -0.174122, -0.090641, -0.247339, -0.361961, 0.179499, -0.158728,\n", + " 0.351486, -0.181382, -0.062844, 0.324505, -0.816371, 0.503514,\n", + " 0.034193, -0.060433, 0.728245, 0.006493, -0.118483, -0.879179,\n", + " -0.143395, -0.492866, -0.789491, 0.38288 , -0.242385, -0.346206,\n", + " -0.482659, -0.523072, 0.800104, -0.39457 , -0.16892 , 0.317939,\n", + " 0.48674 , 0.100542, 0.400315, -0.321421, -0.355529, -0.080892,\n", + " 0.082311, 0.409865, -0.213277, 0.484455, -0.041403, -0.56434 ,\n", + " 0.075854, 0.479876, -0.221461, -0.018248, 0.154643, 0.634272,\n", + " -0.204653, -0.053264, -0.419435, 0.148316, -0.386147, 0.362359,\n", + " -0.516738, -0.022144, 0.195906, 0.36925 , -0.631322, -0.185465,\n", + " -0.150158, 0.29502 , 0.186631, -0.029606, -0.159891, 0.585461,\n", + " -0.305519, 0.679607, -0.289729, 0.300789, -0.409961, -0.014877,\n", + " -0.058152, -0.289599, -0.275716, 0.14194 , -0.417603, -0.219314,\n", + " 0.239415, -0.209425, 0.228551, -0.090276, 0.003584, -0.563514,\n", + " 0.190148, -0.019804, 0.525719, -0.648379, -0.130032, 0.171629,\n", + " -0.285099, 0.501189, -0.28986 , -0.320306, 0.425084, 0.369126,\n", + " 0.486192, -0.806163, 0.46262 , -1.326337, 0.170554, 0.15332 ,\n", + " -0.013065, 0.305223, 0.365505, 0.024582, -0.02012 , -0.008161,\n", + " 0.271429, 0.115404, -0.558071, 0.190464, -0.51834 , 0.307425,\n", + " -0.424621, -0.110702, -0.067658, 0.549403, -0.508167, 0.244493,\n", + " 0.482683, -0.70726 , -0.043798, -0.162574, -0.120331, -0.689316,\n", + " -0.479306, 0.467589, 0.08211 , 0.063808, -0.236574, 0.513354,\n", + " 0.208919, -0.364278, -0.599179, 0.694367, -0.113098, -0.137624,\n", + " 0.178429, -0.249899, 0.177704, -0.383857, -0.012945, 0.063089],\n", + " dtype=float32), memmap([ 4.25750554e-01, -1.44906029e-01, -1.03891052e-01,\n", + " -2.88361520e-01, 3.09437454e-01, -3.73205423e-01,\n", + " -5.34060597e-02, -8.10606718e-01, 4.98223990e-01,\n", + " -1.36323616e-01, -1.89956173e-01, -2.41232924e-02,\n", + " 6.83675587e-01, 1.89345434e-01, 5.25885999e-01,\n", + " -3.08831513e-01, -3.21324170e-02, -6.30293667e-01,\n", + " 9.41303149e-02, -1.36064023e-01, -1.24976680e-01,\n", + " 4.70452249e-01, -5.06320238e-01, 4.46305722e-01,\n", + " 8.39224532e-02, -5.56360185e-01, 5.44480793e-02,\n", + " -2.97736049e-01, 2.10755810e-01, 2.42721047e-02,\n", + " 1.96821988e-01, -2.78171182e-01, 9.76160839e-02,\n", + " 3.34955037e-01, -1.26703724e-01, -2.80070245e-01,\n", + " -5.42247714e-03, 5.66913262e-02, -3.57440680e-01,\n", + " -1.15232475e-01, 5.91550991e-02, -1.86618924e-01,\n", + " -1.70146614e-01, -5.71986027e-02, -4.01463732e-02,\n", + " -9.00624394e-02, -1.42397046e-01, 4.17225242e-01,\n", + " 1.55987278e-01, -2.53479540e-01, 2.47357652e-01,\n", + " -1.25247508e-01, -3.19386363e-01, -6.51077777e-02,\n", + " -5.23198903e-01, 4.67539728e-01, -7.37586990e-02,\n", + " -1.36515945e-02, -9.33016837e-02, -1.23284133e-02,\n", + " -2.41081640e-01, -5.30515313e-01, -2.41322294e-01,\n", + " -2.28916928e-01, -2.18479544e-01, 1.35944843e-01,\n", + " 8.72921422e-02, -2.78946072e-01, 2.46815383e-02,\n", + " -7.14808702e-02, 4.72817570e-01, -5.28021336e-01,\n", + " -8.69194567e-02, 2.40457848e-01, 1.02259025e-01,\n", + " 1.48765184e-02, 6.95583075e-02, -3.79711509e-01,\n", + " -1.59715727e-01, -4.05831605e-01, 4.63549107e-01,\n", + " 4.98835035e-02, -2.19716609e-01, -2.95969158e-01,\n", + " 8.53620097e-02, -6.02161646e-01, -3.22390318e-01,\n", + " -7.59210438e-02, -5.03465533e-01, 8.72356594e-02,\n", + " -5.32781005e-01, 2.94092119e-01, 9.29164141e-03,\n", + " 1.23222262e-01, -3.13054204e-01, 3.35174859e-01,\n", + " -1.01884291e-01, -3.41102123e-01, -1.38404995e-01,\n", + " 4.87858444e-01, -9.39088687e-03, -1.12968273e-01,\n", + " -1.37872711e-01, 1.03885084e-01, -4.10780162e-01,\n", + " 2.37380326e-01, 2.46492177e-01, -4.73199897e-02,\n", + " 1.34807795e-01, -2.18871430e-01, 2.45887250e-01,\n", + " 9.91815254e-02, 2.95145869e-01, -4.81934458e-01,\n", + " -2.57790666e-02, 2.22542793e-01, -3.88982035e-02,\n", + " -3.15040410e-01, 3.87229264e-01, -2.49802768e-01,\n", + " -2.67281026e-01, 4.05594148e-02, 8.61374736e-01,\n", + " 3.67723942e-01, -1.97135165e-01, -1.60418391e-01,\n", + " -2.13820949e-01, -2.19974946e-02, -2.45177522e-01,\n", + " 6.84971630e-04, 1.22145891e-01, 3.80910560e-03,\n", + " 2.19096988e-01, -6.30880356e-01, 1.90297291e-02,\n", + " 1.41488150e-01, 3.29718709e-01, 2.07425833e-01,\n", + " 1.80229947e-01, -3.20699275e-01, 7.24228248e-02,\n", + " -1.09708623e-03, 4.44707066e-01, -4.18925881e-01,\n", + " 3.12439054e-01, -8.04027498e-01, -1.80449471e-01,\n", + " -2.94538289e-01, -2.71387756e-01, 3.22831631e-01,\n", + " -2.52752393e-01, 1.17669508e-01, -1.55494958e-01,\n", + " -1.25974506e-01, 3.10132176e-01, -3.36968456e-03,\n", + " -4.16645348e-01, -1.68400094e-01, -7.30952695e-02,\n", + " -1.37847796e-01, -9.38109215e-03, -6.17799461e-02,\n", + " -3.57294142e-01, 8.67224410e-02, 2.06380427e-01,\n", + " -3.85333002e-01, -4.44512308e-01, -1.98299453e-01,\n", + " -2.58089662e-01, -2.13967651e-01, 3.88148606e-01,\n", + " 1.30149914e-04, 3.94165158e-01, -3.97414744e-01,\n", + " -2.87104368e-01, -3.15382481e-01, 1.16758458e-01,\n", + " -1.68181643e-01, -1.08504403e+00, -2.63383478e-01,\n", + " -4.29468513e-01, 3.13112587e-01, -4.93108518e-02,\n", + " 4.12772730e-04, -3.33309472e-01, 5.83502352e-01,\n", + " 2.04136334e-02, 7.40744248e-02, -1.59861699e-01,\n", + " -4.58843350e-01, -2.48187050e-01, 2.91114897e-01,\n", + " 2.70096153e-01, -3.16815615e-01, 2.33823031e-01,\n", + " -7.75428396e-03, -1.69241428e-01, 2.49805406e-01,\n", + " -8.06642696e-02, 1.37787044e-01, 3.98429543e-01,\n", + " -2.93187089e-02, 1.61894038e-01, 3.01054865e-01,\n", + " 5.28242588e-01, 5.14931023e-01, -1.25819698e-01,\n", + " -4.77335900e-01, -1.81206718e-01, 6.61615551e-01,\n", + " -1.02147090e+00, 3.43526691e-01, 3.01730573e-01,\n", + " 7.10077584e-02, -3.12605232e-01, 4.56228182e-02,\n", + " -6.32001221e-01, -5.26204526e-01, 5.13294190e-02,\n", + " 1.61592558e-01, -5.78216352e-02, 8.95283464e-03,\n", + " -4.61166769e-01, 2.94773579e-01, -2.23560661e-01,\n", + " 4.92346585e-01, -2.11191818e-01, 1.52712345e-01,\n", + " 1.92895055e-01, 8.37244913e-02, 2.09370047e-01,\n", + " 3.65570694e-01, 4.82121974e-01, -5.69163799e-01,\n", + " -1.10894538e-01, -8.56475160e-02, -4.92317915e-01,\n", + " 3.66639465e-01, 3.77745420e-01, 2.88006246e-01,\n", + " 1.07129358e-01, -1.56810477e-01, 2.02181801e-01,\n", + " -1.22563757e-01, -2.90898144e-01, -1.56015202e-01,\n", + " -1.36386916e-01, -5.33366799e-02, 2.77843237e-01,\n", + " 2.41626233e-01, -7.99171552e-02, 2.42322251e-01,\n", + " -3.42781782e-01, 2.17569798e-01, 3.15509677e-01,\n", + " 2.95207113e-01, 1.51273325e-01, 1.12781964e-01,\n", + " 5.57037294e-02, 4.92329061e-01, 8.49575028e-02,\n", + " -4.89813328e-01, 2.83460051e-01, -2.61578053e-01,\n", + " -6.01285338e-01, 1.84555024e-01, 9.62331891e-02,\n", + " 2.61091739e-01, -3.05440724e-01, 1.75247297e-01,\n", + " 3.86141539e-02, -3.40094268e-01, 2.05955997e-01,\n", + " 1.31360844e-01, -2.29192935e-02, 4.18725275e-02,\n", + " -1.53108016e-01, -3.61782521e-01, 1.62163615e-01,\n", + " 2.79950440e-01, -5.36505803e-02, -3.07383120e-01,\n", + " -1.91204160e-01, 6.12407207e-01, 3.68224859e-01,\n", + " -7.81459093e-01, 4.69116941e-02, -7.49986395e-02,\n", + " 4.17151093e-01, 2.30060853e-02, 4.53134269e-01,\n", + " -4.38228220e-01, -3.27670395e-01, 1.63857535e-01,\n", + " -4.24780190e-01, -1.93398342e-01, 4.66528773e-01,\n", + " -1.48015484e-01, -2.01658487e-01, 3.86270493e-01], dtype=float32), memmap([-3.24685067e-01, -8.09570670e-01, -1.03050180e-01,\n", + " -4.36205044e-02, -5.66855133e-01, 2.70377640e-02,\n", + " -4.72028643e-01, -7.35919416e-01, 1.77842200e-01,\n", + " 2.88984448e-01, 3.89561206e-01, -3.75486553e-01,\n", + " 1.18895423e+00, 7.78229237e-01, -7.86323488e-01,\n", + " -1.60766765e-01, 6.31467879e-01, -8.02628636e-01,\n", + " 6.39832914e-01, 1.73263550e-01, 3.37748915e-01,\n", + " -4.08929944e-01, -5.93181908e-01, 4.99565542e-01,\n", + " -4.15923625e-01, -1.29706874e-01, -3.38152409e-01,\n", + " -6.07454419e-01, 4.67318237e-01, 6.81544483e-01,\n", + " -2.35622466e-01, -1.02453053e-01, 1.57846093e-01,\n", + " 1.72784552e-01, -4.91092773e-03, -3.01241904e-01,\n", + " 1.13105559e+00, 5.38298249e-01, -9.74709541e-02,\n", + " -4.58919019e-01, 2.00168900e-02, -5.11729956e-01,\n", + " -1.39294541e+00, 2.99367100e-01, 7.73437798e-01,\n", + " 3.16411778e-02, 3.59324902e-01, 8.06545675e-01,\n", + " -5.45785069e-01, -3.10331434e-01, 8.72977674e-01,\n", + " 5.26150942e-01, -1.02591738e-01, 2.04615578e-01,\n", + " -5.92126250e-01, -6.72684133e-01, 2.89116949e-01,\n", + " 9.18302909e-02, 2.96162844e-01, -1.27545022e-03,\n", + " 2.03249618e-01, 1.80768713e-01, -3.90626967e-01,\n", + " -1.29804322e-02, 4.37790692e-01, -3.64433862e-02,\n", + " -2.92590819e-02, -1.42965168e-01, -3.37275863e-02,\n", + " 8.37169215e-02, 5.95902741e-01, -5.67058742e-01,\n", + " -2.88764983e-01, -3.47298086e-01, 3.70834649e-01,\n", + " -1.22862741e-01, -8.12156856e-01, -3.81230235e-01,\n", + " -1.08798333e-01, -6.44796863e-02, 6.69528365e-01,\n", + " 4.23865050e-01, -7.26647258e-01, -2.64263839e-01,\n", + " 3.98558170e-01, -7.67392218e-01, 1.16265714e+00,\n", + " -2.74666578e-01, 2.24752985e-02, 5.47188282e-01,\n", + " 7.21026003e-01, 4.78942692e-01, -4.41449881e-01,\n", + " 4.27814648e-02, -5.71467340e-01, 1.03153482e-01,\n", + " -6.79021597e-01, 8.02298307e-01, 6.95822418e-01,\n", + " -2.49896720e-01, 1.66734129e-01, -5.09081632e-02,\n", + " 1.49252906e-01, 5.97951770e-01, -2.50706151e-02,\n", + " 1.43053681e-01, 1.60088167e-01, -3.57728064e-01,\n", + " -3.11352789e-01, 2.35706195e-01, -2.43033513e-01,\n", + " 8.59800875e-02, -9.21167359e-02, -4.80178982e-01,\n", + " -6.46969855e-01, 8.07543695e-02, 5.70740402e-01,\n", + " -1.67069748e-01, -3.67175460e-01, -9.43437815e-01,\n", + " -2.94312298e-01, 8.67804885e-01, -7.00006410e-02,\n", + " 5.90139329e-01, 1.67932689e-01, 4.52213854e-01,\n", + " -2.83149958e-01, 4.11131531e-01, 2.02804670e-01,\n", + " 1.76650271e-01, 1.83450937e-01, -4.44364011e-01,\n", + " -1.50030643e-01, 2.94948816e-01, 1.55011669e-01,\n", + " -5.45138419e-01, -4.84053016e-01, 6.39758229e-01,\n", + " 1.03366220e+00, -5.25145173e-01, 2.90294141e-01,\n", + " -7.59942114e-01, 1.43332198e-01, -1.12062111e-01,\n", + " 9.13262069e-01, -4.62342381e-01, -2.26189584e-01,\n", + " 1.18691534e-01, -4.84202474e-01, 5.14343679e-01,\n", + " 2.53771186e-01, 5.31296805e-02, 1.53731480e-01,\n", + " -1.64975315e-01, 2.29725972e-01, 9.07307640e-02,\n", + " -1.34855330e-01, -6.76670671e-01, 2.44544178e-01,\n", + " -4.55914080e-01, -2.21616894e-01, -6.80766115e-03,\n", + " -5.61732173e-01, 3.94695587e-02, -2.98757106e-01,\n", + " 3.24944347e-01, -3.50992322e-01, -3.55250657e-01,\n", + " 4.19133663e-01, -1.81731328e-01, 2.12798685e-01,\n", + " -2.91771386e-02, -4.79145557e-01, 3.54345769e-01,\n", + " -7.77321309e-02, -4.98711914e-01, -5.77231348e-01,\n", + " 7.25057721e-01, -8.98152828e-01, -6.05006576e-01,\n", + " -8.81800890e-01, -1.36045074e+00, 3.45182657e-01,\n", + " -1.31046247e+00, -2.40266323e-02, -2.00349480e-01,\n", + " 1.49414251e-02, 7.24024951e-01, -1.02799916e+00,\n", + " 1.13628261e-01, -3.33850831e-01, 4.42778170e-02,\n", + " 8.73994768e-01, 1.09054953e-01, 1.89671367e-01,\n", + " 1.75990418e-01, 1.09133489e-01, -6.57070398e-01,\n", + " 2.27676824e-01, -6.39706612e-01, -2.86734551e-01,\n", + " 3.32877308e-01, 3.86280268e-01, -4.03546333e-01,\n", + " 1.13617313e+00, -5.50746381e-01, -6.27767146e-01,\n", + " 8.86233926e-01, 9.63478833e-02, -7.49540389e-01,\n", + " -1.07879758e+00, 8.40771079e-01, 1.70423791e-01,\n", + " 2.67693177e-02, -8.25676978e-01, 2.28299946e-01,\n", + " 4.28672463e-01, 4.83920574e-01, 6.78453028e-01,\n", + " -1.04233444e-01, 2.86804557e-01, 3.19179416e-01,\n", + " -1.30276576e-01, 1.59447551e-01, -3.52264524e-01,\n", + " -8.23359117e-02, -1.01699102e+00, 4.77984659e-02,\n", + " -3.29850644e-01, 2.27738515e-01, 2.00626865e-01,\n", + " 3.07913870e-01, -2.62131661e-01, -2.68594563e-01,\n", + " 7.44692922e-01, 6.54206634e-01, -2.78040349e-01,\n", + " 3.83197814e-01, -4.32873905e-01, -2.04653978e-01,\n", + " 1.21546641e-01, -9.08628821e-01, 4.33077306e-01,\n", + " -5.72758801e-02, -4.25418168e-01, 4.29795742e-01,\n", + " -2.54513323e-01, 1.01429045e+00, -4.96600479e-01,\n", + " 4.04355913e-01, 3.93872662e-03, -6.70411527e-01,\n", + " 6.85276747e-01, -1.87186563e+00, 4.82749611e-01,\n", + " -5.83230555e-01, -2.16659829e-01, 2.34310199e-02,\n", + " 1.51459292e-01, 8.54803264e-01, -4.66781080e-01,\n", + " 5.92856348e-01, 3.63355577e-01, 4.70464170e-01,\n", + " -4.47775811e-01, -5.12042880e-01, -1.45977929e-01,\n", + " -3.34089547e-02, -4.39307332e-01, -6.61511183e-01,\n", + " 3.25032175e-01, 8.42535436e-01, 7.31322765e-01,\n", + " 3.00033152e-01, -1.56772852e-01, 7.03861952e-01,\n", + " -6.80940077e-02, 1.15797780e-01, 2.96656072e-01,\n", + " -3.72326449e-02, 1.20023742e-01, -9.93749648e-02,\n", + " -7.42625535e-01, 1.98762670e-01, 3.75849843e-01,\n", + " 1.77410349e-01, -5.82590044e-01, -6.65690377e-02,\n", + " 3.95368934e-01, 1.76351041e-01, 1.78927526e-01,\n", + " 3.79469335e-01, 1.65692866e-02, 3.06543469e-01,\n", + " 3.90689999e-01, 4.71795201e-01, -1.56677037e-01,\n", + " -7.24490643e-01, -2.35413924e-01, -4.19473737e-01], dtype=float32), memmap([-0.23309 , -0.16696 , 0.051647, -0.001091, -0.220123, -0.219046,\n", + " -0.210659, -0.334583, -0.048074, 0.207082, 0.311863, 0.141425,\n", + " -0.047006, 0.502109, 0.210431, 0.09265 , -0.457061, -0.301608,\n", + " -0.093437, 0.105799, -0.029552, -0.316092, 0.051961, 0.237018,\n", + " -0.129676, -0.511262, -0.211181, -0.013333, -0.124993, 0.15629 ,\n", + " 0.304459, -0.085689, 0.063609, 0.260618, 0.322268, 0.107869,\n", + " -0.033317, -0.301256, -0.307679, -0.45489 , -0.026218, -0.339117,\n", + " -0.086075, -0.261996, -0.215277, -0.131351, 0.060531, 0.364382,\n", + " 0.106944, -0.469159, -0.175957, 0.020165, 0.372353, 0.71464 ,\n", + " -0.635794, 0.433469, -0.284922, 0.141907, -0.194802, 0.025444,\n", + " 0.309194, -0.243525, 0.212796, -0.122372, 0.182839, -0.193608,\n", + " -0.312008, 0.454304, -0.272643, 0.179933, -0.031234, -0.124449,\n", + " -0.137704, -0.135041, 0.018345, 0.264799, -0.211687, -0.489783,\n", + " -0.367397, 0.12491 , 0.262723, 0.019521, -0.015258, -0.034482,\n", + " -0.135143, -0.375652, 0.045251, -0.240065, 0.35244 , -0.06184 ,\n", + " 0.014865, -0.027112, 0.44763 , 0.170786, -0.132025, -0.172819,\n", + " -0.004623, 0.310332, -0.389551, -0.148223, -0.078611, 0.210169,\n", + " 0.290566, 0.119298, 0.260509, 0.221422, 0.057856, -0.189797,\n", + " 0.053297, -0.009419, 0.285296, 0.031031, -0.482448, -0.181219,\n", + " -0.359581, -0.11172 , 0.253851, 0.00771 , 0.005927, -0.344459,\n", + " -0.373674, -0.093244, 0.125282, 0.029314, 0.138296, -0.067617,\n", + " -0.008833, -0.40102 , -0.158238, 0.358528, -0.164676, -0.255792,\n", + " 0.526057, -0.283461, -0.444988, 0.197057, 0.071989, 0.06806 ,\n", + " -0.517309, -0.193298, -0.126642, -0.898665, -0.150334, -0.097505,\n", + " -0.225956, -0.330094, -0.579602, -0.229313, 0.083622, 0.058146,\n", + " 0.051087, 0.047915, 0.344636, 0.180668, -0.296002, -0.194295,\n", + " 0.329504, 0.222516, 0.25357 , -0.024258, 0.150495, 0.380248,\n", + " 0.269974, -0.118223, -0.224513, -0.015332, 0.086818, -0.116123,\n", + " 0.047803, -0.107449, 0.100342, 0.539207, -0.048726, -0.520643,\n", + " -0.440864, -0.291647, -0.30904 , 0.264793, -0.323082, -0.878777,\n", + " -0.265229, -0.15706 , 0.158476, -0.278727, -0.697932, 0.475208,\n", + " -0.453244, 0.370588, -0.252721, 0.249449, 0.136374, 0.023166,\n", + " 0.18939 , -0.194528, 0.016915, 0.114813, -0.067616, -0.183564,\n", + " 0.277733, 0.039915, -0.381586, 0.275892, 0.36965 , 0.290699,\n", + " 0.555409, -0.108651, 0.371181, 0.284651, -0.266782, 0.270337,\n", + " -0.389116, 0.243301, 0.03397 , -0.181931, 0.126301, 0.098949,\n", + " -0.031929, 0.023862, -0.265254, -0.317986, 0.261748, -0.124366,\n", + " 0.052828, -0.253874, -0.298921, 0.660471, -0.402143, -0.115865,\n", + " -0.036952, -0.005694, 0.222983, 0.210366, -0.015276, 0.408071,\n", + " 0.064006, 0.12858 , 0.093495, -0.441302, -0.443214, 0.090679,\n", + " 0.082603, -0.021676, 0.245722, -0.437763, -0.094861, 0.456519,\n", + " -0.798534, -0.275137, -0.031673, 0.413362, 0.20703 , 0.145419,\n", + " -0.105149, -0.288334, 0.454169, -0.355168, -0.214771, -0.041133,\n", + " -0.168144, 0.496191, -0.398232, -0.256925, 0.309209, 0.279535,\n", + " -0.453068, 0.021033, -0.341282, -0.188276, -0.105165, 0.487956,\n", + " -0.224292, 0.164762, 0.235226, 0.417424, -0.172181, 0.02383 ,\n", + " 0.194895, -0.047845, 0.34893 , -0.172425, -0.323815, -0.211058,\n", + " -0.587665, 0.470826, -0.246112, -0.687289, -0.277075, -0.184155,\n", + " 0.089196, -0.252971, -0.59115 , -0.215328, -0.415954, -0.064968,\n", + " -0.480383, -0.081329, 0.251836, -0.229285, -0.172558, 0.304665],\n", + " dtype=float32), memmap([ 2.32568458e-01, 1.57943115e-01, 4.32326691e-03,\n", + " -2.22106144e-01, 5.47086075e-02, 3.77114527e-02,\n", + " -5.53809464e-01, -1.72059715e-01, 1.80373698e-01,\n", + " 1.14512116e-01, -5.38545012e-01, 1.06768958e-01,\n", + " 3.58533502e-01, -1.03059359e-01, 3.70504051e-01,\n", + " -3.25200528e-01, -5.85376732e-02, -5.44412255e-01,\n", + " 5.22807121e-01, 3.12694520e-01, -2.53822029e-01,\n", + " 3.06367457e-01, -1.83311235e-02, -8.95658135e-02,\n", + " -8.05703029e-02, -2.96792597e-01, -6.14906251e-02,\n", + " -2.25434139e-01, 4.09706622e-01, 3.18668246e-01,\n", + " 1.89652398e-01, -3.30584228e-01, 2.83952296e-01,\n", + " 1.97281450e-01, -9.47488919e-02, 1.75367281e-01,\n", + " 6.91059008e-02, 2.12301686e-01, -3.17709059e-01,\n", + " -2.66908407e-01, -1.98808522e-03, 7.97648504e-02,\n", + " -3.13576490e-01, -3.46307427e-01, 3.65475923e-01,\n", + " 4.16511625e-01, 1.84790716e-01, 4.73498344e-01,\n", + " -4.79524443e-03, 1.00087896e-02, -4.06765677e-02,\n", + " -1.25053376e-02, -8.54397193e-02, 1.99579552e-01,\n", + " -2.69704242e-03, 6.08325839e-01, -1.36096820e-01,\n", + " 4.80291098e-01, 1.26534805e-01, -7.51183778e-02,\n", + " -2.00080082e-01, -9.86926556e-01, -1.51792049e-01,\n", + " -2.54688025e-01, 1.44167200e-01, 4.95903287e-03,\n", + " -1.53225735e-01, -1.73918262e-01, -2.79830486e-01,\n", + " 5.88657737e-01, 4.94650990e-01, -3.22817087e-01,\n", + " -1.97615132e-01, 3.23753893e-01, -4.49186983e-03,\n", + " 2.66221818e-03, 2.46758923e-01, -5.21548569e-01,\n", + " -3.70917946e-01, -5.89262068e-01, 3.38520318e-01,\n", + " -7.88067430e-02, -6.09705508e-01, -1.38888493e-01,\n", + " -4.10912931e-02, 1.26513541e-02, -1.15141541e-01,\n", + " -1.11443676e-01, 1.18536614e-02, 4.53776211e-01,\n", + " -1.12987190e-01, 3.68858010e-01, -3.39849621e-01,\n", + " -5.09892553e-02, -5.09211719e-01, 3.78678828e-01,\n", + " 3.50591242e-02, 2.01533377e-01, -7.38309100e-02,\n", + " 1.15289748e-01, -1.89946443e-01, 1.37329519e-01,\n", + " 1.59653276e-01, -3.06117952e-01, -1.38643339e-01,\n", + " -6.90807626e-02, -4.27213050e-02, -9.74107310e-02,\n", + " 1.06864095e-01, -2.12378651e-01, 4.67636287e-01,\n", + " -3.00029188e-01, 3.70547533e-01, 2.90667173e-02,\n", + " 1.51017860e-01, 2.65507460e-01, -3.69277239e-01,\n", + " 1.58095628e-01, 7.15709090e-01, -2.03659117e-01,\n", + " -5.51316857e-01, 2.65729167e-02, 1.88119188e-01,\n", + " -1.18521437e-01, 1.61107823e-01, 2.64499217e-01,\n", + " -2.22190306e-01, -8.69244114e-02, 3.17103148e-01,\n", + " 1.47095159e-01, -1.51662230e-01, 5.44894896e-02,\n", + " 1.33317590e-01, -1.21112810e-02, 2.46455923e-01,\n", + " 8.15962926e-02, 3.65240425e-02, -4.79839189e-04,\n", + " 1.10346064e-01, -3.90538573e-01, -1.78514961e-02,\n", + " 2.05885932e-01, 8.30430016e-02, -7.18691573e-02,\n", + " 7.44752288e-01, -1.25405297e-01, -1.41981319e-02,\n", + " -1.79112226e-01, -3.48259360e-01, -1.95858344e-01,\n", + " -1.43813774e-01, 1.36453947e-02, -3.70818883e-01,\n", + " 2.53616452e-01, 3.79089296e-01, -1.12172082e-01,\n", + " -3.13722283e-01, -5.45554340e-01, 2.18065176e-02,\n", + " -2.21042261e-01, -2.77787864e-01, -4.26449388e-01,\n", + " -5.29080987e-01, 1.27472356e-01, 6.50368094e-01,\n", + " 2.43576393e-02, -4.10172433e-01, -2.65574992e-01,\n", + " -3.74130398e-01, 2.32573435e-01, 5.35680890e-01,\n", + " -4.11579728e-01, -5.70417009e-02, -4.74147022e-01,\n", + " 1.00270603e-02, -6.59988582e-01, -2.70968795e-01,\n", + " -2.27726027e-01, -3.57914329e-01, -3.79849970e-01,\n", + " -8.31992999e-02, -1.09826930e-01, -2.00051531e-01,\n", + " -4.08455431e-01, -3.93642783e-01, 2.23183334e-01,\n", + " -3.52738976e-01, 5.29104352e-01, 1.81202307e-01,\n", + " -3.44713986e-01, 1.87122107e-01, 3.37113410e-01,\n", + " -2.19589308e-01, -6.51087686e-02, 4.75562327e-02,\n", + " 4.31206912e-01, -1.89268023e-01, 4.31933969e-01,\n", + " -4.25979942e-01, -6.60467311e-04, 2.59757727e-01,\n", + " 6.53195322e-01, 3.52807730e-01, 6.53610751e-02,\n", + " 5.42899907e-01, 9.14519280e-02, -4.84628379e-02,\n", + " -1.09179936e-01, -1.98072568e-01, 4.33560818e-01,\n", + " -6.49045527e-01, 1.34570420e-01, 1.87291995e-01,\n", + " 3.25823575e-01, 4.53966796e-01, 3.36254507e-01,\n", + " -7.92757645e-02, 3.20697650e-02, -2.19480344e-03,\n", + " -5.40536791e-02, 1.27611324e-01, 3.92806083e-01,\n", + " -6.40995860e-01, 4.03397948e-01, 1.31676495e-01,\n", + " 3.21501553e-01, -1.73276418e-03, 2.30946951e-02,\n", + " -3.59938562e-01, 2.13947650e-02, -2.62580186e-01,\n", + " -2.66757532e-04, 2.76171267e-01, -5.68351150e-01,\n", + " 7.04955980e-02, -2.25271359e-01, -1.38796642e-01,\n", + " 1.05765969e-01, -3.91540200e-01, 3.78928706e-02,\n", + " -2.54817419e-02, 4.14578468e-02, 2.53397107e-01,\n", + " 1.44632399e-01, -4.72769082e-01, -1.91172838e-01,\n", + " -2.00820081e-02, 1.83314502e-01, 1.33331865e-01,\n", + " -1.02825209e-01, 9.60537884e-03, 1.44280106e-01,\n", + " -4.99030724e-02, 2.10222885e-01, 4.45284307e-01,\n", + " 4.72065769e-02, 7.25230128e-02, 4.50440139e-01,\n", + " 3.96559954e-01, 1.72658950e-01, 4.77375686e-01,\n", + " 3.14043671e-01, -1.22348405e-01, -3.36884826e-01,\n", + " -5.54170668e-01, 7.60734528e-02, 2.94232965e-01,\n", + " 1.86795175e-01, 1.38073899e-02, -3.45495939e-02,\n", + " -1.77323574e-03, -1.85175329e-01, 3.49939972e-01,\n", + " 3.08618397e-01, 9.62553322e-02, 9.99206156e-02,\n", + " -4.41181421e-01, -1.27350733e-01, 1.67777345e-01,\n", + " 2.79046744e-01, -1.70613062e-02, -4.77153771e-02,\n", + " -8.98046270e-02, 3.40485096e-01, 3.93445075e-01,\n", + " -3.74358416e-01, 2.96142042e-01, 8.55849981e-02,\n", + " 1.65252699e-04, 3.28553319e-01, 2.30741903e-01,\n", + " 2.70623565e-01, -1.54339567e-01, 3.54038924e-01,\n", + " -7.62324184e-02, -1.56005070e-01, 5.44903517e-01,\n", + " 2.83588152e-02, -3.39782774e-01, 4.49994683e-01], dtype=float32), memmap([-5.15391817e-04, -8.12229293e-04, 1.59661844e-03,\n", + " 2.17980775e-03, 9.95699593e-05, -2.82353326e-03,\n", + " 2.60581262e-03, 1.32749876e-04, 1.50517386e-03,\n", + " -1.88393437e-03, 1.22846442e-03, 1.03021227e-03,\n", + " -2.86312331e-03, -1.25392515e-03, -1.70111971e-03,\n", + " 3.53600975e-04, 8.96920392e-04, 2.42824154e-03,\n", + " -2.42304569e-03, -2.75925791e-04, -5.67579264e-05,\n", + " 1.47945166e-03, -2.39467295e-03, -2.19144276e-03,\n", + " -2.96397437e-03, 2.44010380e-03, -5.63386304e-04,\n", + " -2.41007801e-04, -1.57643959e-03, 2.10084766e-03,\n", + " -2.38016993e-03, 7.12735637e-04, 7.78532820e-04,\n", + " 2.51957099e-03, -1.28267531e-03, 1.97799434e-03,\n", + " 1.83889468e-03, -1.07426092e-03, 2.64045643e-03,\n", + " -9.09320515e-05, 3.16806231e-03, -1.54373015e-03,\n", + " -3.02336062e-03, 3.78595199e-04, -1.76996225e-03,\n", + " 1.68129918e-03, -2.25986645e-04, 3.30069615e-03,\n", + " 2.17767805e-03, 2.41227157e-04, -3.11042462e-03,\n", + " -1.95082102e-03, 1.54834427e-03, 8.20900605e-04,\n", + " 1.58534048e-03, 1.53605069e-03, 4.57952032e-04,\n", + " 2.59839534e-03, -2.55775219e-03, -1.26779880e-04,\n", + " -2.66531389e-03, 1.65703776e-03, -2.34030327e-03,\n", + " 6.67319284e-04, 2.44642113e-04, -2.98145530e-03,\n", + " -1.28212763e-04, 1.91862101e-03, 2.31498806e-03,\n", + " 7.50691863e-04, -1.55490800e-03, 1.12442176e-04,\n", + " 2.72648322e-04, -4.06172272e-04, -3.18437186e-03,\n", + " 1.57685834e-03, -9.27526969e-04, -2.15085270e-03,\n", + " 1.13641506e-03, -2.05029338e-03, 1.48269255e-03,\n", + " -2.67573912e-03, -3.17442650e-03, 2.35267635e-03,\n", + " 1.71343330e-03, 7.00076407e-06, 2.93798279e-03,\n", + " 1.51776790e-03, 2.96048960e-03, -1.60963775e-03,\n", + " -3.86150678e-05, -2.24934984e-03, -2.91305222e-03,\n", + " -2.43507535e-03, -2.26375181e-03, 1.06888218e-03,\n", + " -2.45115749e-04, 2.07492593e-03, -2.00066972e-03,\n", + " -1.31838396e-03, -1.24552404e-03, -1.60546857e-03,\n", + " -2.63111992e-03, -2.45019514e-03, 1.75113603e-03,\n", + " 8.30392819e-04, -1.42526627e-03, 4.42638411e-04,\n", + " -2.06820876e-03, -2.12908420e-03, 8.44965747e-04,\n", + " 8.16432657e-05, 3.07501963e-04, 4.71249426e-04,\n", + " 1.80422619e-03, -1.66152953e-03, 1.08894904e-03,\n", + " 1.27064309e-03, 4.47285973e-04, 6.84160390e-04,\n", + " 2.81703635e-03, 3.00076487e-03, 1.66642503e-03,\n", + " -2.94805365e-03, -8.60923145e-04, -1.99879240e-03,\n", + " -2.71307863e-03, 2.08845944e-03, 1.13757455e-03,\n", + " -3.20444745e-03, -3.07443389e-03, 9.00022205e-05,\n", + " 1.55738031e-03, -4.50938533e-04, 2.09649256e-03,\n", + " 3.33817807e-05, -8.46015639e-04, -9.11499665e-04,\n", + " 2.25041388e-03, -1.80681469e-03, 5.88281946e-05,\n", + " -1.97100476e-03, 2.77061388e-03, 1.02654612e-03,\n", + " 1.07432681e-03, -3.82049882e-04, -3.27729457e-03,\n", + " -2.46347743e-03, -2.42701778e-03, 2.97703664e-03,\n", + " 3.44767584e-04, 9.99985496e-04, -3.71789938e-05,\n", + " -2.80793430e-03, 1.56452414e-03, -1.26327679e-04,\n", + " 5.35879110e-04, 2.52256403e-04, 1.61315443e-03,\n", + " 1.85490295e-03, -8.88882496e-04, -2.90813530e-03,\n", + " 2.67223432e-03, -6.69240981e-05, -2.68971128e-03,\n", + " 1.40580896e-03, -1.12926168e-03, 1.41852698e-03,\n", + " 4.90988896e-04, -1.60833355e-03, 2.50750617e-03,\n", + " 2.72776536e-03, 1.61387282e-03, -2.25565908e-03,\n", + " 3.14607471e-03, -1.28826301e-03, 2.23583382e-04,\n", + " 2.44426401e-03, -6.02093525e-04, 5.66435629e-04,\n", + " 1.75370299e-03, 1.00410148e-03, -1.08356238e-03,\n", + " -5.18684392e-04, -2.67701712e-03, 2.68107257e-03,\n", + " 2.44031753e-03, -1.50248769e-03, -2.72227614e-03,\n", + " -2.14423984e-03, -5.83995192e-04, -2.50567845e-03,\n", + " -3.32792588e-05, 2.15892796e-04, 8.15405045e-04,\n", + " 2.82748300e-03, 3.16632679e-03, 2.53432523e-03,\n", + " -1.24514743e-03, 6.08632574e-04, -2.07523187e-03,\n", + " -9.83668142e-04, 1.69227365e-03, 5.40335986e-06,\n", + " 2.63519282e-03, -1.28237798e-03, -2.96463422e-03,\n", + " 2.86638900e-03, -1.83658756e-03, 3.05579184e-03,\n", + " 2.57752748e-04, 2.66075297e-03, 2.59341649e-03,\n", + " -1.91340293e-03, -1.57696719e-03, 3.04173620e-04,\n", + " -5.84207359e-04, -5.23861265e-04, -1.07896246e-03,\n", + " 2.33099703e-03, 1.71581905e-05, -2.32249891e-04,\n", + " -3.17664375e-03, -2.69629643e-03, 1.33865199e-03,\n", + " 9.12745774e-04, -1.42755825e-03, 2.32963869e-03,\n", + " 2.05383217e-03, 3.06564802e-03, 7.19071249e-04,\n", + " 1.43896416e-03, -5.80584980e-04, -2.86931591e-03,\n", + " -8.82597757e-04, -7.48244929e-05, -8.70594988e-04,\n", + " -3.28865205e-03, -4.22636658e-04, -2.09302269e-03,\n", + " 2.38356204e-03, 2.99137435e-04, 1.99374114e-03,\n", + " -3.29766423e-03, -3.83829261e-04, -6.66522974e-05,\n", + " 1.86359242e-03, -1.18281448e-03, 3.17071029e-03,\n", + " 1.43475528e-03, -5.56531770e-04, -2.99364398e-03,\n", + " -8.49072938e-04, 2.90678977e-03, 1.38175010e-03,\n", + " -3.24120210e-03, 1.73496245e-03, 2.14513144e-04,\n", + " 3.03984474e-04, -2.73339823e-03, -4.92684048e-05,\n", + " -2.98183598e-03, 2.53150612e-03, 1.42910797e-03,\n", + " -3.19766201e-04, 6.87253487e-04, 8.49134114e-04,\n", + " -2.28563696e-03, -1.40933273e-03, 1.24189933e-03,\n", + " -3.09705571e-03, 5.73805941e-04, 9.56805539e-04,\n", + " -1.73228339e-03, 2.32816543e-04, 1.19607452e-04,\n", + " 1.69905031e-03, 7.15173897e-04, 1.78219797e-03,\n", + " 3.89399531e-04, 2.28876108e-03, -2.02320423e-03,\n", + " 1.96936447e-03, -1.55187689e-03, 7.46556907e-04,\n", + " -2.10508914e-03, 2.01053941e-03, -1.14239054e-03,\n", + " -2.59110215e-03, -5.16111846e-04, -1.96155859e-03,\n", + " 2.89981766e-03, -1.50978332e-03, -1.66428485e-03,\n", + " 1.64764715e-04, 2.40476523e-03, 3.12477024e-03,\n", + " -1.51125831e-03, 2.34143739e-03, 1.34975911e-04], dtype=float32)], [memmap([-9.74057533e-04, 1.39671087e-03, -2.67836265e-04,\n", + " 3.15364590e-03, 2.96666636e-04, 2.81736051e-04,\n", + " -2.63743475e-03, 1.52303779e-03, 1.01379235e-03,\n", + " 1.57282199e-03, -1.71113803e-04, 8.02559836e-04,\n", + " 2.57097790e-03, 1.81893981e-03, 2.63088616e-03,\n", + " 3.40178027e-04, -2.11292668e-03, -2.50976160e-03,\n", + " -1.20709895e-03, 1.67239667e-03, -2.58512655e-03,\n", + " -1.26207829e-03, 1.39700493e-03, 1.95603608e-03,\n", + " 2.89038429e-03, -2.39552581e-03, -3.91247275e-04,\n", + " -3.21114226e-03, 9.58531688e-04, 8.29325523e-04,\n", + " -1.59795280e-03, 1.25081465e-03, 3.81096208e-04,\n", + " 1.59411912e-03, -8.54889571e-04, -3.06331483e-03,\n", + " 1.97919217e-04, -9.37395904e-04, 2.09570490e-03,\n", + " 1.22304517e-03, -2.73981970e-03, 1.85640890e-03,\n", + " -8.50516954e-04, 2.05107126e-03, 3.25771095e-03,\n", + " -2.02651741e-03, -2.99406121e-03, -2.29128683e-03,\n", + " 7.10814027e-04, -2.45556026e-03, 3.29233892e-03,\n", + " -1.30950764e-03, -1.89368729e-03, 1.27877074e-03,\n", + " 2.70718103e-03, -2.21936312e-03, 1.69272022e-03,\n", + " 7.79648602e-04, 2.15323060e-03, -1.90569717e-03,\n", + " -2.24422058e-03, -7.12279463e-04, 1.38582790e-03,\n", + " 2.27209576e-03, -2.48074066e-03, -1.57340372e-03,\n", + " -2.78435787e-03, 2.53080134e-03, 9.29941365e-04,\n", + " 9.57158394e-04, -4.04856197e-04, 7.77039502e-04,\n", + " 2.93451315e-03, 1.50868180e-03, -2.39667180e-03,\n", + " 1.94984837e-03, -1.30266906e-03, -3.10783624e-03,\n", + " 2.75730062e-03, 6.42884581e-04, -5.66801231e-04,\n", + " 7.95386615e-04, -2.41047610e-03, 1.00338063e-03,\n", + " 2.82178726e-03, -2.43772753e-03, 5.73688361e-04,\n", + " 1.23452744e-03, -3.01872566e-03, -1.07384368e-03,\n", + " 3.28231254e-03, -5.47548116e-04, 2.18831864e-03,\n", + " -3.27980524e-04, 1.68147963e-03, 2.44990899e-03,\n", + " -2.45229807e-03, 1.02455064e-03, -2.29938584e-03,\n", + " 2.91304989e-03, 1.60753564e-03, 1.12590473e-03,\n", + " 3.00752558e-03, 1.44218525e-03, 3.16225761e-03,\n", + " -1.64008932e-04, -5.27421653e-04, 1.06547831e-03,\n", + " 1.11937604e-03, 4.77150286e-04, -2.42268969e-03,\n", + " -3.12998053e-03, 4.55578178e-04, 2.90129334e-03,\n", + " -3.05265025e-03, -1.28805637e-03, -2.08641519e-03,\n", + " 3.26466886e-03, -2.95106089e-03, -2.08173040e-03,\n", + " -1.99576933e-03, 4.53641405e-04, -2.70907651e-03,\n", + " -2.34400504e-03, 1.16086320e-03, -2.44718627e-03,\n", + " 9.25636268e-05, 9.73496411e-04, -1.01899146e-03,\n", + " -3.02827288e-03, 9.58363991e-04, -3.27257067e-03,\n", + " 2.40717572e-03, 1.20117664e-04, 1.10580446e-03,\n", + " -4.41495577e-05, -2.85318610e-03, 1.54357916e-03,\n", + " 3.11869616e-03, 6.44255488e-04, -1.31027703e-03,\n", + " -1.52749463e-03, 8.79097788e-04, 7.01892364e-04,\n", + " 1.34046946e-03, -8.91715696e-04, -1.93791394e-03,\n", + " -4.34041809e-04, 1.12010317e-03, -2.24535773e-03,\n", + " -1.76302914e-03, -1.11521804e-03, -2.68377946e-03,\n", + " -2.55486579e-03, 2.67607206e-03, -2.09635729e-03,\n", + " 4.45536774e-04, 4.23340796e-04, -2.36946181e-03,\n", + " 1.01201690e-03, 2.53369007e-03, -8.69231240e-04,\n", + " -2.23573043e-05, 4.58726077e-04, 9.46683111e-04,\n", + " -1.58690137e-03, 1.31600059e-03, 2.19468423e-03,\n", + " -1.69886113e-03, 1.71214901e-03, -1.43307843e-04,\n", + " -1.10225752e-03, 3.13180522e-03, 1.78616366e-03,\n", + " -4.65679186e-05, -1.40959187e-03, -6.96717121e-04,\n", + " -5.70511795e-04, -1.54102559e-03, -2.30318774e-03,\n", + " 2.54784338e-03, -1.62216101e-03, 3.14650533e-04,\n", + " -2.94532534e-03, -1.02099183e-03, 2.99499906e-03,\n", + " -6.38728146e-04, -2.72372481e-03, 3.22340080e-03,\n", + " -1.49127806e-03, 2.27723271e-03, 2.73366761e-03,\n", + " 2.62600114e-03, 2.68271845e-03, 3.20440996e-03,\n", + " -4.97240224e-04, -1.02938886e-03, 3.26999027e-04,\n", + " 9.46711691e-04, 1.76053529e-03, 1.74157624e-03,\n", + " 1.49760721e-03, -3.09546776e-05, 2.48821010e-03,\n", + " 2.15774146e-03, 2.42709951e-03, -2.46135960e-03,\n", + " 1.82637456e-03, -3.11999000e-03, -2.49591586e-03,\n", + " -3.27967643e-03, -1.17016002e-03, 6.43555308e-04,\n", + " 3.32132494e-03, -2.58475146e-03, -7.75608991e-04,\n", + " 3.30572366e-03, 6.71840506e-04, -2.23828160e-04,\n", + " 2.99876463e-03, 3.10293835e-05, -1.25048554e-03,\n", + " 2.48837401e-03, -4.16146126e-04, -8.01149989e-04,\n", + " -2.19148802e-04, -2.70171487e-03, 1.73141161e-04,\n", + " -2.53586681e-03, 3.11773620e-03, 1.13646187e-04,\n", + " 2.82005151e-03, -3.23787535e-04, 1.52152695e-03,\n", + " 3.21076158e-03, -2.29426223e-04, -2.22376501e-03,\n", + " -3.26833175e-03, 5.72812569e-04, 3.06089874e-03,\n", + " 8.33402446e-04, 1.29480439e-03, 1.32911524e-03,\n", + " 2.61883345e-03, -2.53178203e-03, 6.48000219e-04,\n", + " 2.66361074e-03, -3.05172289e-03, -9.23413434e-04,\n", + " -2.13261833e-03, 8.54914193e-04, -1.48963137e-03,\n", + " -1.95632223e-03, -7.69955339e-04, -3.29735363e-03,\n", + " 1.98830920e-03, 1.31162966e-03, 1.10320176e-03,\n", + " -3.22533771e-03, 2.04978790e-03, -5.25970478e-04,\n", + " -1.89223525e-03, 2.42309878e-03, 8.27315671e-04,\n", + " 9.63741913e-04, 8.84156208e-04, 1.02529768e-03,\n", + " -1.41616585e-03, 6.75518531e-04, -6.47147477e-04,\n", + " 2.71809031e-03, 2.17319001e-03, 9.71910951e-04,\n", + " -2.93364283e-03, 2.43404706e-04, 1.14709849e-03,\n", + " -1.99730392e-04, 3.82491737e-04, -3.08531453e-03,\n", + " -2.20424891e-03, 2.87708524e-03, 1.51069486e-03,\n", + " 9.24036489e-04, -1.09619542e-03, 1.36686012e-03,\n", + " -2.61674239e-03, -1.52974128e-04, -2.72300956e-03,\n", + " 1.70241436e-03, -6.61658472e-04, -2.15324806e-03,\n", + " -2.46914220e-03, 1.41488796e-03, -3.25874239e-03,\n", + " -2.29610526e-03, -2.22696620e-03, -2.09132349e-03,\n", + " -2.79461709e-03, -3.24834906e-03, -1.12362858e-03], dtype=float32), memmap([ 1.94142744e-01, 4.24687594e-01, -6.16515040e-01,\n", + " 7.92087987e-02, -4.08174306e-01, 1.68680191e-01,\n", + " -1.09702433e-02, 1.93630680e-01, 3.76214951e-01,\n", + " -3.77800286e-01, 2.85816073e-01, 6.98541431e-03,\n", + " 1.60155624e-01, -5.62177487e-02, -8.77355933e-02,\n", + " 3.09143007e-01, 2.46621631e-02, -1.97171882e-01,\n", + " 2.57859558e-01, -1.09338854e-02, -4.83754307e-01,\n", + " 8.73331368e-01, 1.07900776e-01, 5.68210840e-01,\n", + " 4.41700011e-01, -5.15148759e-01, 6.67453885e-01,\n", + " -7.36188948e-01, 1.44993484e-01, 3.42713058e-01,\n", + " -2.93062836e-01, -7.04352856e-01, 2.09939495e-01,\n", + " 4.76748139e-01, 5.33154964e-01, 1.56223983e-01,\n", + " 6.27670884e-02, 1.11258470e-01, -3.26537222e-01,\n", + " 2.40981475e-01, 2.35867035e-02, -3.41517121e-01,\n", + " 2.79613677e-02, 1.36059076e-01, -5.76354861e-02,\n", + " 2.17488661e-01, -8.68688971e-02, 1.04660474e-01,\n", + " 4.34840053e-01, -1.56558916e-01, 2.20139846e-02,\n", + " 8.50646853e-01, -6.96028545e-02, -4.96416241e-02,\n", + " -4.52105224e-01, -1.65617496e-01, -1.69120833e-01,\n", + " 5.00667512e-01, 6.23086020e-02, 2.66797710e-02,\n", + " 2.39406288e-01, 1.61188215e-01, -4.42048579e-01,\n", + " 3.99456829e-01, -3.64878207e-01, -5.50381541e-01,\n", + " -3.51443440e-02, 1.29372835e-01, 3.86110783e-01,\n", + " 8.45251903e-02, 2.07652137e-01, -1.68325245e-01,\n", + " 4.61895496e-01, 5.61192781e-02, -4.50077727e-02,\n", + " -6.30799830e-01, 5.93935512e-02, -1.16900168e-01,\n", + " -1.50369331e-01, -1.05017208e-01, 4.86392528e-01,\n", + " 9.54300389e-02, -4.77352768e-01, -5.95392942e-01,\n", + " -4.52986002e-01, -5.39928794e-01, -5.58195524e-02,\n", + " 2.44014829e-01, -4.42916214e-01, 9.00813758e-01,\n", + " 1.18334115e-01, 1.78074032e-01, -4.60738152e-01,\n", + " 3.35500926e-01, -3.18296075e-01, 5.32522082e-01,\n", + " -1.47412524e-01, 6.99624717e-02, -5.87366382e-03,\n", + " -2.52920777e-01, -6.88910037e-02, 4.73230183e-01,\n", + " 8.59673694e-02, -1.69038624e-02, -5.13185523e-02,\n", + " -4.02480304e-01, 2.20456362e-01, -5.83604753e-01,\n", + " -4.28382397e-01, 2.90109348e-02, 1.93589807e-01,\n", + " -5.97080350e-01, 3.61912370e-01, -2.62874305e-01,\n", + " 6.03524625e-01, 2.76159436e-01, 6.53626800e-01,\n", + " -2.36506701e-01, 3.41918498e-01, -5.70619285e-01,\n", + " -1.56712294e-01, 1.77446812e-01, -1.35457739e-01,\n", + " -5.04285395e-01, 1.68761879e-01, -9.60936621e-02,\n", + " 3.37201416e-01, -4.05120522e-01, -6.94749281e-02,\n", + " -1.00818761e-01, -1.32848397e-01, 2.05306843e-01,\n", + " 2.46568888e-01, 4.28653061e-01, 4.33715373e-01,\n", + " 1.28168032e-01, -5.27778864e-01, -4.61193949e-01,\n", + " 3.07463378e-01, -1.09779589e-01, 2.10805178e-01,\n", + " -2.73639321e-01, 1.26720756e-01, 4.52001363e-01,\n", + " -2.46559545e-01, 4.37190801e-01, -1.81889862e-01,\n", + " -1.42172813e-01, -2.48227999e-01, 1.63580149e-01,\n", + " 5.63029721e-02, -3.92765850e-02, 3.70832235e-01,\n", + " 6.57928810e-02, 3.28843564e-01, -1.00587726e-01,\n", + " -2.40857020e-01, -1.49575189e-01, -5.26694298e-01,\n", + " -5.84302843e-01, 1.15861982e-01, -5.75009108e-01,\n", + " -8.16450655e-01, 2.41318494e-01, 4.17818636e-01,\n", + " 2.31447555e-02, 3.75625193e-01, -4.74290222e-01,\n", + " -5.07761419e-01, 4.76246864e-01, -3.36729884e-01,\n", + " 9.08507183e-02, -3.46911341e-01, -7.72270024e-01,\n", + " -9.51334685e-02, -1.59671187e-01, 2.01921493e-01,\n", + " 3.56744826e-01, 1.30935431e-01, -1.91181883e-01,\n", + " 1.47344545e-01, -4.41869587e-01, -1.94431469e-01,\n", + " -1.72315836e-01, -1.65235236e-01, -2.27667451e-01,\n", + " -8.01005214e-02, 1.79545581e-01, 4.34185565e-02,\n", + " 8.49061366e-03, 1.69919267e-01, -9.45178807e-01,\n", + " 3.64339016e-02, -7.98693374e-02, 4.65248168e-01,\n", + " 5.31076133e-01, -1.35150194e-01, -1.42856628e-01,\n", + " -9.77661386e-02, 4.30635929e-01, -5.56697957e-02,\n", + " -1.10841297e-01, 9.45942581e-01, 5.24842620e-01,\n", + " 2.64813393e-01, -3.13311405e-02, -4.93572205e-02,\n", + " -9.82033536e-02, 1.67363584e-01, 7.29254007e-01,\n", + " -1.19868983e-02, 3.72544289e-01, 3.47713739e-01,\n", + " -3.18639904e-01, -4.74815607e-01, 3.85445893e-01,\n", + " 4.72688265e-02, -3.16405892e-01, -5.35355695e-02,\n", + " 4.44714636e-01, 3.74997467e-01, -1.70927316e-01,\n", + " -9.87201333e-02, -1.39002670e-02, -4.80605632e-01,\n", + " 1.52409419e-01, -8.56325150e-01, -3.06434214e-01,\n", + " -3.47081870e-01, 1.49879560e-01, -3.43491614e-01,\n", + " 7.98110589e-02, -2.88172007e-01, 1.47431090e-01,\n", + " -3.19461852e-01, -5.12260258e-01, -4.13457975e-02,\n", + " 5.47318570e-02, 4.22522962e-01, -1.94676101e-01,\n", + " -7.26517916e-01, -8.49141506e-04, 3.11128199e-01,\n", + " 3.88019502e-01, -2.68315941e-01, -1.68562338e-01,\n", + " 2.19325960e-01, 1.72408447e-01, -4.05205697e-01,\n", + " -2.20338911e-01, 1.21876702e-01, 1.45145804e-01,\n", + " -1.09932892e-01, -3.03700030e-01, 2.53394574e-01,\n", + " -8.03245485e-01, -9.56387520e-01, 1.39556870e-01,\n", + " -1.00179732e+00, 8.47802386e-02, -1.47190168e-01,\n", + " -6.04547918e-01, 5.52332044e-01, 4.69056606e-01,\n", + " -2.69312829e-01, 3.02288383e-01, 2.13474512e-01,\n", + " -3.13370705e-01, 5.99319816e-01, -4.42538053e-01,\n", + " -4.36556399e-01, -8.94313514e-01, -2.52066031e-02,\n", + " 1.27426833e-01, -2.10599061e-02, -2.60598063e-01,\n", + " 9.80226517e-01, 1.92671105e-01, -3.57107818e-01,\n", + " 7.54274428e-01, 3.03246707e-01, -1.62655041e-01,\n", + " -3.94523710e-01, 3.18305254e-01, -2.22556628e-02,\n", + " -5.92985988e-01, -4.29851383e-01, 5.30965388e-01,\n", + " 1.01088777e-01, -4.61995125e-01, 1.40004531e-01,\n", + " 3.15118432e-02, 1.42315671e-01, -1.63438976e-01,\n", + " -8.59684169e-01, 7.65536278e-02, 2.66814739e-01,\n", + " -7.25512147e-01, 1.47523940e-01, 1.36123016e-01], dtype=float32), memmap([ 3.94463062e-01, 1.24759889e+00, 2.50680089e-01,\n", + " -3.89531791e-01, -1.32856229e-02, 6.53032959e-01,\n", + " -1.00357898e-01, -7.23320320e-02, 1.20423090e+00,\n", + " -8.13781768e-02, -2.12164849e-01, -7.59000540e-01,\n", + " -8.45846087e-02, 1.14407599e+00, 5.11052907e-01,\n", + " -2.53462661e-02, 3.29225183e-01, 7.98780173e-02,\n", + " 1.52638450e-01, 1.71662383e-02, 3.12455088e-01,\n", + " 6.05457783e-01, -1.28778839e+00, -1.95252433e-01,\n", + " 3.18785191e-01, -2.32751846e-01, -3.18163395e-01,\n", + " -7.39511967e-01, -3.81512552e-01, -8.50947499e-01,\n", + " 5.33075869e-01, -1.11544982e-01, 8.55263054e-01,\n", + " 6.49776101e-01, 1.49718777e-03, 4.58753519e-02,\n", + " 2.20101550e-01, -2.06862479e-01, 1.93862110e-01,\n", + " -4.55962829e-02, 1.62311360e-01, -1.22888446e-01,\n", + " -6.22393847e-01, -5.14300346e-01, -3.74385148e-01,\n", + " 2.97648460e-02, -1.28193855e-01, -4.52808440e-02,\n", + " 1.79111734e-01, -1.64068222e-01, 1.09767902e+00,\n", + " 8.12494576e-01, 1.63273662e-02, -3.37423459e-02,\n", + " -4.31670517e-01, -6.05841316e-02, -8.59659314e-01,\n", + " 6.76236033e-01, 8.02611530e-01, -1.15850784e-01,\n", + " -7.76059210e-01, 6.73852935e-02, 9.36898410e-01,\n", + " -4.36842650e-01, 2.49793112e-01, -4.97393638e-01,\n", + " -1.22891903e+00, -3.73049557e-01, -1.58137381e-01,\n", + " 1.11660138e-01, -9.38799456e-02, -7.56274536e-02,\n", + " -3.11287969e-01, 5.44522107e-01, 4.31037158e-01,\n", + " -8.47006321e-01, 2.66598105e-01, -2.63117701e-01,\n", + " -7.06217512e-02, 1.95836142e-01, -8.46600235e-02,\n", + " -1.25479937e-01, -6.92688107e-01, -2.75942773e-01,\n", + " 3.91709328e-01, -9.37176883e-01, 6.68315068e-02,\n", + " -8.16605836e-02, -7.95550048e-01, 6.49035335e-01,\n", + " -7.29315579e-02, 2.61112183e-01, -2.79434085e-01,\n", + " -3.27584863e-01, -1.50895739e+00, 3.88358861e-01,\n", + " -1.92886114e-01, 3.71287093e-02, -1.24542326e-01,\n", + " -6.64244056e-01, 2.84797281e-01, -5.91438293e-01,\n", + " 4.45769846e-01, 7.57012665e-01, 4.16579135e-02,\n", + " -3.29908311e-01, -1.62908027e-03, -5.15959561e-01,\n", + " 2.01188058e-01, 5.61454356e-01, -5.31464040e-01,\n", + " -7.86023915e-01, 4.45673689e-02, -5.25128603e-01,\n", + " -3.81138653e-01, 2.45867357e-01, -2.48636931e-01,\n", + " -6.03981853e-01, -9.35693160e-02, 6.09191358e-01,\n", + " -4.95786697e-01, 6.03238702e-01, -6.51396811e-02,\n", + " -4.00466956e-02, -3.00330520e-01, 5.67511439e-01,\n", + " -1.70054927e-01, 9.57134962e-01, -2.50310808e-01,\n", + " 2.68392701e-04, 3.25421542e-01, 2.05011830e-01,\n", + " 2.14228496e-01, 1.01949364e-01, 7.68959895e-03,\n", + " -5.22058547e-01, -4.71823692e-01, -4.83808935e-01,\n", + " -2.70951957e-01, -6.15776420e-01, -1.62767842e-02,\n", + " -5.29678881e-01, 4.21315998e-01, -5.36458015e-01,\n", + " 1.76220790e-01, -2.52778947e-01, -4.11402613e-01,\n", + " 5.68708360e-01, -5.64504862e-01, 2.16655046e-01,\n", + " -2.15020418e-01, 7.37134740e-02, 3.31839323e-01,\n", + " -7.06077158e-01, -2.85681099e-01, -5.59505634e-02,\n", + " -9.29913297e-02, 9.93582383e-02, -1.82057068e-01,\n", + " 1.84191577e-02, 6.62538588e-01, -7.68459961e-02,\n", + " -1.00143063e+00, 5.30541658e-01, 3.36283088e-01,\n", + " -2.84568220e-01, 5.61254442e-01, -1.06265867e+00,\n", + " -5.52350581e-01, -4.22791354e-02, 1.65857390e-01,\n", + " -1.04784817e-01, -5.57027340e-01, 7.07248971e-02,\n", + " -2.06253752e-02, -1.27910435e-01, 5.68325818e-01,\n", + " -1.74500793e-01, -4.43062894e-02, -8.34029615e-01,\n", + " -1.48845777e-01, -3.87068033e-01, 5.03566980e-01,\n", + " -3.87898743e-01, -3.07183236e-01, -1.09398448e+00,\n", + " 5.98997585e-02, -3.48306298e-01, -7.11548805e-01,\n", + " -9.95057672e-02, -3.26817751e-01, -8.24246347e-01,\n", + " 2.73556590e-01, -8.29036289e-04, 5.50079346e-02,\n", + " 2.98535638e-03, 8.92536700e-01, 4.86246616e-01,\n", + " -6.59143388e-01, -2.29673028e-01, -9.88210365e-02,\n", + " -5.70889711e-01, 3.55715215e-01, -2.23527819e-01,\n", + " 4.59608912e-01, -4.25582707e-01, -1.28090214e-02,\n", + " 1.18520427e+00, 4.82029319e-01, 1.05407551e-01,\n", + " -4.13576573e-01, -1.32860526e-01, 9.72317576e-01,\n", + " 2.56357104e-01, -6.94338381e-01, 2.12102339e-01,\n", + " 3.48529994e-01, 5.10463528e-02, 4.77476954e-01,\n", + " -8.15266311e-01, 5.84455803e-02, 1.85975492e-01,\n", + " -9.83564794e-01, -2.20309541e-01, 7.58598894e-02,\n", + " -4.58962142e-01, 8.40839505e-01, -2.28646308e-01,\n", + " -5.73263705e-01, 5.19387722e-01, -1.65958405e-02,\n", + " 9.65028703e-01, 9.96863395e-02, -4.45436649e-02,\n", + " -1.75610185e-01, -6.53991282e-01, 1.57964885e-01,\n", + " -1.02419756e-01, 6.81146681e-01, 2.93125182e-01,\n", + " -3.63904148e-01, 5.78396082e-01, 5.23845613e-01,\n", + " 1.77954972e-01, 2.85155863e-01, -3.29673737e-01,\n", + " 6.04148626e-01, -1.05047971e-02, -2.03485712e-01,\n", + " -1.05524056e-01, 5.41379869e-01, -7.54720688e-01,\n", + " -1.34059668e-01, -5.70307076e-01, 3.52837324e-01,\n", + " 1.05035387e-01, -9.35749412e-01, 4.83274907e-01,\n", + " -5.87091856e-02, -2.43348286e-01, -3.62254977e-02,\n", + " -8.87656748e-01, 8.75917673e-01, 2.47823104e-01,\n", + " -1.10078879e-01, -2.29396135e-01, -5.16917944e-01,\n", + " -3.79715204e-01, -3.43899459e-01, 1.91339850e-01,\n", + " -1.87860951e-01, 1.54800817e-01, 1.11966538e+00,\n", + " 7.55696416e-01, 9.92177010e-01, 3.82487416e-01,\n", + " 8.18712115e-01, -1.50497913e-01, 5.21203279e-01,\n", + " 1.04456425e+00, 5.14145136e-01, 6.60219193e-01,\n", + " -7.62334317e-02, -1.70874059e-01, 1.66741312e-01,\n", + " -1.89027533e-01, 4.28315878e-01, 4.58996087e-01,\n", + " -2.63590038e-01, 4.31200229e-02, 7.57667944e-02,\n", + " -2.72749960e-01, 1.97574452e-01, -3.27033222e-01,\n", + " -3.48716378e-01, -5.64169049e-01, -1.49454281e-01,\n", + " -5.14919639e-01, -1.23587593e-01, 4.10169572e-01], dtype=float32), memmap([-0.2667979 , 0.3749466 , -0.89756685, -0.15003446, -0.12159956,\n", + " 0.27907562, -0.07491107, 0.0786643 , 0.01469255, 0.16598403,\n", + " -0.4147836 , 0.49113876, 0.2635578 , -0.2811022 , 0.34845364,\n", + " 0.16244689, 0.11432644, 0.19593623, 0.51794255, -0.41298008,\n", + " -0.20440288, 0.7449824 , 0.5584548 , -0.0655204 , -0.21947342,\n", + " -0.28015307, 0.10782687, -0.16704169, 0.34759033, -0.91738343,\n", + " 0.20969294, -0.10013342, 0.06503823, 0.54157144, 0.5357598 ,\n", + " 0.25873965, 0.08040061, 0.48877573, 0.19679546, -0.07128011,\n", + " 0.11445891, -0.2126826 , -0.38717222, 0.10845763, -0.84327596,\n", + " 0.31324887, 0.70621663, 0.21512374, -0.19457386, -0.46264848,\n", + " 0.2531242 , 0.75307906, -0.0068641 , -0.24179532, -0.19053848,\n", + " -0.6168442 , -0.27079344, 0.4733155 , 0.345193 , 0.57295483,\n", + " -0.4219888 , -0.4226754 , -0.55016834, 0.0222649 , -0.13253921,\n", + " -0.32356736, 0.14870028, 0.379583 , 0.61650115, -0.2281913 ,\n", + " 0.4950572 , -0.4592845 , 0.26601952, -0.19318284, 0.3861594 ,\n", + " 0.09539194, 0.3654903 , -0.08985546, 0.6974245 , -0.9195221 ,\n", + " -0.13683097, -0.01253374, 0.32308227, -0.29303265, 0.08099082,\n", + " 0.37374932, -0.49024108, -0.43718404, 0.24704526, -0.04140236,\n", + " -0.10218674, 0.00552464, -0.03899366, 0.20397826, -0.1726191 ,\n", + " 0.7319972 , -0.00796161, 0.49670342, -0.8089268 , -0.11397081,\n", + " -0.3855427 , 0.1934496 , -0.40746948, 0.89473134, 0.3858966 ,\n", + " -0.5096139 , -0.27555233, -0.51790935, -0.06845395, -0.8074079 ,\n", + " -0.24383327, -0.33484063, -0.31668407, -0.27017355, 0.02669877,\n", + " 0.36098382, -0.06175789, -0.55105895, 0.15974535, -0.00322422,\n", + " 0.17453118, 0.60189015, -0.46416098, -0.18525137, 0.00937373,\n", + " -0.31996584, -0.13985337, -0.89975506, -0.04869437, -0.24120435,\n", + " -0.07885868, -0.21631682, 0.47748616, 0.26504073, 0.24413316,\n", + " 0.72621804, -0.3925319 , 0.13227981, 0.04513197, -0.6945755 ,\n", + " -0.30546212, -0.2308366 , -0.5779431 , -0.0046891 , 0.22260346,\n", + " -0.32920268, -0.5717821 , 0.6844353 , -0.42350432, 0.20969458,\n", + " -0.40051877, -0.8426971 , 0.14571774, 0.29099345, 0.00247403,\n", + " 0.58298844, 0.21019104, -0.5230118 , -0.58147806, 0.297247 ,\n", + " -0.5310685 , -0.47542015, -0.9114739 , -0.09048624, 0.8912709 ,\n", + " 0.4660829 , 0.34766895, -0.04761276, -0.7218321 , -0.2544436 ,\n", + " -0.2554883 , 0.66373587, -0.1493637 , -1.1227006 , -0.37853548,\n", + " -0.24645633, 0.35066214, 0.6597412 , 0.31579217, -0.06571189,\n", + " -0.08280214, -0.3725052 , -0.12233274, -0.5590743 , -0.3211579 ,\n", + " 0.18520989, -0.5211027 , -0.47204638, -0.546364 , -0.24626294,\n", + " 0.6149469 , -0.16585867, -0.46050265, 0.0413564 , 0.08924129,\n", + " 0.17780267, -0.14476103, -0.13129376, -0.28097108, 0.02820608,\n", + " -0.06235136, 0.3309698 , 0.29579416, 0.21357049, -0.01057897,\n", + " 0.21775913, -0.2852964 , -0.38591367, -0.46220717, 0.11700135,\n", + " -0.13427368, 0.03655379, -0.4543714 , -0.56214553, -0.08274684,\n", + " 0.01338071, -0.5934822 , -0.19993255, 0.02580888, -0.39230388,\n", + " 0.66257375, 0.06067974, 0.06883883, 0.3320525 , -0.43048018,\n", + " 0.31624526, -0.7736118 , -0.32166985, -0.39382765, -0.1208069 ,\n", + " -0.39507195, 0.4151158 , -0.5645091 , 0.03557009, 0.35967183,\n", + " -0.61316556, 0.09756409, -0.05731056, 0.09826104, 0.31541476,\n", + " 0.16111852, 0.48744655, 0.8703625 , -0.22187686, -0.34094384,\n", + " -0.26616335, -0.0727631 , -0.06051019, -0.29607385, -0.5936896 ,\n", + " 0.11360385, -0.30494767, 0.64103335, -0.2807543 , -0.14467628,\n", + " -0.64673364, -0.15070532, 0.07100442, -0.2756154 , -0.24231306,\n", + " 0.69642633, -0.10316403, -0.20842758, 0.5044346 , 0.17740019,\n", + " 0.48555115, -0.09680709, -0.284525 , 0.2537324 , -0.10321087,\n", + " -0.6275563 , -0.38710263, 0.147656 , -0.78472 , -0.41905057,\n", + " -0.17988347, 0.13475105, -0.22709912, -0.7012012 , 0.367505 ,\n", + " -0.02896547, 0.07811635, -0.38623673, 0.6490862 , 0.52117383,\n", + " -0.07196162, 0.13112214, 1.2304472 , 0.1755052 , -0.7939 ,\n", + " -0.5070755 , -0.10802461, 0.04582427, 0.15976465, -0.46455494,\n", + " 0.6094883 , 0.84367365, -1.041498 , -0.21344689, 0.4983118 ],\n", + " dtype=float32), memmap([-1.42130221e-03, 2.38174992e-03, 1.24517677e-03,\n", + " -2.34821555e-03, 2.41029265e-04, 2.85352790e-03,\n", + " -1.25018042e-03, -1.44139689e-03, -2.22898251e-03,\n", + " 1.03630227e-04, 1.96171924e-03, -3.32258292e-03,\n", + " 7.17984047e-04, -2.57692812e-03, -1.49235327e-03,\n", + " -1.51408277e-03, -2.65023229e-03, -6.54594114e-05,\n", + " 1.15375919e-03, 2.31183926e-03, 2.72760005e-03,\n", + " 2.00115354e-03, -2.83722789e-03, -1.37252489e-03,\n", + " 2.65910709e-03, 1.11782865e-03, 1.20488010e-04,\n", + " -1.85947493e-03, 1.50537968e-03, 1.19750260e-03,\n", + " -1.80781924e-03, -6.80491154e-04, -1.91954616e-03,\n", + " 5.00361130e-05, -3.11543141e-03, 7.32327288e-04,\n", + " -2.98802857e-04, 2.02542474e-03, -2.43896805e-03,\n", + " -1.62825501e-03, 7.33233290e-04, 1.67586084e-03,\n", + " -1.95739744e-03, 2.81854463e-03, -1.79047743e-03,\n", + " -3.02640279e-03, -3.24069173e-03, 2.76300102e-03,\n", + " -8.05737160e-04, -4.58416151e-04, -5.43904316e-05,\n", + " 2.24526576e-03, 6.38412661e-04, -3.15960497e-03,\n", + " -1.20823062e-03, 1.13550667e-03, -2.02600006e-03,\n", + " -5.69566910e-04, 1.62968715e-03, -1.84756832e-03,\n", + " 1.10534823e-03, -1.37763983e-03, -8.88252282e-04,\n", + " 1.52891874e-03, -1.65367126e-03, 1.89055677e-03,\n", + " 2.05945736e-03, -1.70655095e-03, 2.37208535e-03,\n", + " -2.68623745e-03, 6.34630502e-04, 1.61186536e-03,\n", + " -1.10749563e-03, 2.18532886e-03, -2.84176110e-03,\n", + " 2.94567272e-03, -1.34932681e-03, -1.04254798e-03,\n", + " 3.13965953e-03, 2.08775993e-04, -3.68304260e-04,\n", + " 2.78590922e-03, -2.54431483e-03, 1.00146770e-03,\n", + " 1.53952441e-03, 2.74594710e-03, -2.19455408e-03,\n", + " -1.96484243e-03, -2.65759620e-04, -2.81069684e-03,\n", + " 1.83106738e-03, 2.73910840e-03, -2.73607584e-04,\n", + " -2.40051118e-03, -1.62424243e-04, -2.18225876e-03,\n", + " -1.39951066e-03, -3.07256385e-04, -1.12695689e-03,\n", + " 2.47037341e-03, 1.58367399e-03, 7.99023313e-04,\n", + " 7.74460612e-04, -3.31327925e-03, 3.23180831e-03,\n", + " 1.73020526e-03, 3.05634807e-03, -1.11875532e-04,\n", + " 1.91298488e-03, -4.61374904e-04, 3.23811290e-03,\n", + " -1.26723049e-03, -1.67024694e-03, -6.73486385e-04,\n", + " 2.74710171e-03, -1.90696085e-03, 1.64354639e-03,\n", + " -3.79534555e-04, -2.41184700e-03, 1.03978789e-03,\n", + " -3.42861807e-04, 4.11605841e-04, -5.15940192e-04,\n", + " -1.56709668e-03, 3.28622013e-03, 9.34692216e-04,\n", + " 2.07257268e-04, 1.55208749e-03, 5.99195948e-04,\n", + " -3.06850602e-03, -2.77689379e-03, 1.62105635e-03,\n", + " 3.07557499e-03, 3.07846058e-04, 2.88952747e-03,\n", + " 2.83316919e-03, -2.00447650e-03, -2.83231726e-03,\n", + " -1.30103424e-03, -4.94665292e-04, -1.20330171e-03,\n", + " -1.09710451e-03, 1.68443436e-03, -1.49152603e-03,\n", + " -2.65267445e-03, 6.54060859e-04, 3.21367336e-03,\n", + " -4.51773813e-04, -6.75773626e-05, 1.31119567e-03,\n", + " 1.45907479e-03, 3.03499540e-03, -8.75092344e-04,\n", + " -2.39787903e-03, 1.52759708e-03, 3.24499770e-03,\n", + " 1.66758383e-03, 2.00525130e-04, -2.73621408e-03,\n", + " 8.52100056e-05, -2.67055514e-03, 3.25997680e-05,\n", + " -1.74036180e-03, 3.85073829e-04, 1.01741156e-04,\n", + " 3.00803827e-03, -3.09451181e-03, 3.00474814e-03,\n", + " -2.31035147e-03, -7.08529144e-04, -2.74600508e-03,\n", + " 2.91723805e-03, -1.48215296e-03, 2.87117949e-03,\n", + " -1.73057476e-03, 3.29495501e-03, -9.21870873e-04,\n", + " 1.29540998e-03, 1.41467806e-03, 2.43650191e-03,\n", + " 4.12611174e-04, -2.37892778e-03, 3.25521082e-03,\n", + " -1.91173714e-03, 2.04947079e-03, 1.28327214e-04,\n", + " -8.10249650e-04, 8.82379245e-05, -6.52010436e-04,\n", + " -5.78848529e-04, -2.10685655e-03, 2.73401896e-03,\n", + " 3.31636751e-03, 7.25712802e-04, -1.34285772e-03,\n", + " -1.39419874e-03, 1.73206883e-03, -2.65725446e-03,\n", + " 2.48098210e-03, -1.42678816e-03, 2.81653716e-03,\n", + " -2.24212010e-04, 1.02103550e-04, -2.15610908e-03,\n", + " 1.67610007e-03, -1.09963014e-03, -2.50985217e-03,\n", + " 3.04133026e-03, -1.12303096e-04, -1.56798447e-03,\n", + " -1.23135489e-03, 3.31483525e-03, 9.79717588e-04,\n", + " -9.84377810e-04, 2.09689466e-03, 3.27799562e-03,\n", + " 2.80438736e-03, 2.25449633e-03, 1.91352924e-03,\n", + " -1.56609211e-04, 2.20002979e-03, 1.61832653e-03,\n", + " 1.10309361e-03, 2.94618215e-03, 3.15250945e-03,\n", + " 3.30603914e-03, 3.90014640e-04, 8.06477852e-04,\n", + " 2.11607781e-03, -4.25108272e-04, 1.17784424e-03,\n", + " 2.22960790e-03, -1.10850658e-03, 1.18133938e-03,\n", + " -2.74253689e-04, -3.11632478e-03, 2.93780962e-04,\n", + " -3.08097433e-03, -1.40735312e-04, -2.36429693e-03,\n", + " -1.55830383e-03, 3.17985145e-03, -2.81843194e-03,\n", + " -9.90104672e-05, -2.90376344e-03, -6.57624390e-04,\n", + " 2.09921435e-03, 1.89649744e-03, -1.55013404e-04,\n", + " -3.04711331e-03, 8.65697861e-04, -2.59963283e-03,\n", + " 9.16221936e-04, -6.69759116e-04, -9.55786731e-04,\n", + " -3.23035475e-03, -1.00698392e-03, 1.82729564e-03,\n", + " 3.13289172e-04, 2.47582048e-03, 1.90794782e-03,\n", + " 1.50815409e-03, -2.09727281e-04, 3.19074560e-03,\n", + " 2.32732063e-03, 7.41147203e-04, 1.45158765e-03,\n", + " 2.24720151e-03, -5.96387370e-04, 6.09900977e-04,\n", + " -1.63188134e-03, -5.59973705e-04, 3.22899176e-03,\n", + " 3.16073350e-03, -3.99621313e-05, 2.88681826e-03,\n", + " -2.75064865e-03, 1.90985040e-03, -8.26745818e-04,\n", + " 2.06214594e-04, 2.47697346e-03, -2.49768491e-03,\n", + " 2.79004965e-03, -2.54344137e-04, 9.50242684e-04,\n", + " 2.58665485e-03, -4.28739382e-04, -7.97970279e-04,\n", + " -1.45680027e-03, -2.14793207e-03, -2.79106782e-03,\n", + " -3.04761971e-03, 2.38902657e-03, 1.93774060e-03,\n", + " -2.17918633e-03, 6.22192223e-04, -1.47922989e-03,\n", + " 1.21099234e-03, 3.09349690e-03, -3.30042443e-03], dtype=float32), memmap([-0.006602, -0.075166, 0.001149, -0.163136, 0.198387, 0.484499,\n", + " 0.02684 , -0.175877, 0.259297, 0.038691, -0.353918, 0.39535 ,\n", + " 0.025494, 0.297076, 0.549035, 0.092782, -0.320545, 0.392224,\n", + " 0.448655, 0.360667, 0.136805, 0.37307 , -0.263148, 0.41054 ,\n", + " -0.185782, -0.290757, 0.120069, -0.122006, -0.092801, 0.232833,\n", + " 0.209595, 0.061064, 0.22067 , 0.577195, -0.024972, 0.095167,\n", + " 0.014087, -0.278988, 0.007332, 0.123035, 0.371756, -0.040782,\n", + " -0.441117, -0.468838, -0.361388, -0.30244 , 0.434957, 0.362782,\n", + " 0.474381, -0.178703, -0.142626, -0.3064 , -0.205795, -0.352825,\n", + " -0.30787 , 0.272221, -0.593899, 0.047962, -0.14825 , 0.084598,\n", + " 0.081805, 0.025516, 0.138456, -0.125975, -0.504296, 0.042631,\n", + " -0.233204, 0.042595, 0.358158, 0.195504, 0.499606, -0.45384 ,\n", + " -0.066867, 0.178763, 0.052656, -0.127102, -0.012883, -0.153418,\n", + " 0.071208, -0.278127, 0.090991, 0.046897, -0.438257, -0.434123,\n", + " 0.331802, 0.234515, -0.081473, -0.130681, 0.331894, 0.696995,\n", + " 0.172437, 0.066959, 0.065245, 0.347781, -0.766462, 0.350468,\n", + " 0.180391, 0.243363, 0.117465, -0.006797, -0.119126, -0.561612,\n", + " -0.12918 , -0.076635, -0.189279, 0.126653, 0.008146, 0.329507,\n", + " 0.15653 , -0.089381, -0.063073, -0.087322, -0.13722 , -0.169851,\n", + " 0.382761, 0.277981, -0.018738, -0.005521, 0.149237, 0.237706,\n", + " -0.382076, 0.599922, -0.001315, -0.130638, 0.194152, 0.28099 ,\n", + " -0.389678, -0.12985 , -0.083269, -0.269256, -0.096373, 0.41281 ,\n", + " 0.293934, 0.086649, -0.151503, -0.066392, -0.12008 , 0.099597,\n", + " 0.270729, -0.293723, -0.097039, -0.188347, 0.657276, -0.455126,\n", + " -0.186361, 0.092156, 0.372752, 0.109479, 0.148211, -0.048654,\n", + " -0.099472, -0.029838, -0.08087 , -0.132649, 0.062597, 0.281902,\n", + " 0.369509, -0.01792 , -0.095706, -0.351048, 0.204692, -0.07012 ,\n", + " 0.446039, 0.229067, -0.024537, -0.131476, -0.061256, -0.201883,\n", + " -0.26892 , 0.003473, -0.157954, -0.154422, -0.03607 , -0.1878 ,\n", + " -0.399791, -0.469536, 0.284099, 0.35143 , -0.105687, -0.014378,\n", + " -0.039035, -0.725912, -0.280702, -0.20864 , -0.130502, 0.08072 ,\n", + " -0.32983 , -0.241095, -0.217973, -0.044493, 0.391517, 0.028259,\n", + " 0.068577, 0.273675, -0.073133, 0.685675, -0.044142, 0.215364,\n", + " -0.353541, -0.226001, 0.56113 , -0.223919, 0.201829, 0.424032,\n", + " -0.073428, -0.319779, 0.315805, 0.010084, -0.054226, 0.070361,\n", + " -0.278193, -0.287772, -0.071202, -0.281988, -0.051047, 0.10076 ,\n", + " -0.001342, -0.289055, 0.294549, -0.312136, 0.269644, 0.2131 ,\n", + " -0.204808, 0.032006, 0.049709, 0.753598, -0.200199, -0.505215,\n", + " -0.138903, 0.421778, -0.010051, 0.293845, -0.055597, 0.37429 ,\n", + " 0.107241, -0.363333, -0.021754, 0.195829, -0.046773, -0.264128,\n", + " 0.267754, -0.077812, 0.293483, 0.012875, -0.125425, 0.112455,\n", + " -0.070708, 0.119458, -0.094418, -0.080395, 0.362828, -0.478005,\n", + " 0.133972, -0.053716, 0.044803, 0.015329, 0.015206, 0.371092,\n", + " -0.16367 , 0.095247, 0.034198, 0.167318, -0.077584, 0.405679,\n", + " -0.203613, -0.297246, -0.400199, -0.011515, 0.292775, -0.020522,\n", + " -0.155199, -0.026813, 0.266498, 0.00939 , 0.409364, 0.421907,\n", + " -0.108609, -0.130548, -0.196198, 0.776917, -0.229444, -0.168004,\n", + " -0.230714, 0.106663, -0.132057, 0.014592, -0.254166, 0.6262 ,\n", + " 0.185669, 0.35309 , 0.100436, -0.220218, 0.327288, -0.038645,\n", + " -0.006443, -0.002184, 0.271607, -0.007766, 0.086033, 0.278645],\n", + " dtype=float32), memmap([ 0.053383, 0.073492, -0.270204, -0.112311, -0.015201, -0.119407,\n", + " -0.123077, -0.416428, 0.247544, -0.460181, -0.061427, 0.082268,\n", + " 0.0245 , 0.526491, 0.07706 , 0.178837, 0.017524, -0.325212,\n", + " -0.103839, 0.208752, -0.111467, 0.521546, -0.272528, 0.316571,\n", + " -0.173308, -0.201087, -0.511194, -0.14138 , 0.046122, -0.320015,\n", + " 0.076297, -0.069521, -0.202973, 0.314899, 0.430943, 0.046034,\n", + " 0.040279, 0.133066, -0.404739, 0.275659, 0.125859, -0.043163,\n", + " -0.303218, -0.151125, -0.17099 , 0.145366, -0.016345, 0.327239,\n", + " -0.084561, 0.063304, -0.302705, 0.35996 , 0.13609 , 0.297326,\n", + " -0.442463, 0.398219, -0.202161, -0.135665, 0.003838, -0.19574 ,\n", + " 0.219862, 0.334003, -0.123555, -0.393358, -0.332534, -0.241107,\n", + " -0.244846, -0.095374, -0.223911, 0.140613, 0.243508, -0.251703,\n", + " -0.169586, 0.441082, -0.188261, -0.141995, 0.139392, -0.200071,\n", + " 0.072888, -0.390133, 0.181688, 0.102912, -0.155725, -0.032124,\n", + " -0.158452, -0.380874, -0.022003, 0.000825, -0.157164, 0.290693,\n", + " 0.053128, -0.189939, 0.094352, -0.051382, -0.539181, 0.373206,\n", + " -0.027801, -0.253818, 0.255667, -0.112367, -0.115258, -0.086933,\n", + " 0.129798, 0.204307, 0.182043, 0.057721, 0.141005, -0.207975,\n", + " 0.042052, 0.260083, 0.232531, -0.196347, -0.221566, 0.399496,\n", + " 0.463933, 0.008165, -0.016465, -0.023569, 0.637303, -0.003511,\n", + " -0.228927, 0.338618, -0.052549, 0.147541, 0.281863, -0.203277,\n", + " -0.192872, -0.012181, -0.135448, -0.045823, 0.081765, 0.264273,\n", + " 0.205219, -0.126189, -0.219797, 0.065945, -0.159421, -0.395857,\n", + " 0.386458, 0.020568, 0.111083, 0.060885, -0.045118, 0.05667 ,\n", + " -0.169237, -0.341259, -0.152445, 0.179601, 0.407014, 0.291961,\n", + " 0.108068, -0.285588, -0.103598, 0.272088, 0.134827, 0.195525,\n", + " -0.234014, -0.360831, 0.113704, -0.136102, -0.079222, 0.001526,\n", + " -0.369491, 0.090944, 0.248385, -0.226031, 0.192442, -0.145407,\n", + " 0.207867, -0.273713, 0.265314, 0.181349, 0.05647 , -0.207678,\n", + " -0.315802, -0.283201, 0.325653, -0.011431, -0.003633, -0.152927,\n", + " -0.171762, -0.493103, 0.166642, -0.134368, -0.236366, 0.437717,\n", + " -0.135259, 0.313016, -0.134249, 0.105565, 0.048269, -0.181119,\n", + " 0.268067, -0.031222, -0.040579, 0.072611, 0.087346, -0.012795,\n", + " -0.114391, 0.006483, -0.117349, -0.111206, 0.119072, -0.015499,\n", + " 0.485414, -0.172202, 0.165612, -0.252072, 0.27653 , 0.072652,\n", + " -0.319515, -0.182193, 0.340836, -0.159598, -0.171857, -0.106253,\n", + " -0.083535, 0.160682, -0.331976, -0.143612, 0.190623, 0.068988,\n", + " -0.308722, 0.246508, 0.18682 , 0.486264, -0.166721, -0.051722,\n", + " -0.127577, -0.068829, -0.015767, -0.067029, -0.227183, -0.312123,\n", + " 0.155479, -0.033492, -0.130397, 0.210929, -0.347147, 0.000737,\n", + " 0.010076, 0.237798, 0.044538, 0.332377, -0.315508, -0.063583,\n", + " -0.128678, 0.141376, 0.274707, -0.17532 , 0.224805, -0.104147,\n", + " -0.15918 , -0.120486, -0.120665, -0.180094, -0.365813, 0.239685,\n", + " 0.079982, 0.115886, 0.270441, 0.187208, -0.130483, 0.098057,\n", + " -0.308018, -0.147003, 0.029404, -0.254033, 0.109873, -0.083851,\n", + " 0.069856, -0.160129, 0.373921, 0.008986, 0.061412, 0.110944,\n", + " 0.402177, 0.077325, 0.052001, 0.42721 , 0.075693, -0.008431,\n", + " -0.116177, -0.237115, 0.238036, -0.021828, -0.089541, 0.641381,\n", + " 0.166248, 0.036778, 0.385047, 0.210358, 0.049141, 0.071761,\n", + " 0.005191, 0.132525, 0.258788, -0.447342, -0.102826, 0.04786 ],\n", + " dtype=float32), memmap([-7.40781601e-04, -2.97785830e-03, 1.09634723e-03,\n", + " 2.01167096e-03, 2.50855600e-03, 4.69167222e-04,\n", + " -1.75643363e-03, -1.82502344e-03, -9.07284440e-04,\n", + " 1.41037698e-03, -2.51988973e-03, 2.50449823e-03,\n", + " 2.35895230e-03, 2.68338923e-03, -7.21632619e-04,\n", + " -3.11706704e-03, 3.00037069e-03, -4.62307129e-04,\n", + " 2.23700353e-03, -1.70352461e-04, -1.20803993e-03,\n", + " 1.99531717e-03, 2.44841818e-03, -2.63425359e-03,\n", + " -1.32939662e-03, -1.50320376e-03, -1.49024569e-03,\n", + " -1.35407445e-03, -3.31407716e-03, -1.48428918e-03,\n", + " 2.07411614e-03, -2.69011664e-03, -2.59665260e-03,\n", + " 3.92658723e-04, 7.97608693e-04, -1.60571741e-04,\n", + " -1.83651445e-03, -4.50196269e-04, -2.10637646e-03,\n", + " 7.48967344e-04, 4.96278575e-04, -2.84481607e-03,\n", + " 2.42890907e-03, 2.61640549e-03, -2.27338402e-03,\n", + " -2.60312553e-03, 3.04569094e-03, -1.00832945e-03,\n", + " 1.72199414e-03, -9.62319376e-04, -1.82056590e-03,\n", + " -2.00595614e-03, -4.99733316e-04, -2.32812413e-03,\n", + " 3.31133767e-03, -1.35303498e-03, -2.01454549e-03,\n", + " -2.95524998e-03, 3.95817769e-04, -2.21528215e-04,\n", + " -1.02585717e-03, 6.97676369e-05, 3.26557481e-03,\n", + " -2.08826154e-03, -1.94974104e-03, 3.17555736e-03,\n", + " 8.43954098e-04, 2.71182071e-04, 1.86951156e-03,\n", + " 3.09326802e-03, 2.95463949e-03, -2.28573638e-03,\n", + " 3.21586686e-03, -3.25555727e-03, 2.29133200e-03,\n", + " -3.13338358e-03, 1.83269498e-03, -4.16183466e-04,\n", + " -2.52584135e-03, -6.78466982e-04, -1.17397307e-04,\n", + " 6.97644573e-05, -1.36936747e-03, 2.65385956e-03,\n", + " 2.91726668e-03, 1.15984841e-03, -9.18834237e-04,\n", + " -2.95779854e-03, 1.21752417e-03, -3.03478725e-03,\n", + " -2.51075672e-03, 1.25264889e-03, 2.06942949e-03,\n", + " -1.61821686e-03, -1.76460110e-03, 1.81647774e-03,\n", + " 2.30930327e-03, -1.19944416e-04, -4.88708785e-04,\n", + " -1.03467866e-03, 8.95359495e-04, 5.25205920e-04,\n", + " -2.13570194e-03, 1.23163860e-03, -2.04627286e-03,\n", + " 1.51338254e-03, -2.22705211e-03, -2.78626522e-03,\n", + " -1.85014168e-03, -2.73991749e-03, 2.73762550e-03,\n", + " 8.45317845e-04, -8.46811919e-04, -2.32393504e-03,\n", + " 1.42291700e-03, 2.69365776e-03, -6.87670690e-05,\n", + " 5.21903043e-04, -5.26952732e-04, -2.40260764e-04,\n", + " -1.45322084e-03, -2.07939860e-03, 9.73271555e-04,\n", + " -2.58003478e-03, 5.85468602e-04, 6.96404750e-05,\n", + " -1.38336420e-03, 2.47974385e-04, 2.15718360e-03,\n", + " 2.54814932e-03, -2.31908727e-03, -3.18513322e-03,\n", + " -1.20905798e-03, 4.75575129e-04, 2.91029853e-03,\n", + " 1.98696624e-03, -3.20814690e-03, -6.06226153e-04,\n", + " -1.75738253e-03, -2.13700370e-03, -3.16110766e-03,\n", + " 1.23885239e-03, -1.67235930e-03, 2.23832135e-03,\n", + " -2.48917984e-03, 2.01486819e-03, -2.44806288e-03,\n", + " 1.51673320e-03, -2.13748380e-03, 2.73243734e-03,\n", + " -1.73373066e-03, 2.27546296e-03, 2.51394440e-03,\n", + " -1.08179251e-04, 2.38481839e-03, -3.37402831e-04,\n", + " -3.67454690e-04, 2.81595229e-03, -1.37516658e-03,\n", + " 3.25439940e-03, 2.82448460e-03, -1.25906861e-03,\n", + " 2.98994058e-03, 2.25792732e-03, 3.11688194e-03,\n", + " -2.14806478e-03, -2.93606136e-04, -2.85799825e-03,\n", + " 2.27316213e-03, -2.70277821e-03, -3.18831834e-03,\n", + " -1.17647729e-03, -1.94127881e-03, 2.65013054e-03,\n", + " -2.30203470e-04, -1.61143148e-03, -2.17062957e-03,\n", + " -2.72799493e-03, 5.05960779e-04, 5.82876208e-04,\n", + " 1.28226436e-03, 1.75478775e-03, -3.09155066e-03,\n", + " 7.67432037e-04, -3.31712002e-03, -3.20149818e-03,\n", + " -3.86148284e-04, -2.27366597e-03, -2.50913459e-03,\n", + " 2.19465257e-03, 2.84764450e-03, -1.61687855e-03,\n", + " -4.70693893e-04, 9.03052511e-04, -1.85302179e-03,\n", + " 3.20684188e-03, 1.40935101e-03, -2.15042266e-03,\n", + " -9.72978247e-04, -2.25317315e-03, -1.38779476e-04,\n", + " -3.35383411e-05, 2.70311837e-03, 1.02994684e-03,\n", + " 1.62958622e-03, -9.99152660e-04, 1.54867012e-03,\n", + " 8.04136565e-04, 6.98607764e-04, 2.65373476e-03,\n", + " -1.38455862e-03, -7.02715712e-04, -7.41919677e-04,\n", + " 3.30323935e-03, -2.63908855e-03, -2.59951362e-03,\n", + " -2.52161338e-03, 5.66647854e-04, 2.78920331e-03,\n", + " -1.70330924e-03, 2.98326020e-04, -9.95922135e-04,\n", + " -1.63932878e-03, -3.00687941e-04, -1.22044480e-03,\n", + " 9.66204796e-04, 2.06423603e-04, 2.64438312e-03,\n", + " 1.04681654e-04, -1.89732632e-03, 3.05886264e-04,\n", + " -2.51937867e-03, 8.45874951e-04, 2.21883785e-03,\n", + " -1.83046664e-04, 1.20234489e-03, -2.40913383e-03,\n", + " 7.41795695e-04, 2.84282770e-03, -2.51527387e-03,\n", + " 1.43079355e-03, 1.10837142e-03, 2.88316095e-03,\n", + " 3.08349845e-03, 2.80134287e-03, -6.38651836e-04,\n", + " -5.02293115e-04, -8.63780209e-04, 2.67924479e-04,\n", + " -1.83217600e-03, -2.38766754e-03, 1.51509128e-03,\n", + " 2.40234527e-04, -5.38373773e-04, -1.02813565e-03,\n", + " 1.01516407e-03, -3.28990305e-03, 1.62476301e-03,\n", + " -9.93626891e-04, 8.32884340e-04, 1.59407535e-03,\n", + " -2.11167335e-05, -7.13266549e-04, -1.87879719e-03,\n", + " 1.25327031e-03, 1.00238167e-03, 1.30741193e-03,\n", + " 2.71972269e-03, 8.10579455e-04, 2.72213621e-03,\n", + " -2.08105892e-03, -3.49671842e-04, -3.25033278e-03,\n", + " -3.00127431e-03, 1.11487391e-03, 2.08006706e-03,\n", + " -2.14912579e-03, -3.07004852e-03, -2.33972142e-03,\n", + " 2.56931316e-03, 1.02430186e-03, 6.26174588e-05,\n", + " 2.76894658e-03, -3.38193582e-04, -4.48341365e-04,\n", + " 2.37894943e-03, 9.71340341e-04, -5.03769726e-04,\n", + " -3.95103300e-04, 5.94902842e-04, -2.44345120e-03,\n", + " -1.95623562e-03, 5.95839811e-04, -2.52583035e-04,\n", + " -2.78549921e-03, -6.86202024e-04, 1.22352201e-03,\n", + " 2.28145043e-03, 2.93496368e-03, 3.42813320e-04], dtype=float32), memmap([ 7.40320325e-01, -2.83897012e-01, -8.65218714e-02,\n", + " -7.53699616e-03, 5.34844920e-02, -1.73295081e-01,\n", + " -1.05863380e+00, -1.43040627e-01, 7.14152813e-01,\n", + " 2.19372272e-01, -6.58537745e-01, 3.88916023e-02,\n", + " 1.93203852e-01, -1.18542679e-01, -1.59912303e-01,\n", + " 3.33625048e-01, 4.06088959e-03, -6.24033630e-01,\n", + " 1.50229439e-01, 6.57853067e-01, -5.46138920e-02,\n", + " 6.93696082e-01, -1.17435910e-01, 2.37015903e-01,\n", + " -4.24165845e-01, 3.87450546e-01, 1.24169566e-01,\n", + " 1.63685948e-01, 6.31892309e-02, -6.02771640e-01,\n", + " 3.16181034e-01, -2.90160954e-01, 5.44466257e-01,\n", + " 2.52188854e-02, 1.88796669e-01, -1.14926748e-01,\n", + " -6.12340868e-01, -5.87539315e-01, -2.15225905e-01,\n", + " -2.59401679e-01, 2.22276688e-01, -1.49561346e-01,\n", + " -1.28631040e-01, -5.74327648e-01, 2.31475875e-01,\n", + " 9.48671848e-02, 3.64173681e-01, 5.20557046e-01,\n", + " -2.07740605e-01, -3.94069493e-01, -2.25630715e-01,\n", + " 8.47125202e-02, 3.45924318e-01, 1.80024296e-01,\n", + " 8.54140744e-02, 2.13610590e-01, -1.60223451e-02,\n", + " 3.08282256e-01, 1.20332681e-01, -5.26686199e-02,\n", + " 4.40952443e-02, -7.56313801e-02, 1.64983958e-01,\n", + " -4.36175764e-01, 5.77491999e-01, 1.18725769e-01,\n", + " -4.37200338e-01, 2.83255339e-01, -4.08824757e-02,\n", + " -3.87505665e-02, 5.04456554e-03, -4.34433699e-01,\n", + " 5.29676303e-02, -5.85066564e-02, 1.73228264e-01,\n", + " 4.90106121e-02, 3.05007458e-01, -3.88809860e-01,\n", + " -2.07598031e-01, 5.13532795e-02, -3.73289138e-01,\n", + " -4.11499441e-02, -9.44332302e-01, -5.46799421e-01,\n", + " 7.87172794e-01, -1.53836474e-01, 2.05193639e-01,\n", + " 1.79185346e-01, -3.19244415e-01, 1.83414906e-01,\n", + " -2.51034319e-01, 2.04368889e-01, -4.12439518e-02,\n", + " 1.88866079e-01, 2.89603043e-02, 4.40665856e-02,\n", + " -3.66804987e-01, 3.11425954e-01, 3.84064376e-01,\n", + " 2.89805114e-01, -4.46613431e-01, -3.73146757e-02,\n", + " -2.49009281e-01, 2.16535851e-01, 2.12426245e-01,\n", + " 2.24740326e-01, -3.96954656e-01, 6.09451607e-02,\n", + " -2.84864575e-01, -2.91095115e-03, 1.24745101e-01,\n", + " 1.27259627e-01, 4.04476464e-01, -1.93641745e-02,\n", + " 3.29136610e-01, 5.89510143e-01, 3.04105341e-01,\n", + " 1.49482846e-01, 1.06036521e-01, -2.24815339e-01,\n", + " 3.19689624e-02, 3.37899148e-01, 1.51534230e-01,\n", + " -3.48888427e-01, -1.38412073e-01, 2.41551414e-01,\n", + " -2.54522383e-01, -3.15623194e-01, 9.68650132e-02,\n", + " -1.95467398e-01, -1.88675389e-01, -1.32108536e-02,\n", + " -2.66226292e-01, 1.93855688e-01, 4.37732846e-01,\n", + " -2.90491939e-01, 3.31001490e-01, -3.52082521e-01,\n", + " 1.78004637e-01, -1.11240707e-01, -8.76428094e-03,\n", + " -3.93173248e-01, 6.41291589e-02, -2.28615284e-01,\n", + " -1.60569139e-03, -2.64150113e-01, -2.34936312e-01,\n", + " -1.02365956e-01, 2.49480039e-01, -1.87929899e-01,\n", + " 3.96835357e-02, -4.04373050e-01, -5.07753074e-01,\n", + " 2.38928616e-01, -4.39271033e-01, -4.89640892e-01,\n", + " 6.54386207e-02, 5.41593015e-01, 4.90614980e-01,\n", + " -1.05242871e-01, -1.36632413e-01, 1.53965428e-01,\n", + " -3.27737987e-01, -6.71390742e-02, 1.22502826e-01,\n", + " 1.96959153e-01, 3.05157810e-01, -4.48056191e-01,\n", + " -1.98862568e-01, -4.24336225e-01, 7.93447196e-02,\n", + " -2.62270242e-01, -1.85921267e-01, 6.61295652e-03,\n", + " -4.56636250e-01, -4.74854410e-01, 2.12066844e-01,\n", + " 2.01622561e-01, 8.15611959e-01, -1.36088595e-01,\n", + " -4.90664214e-01, -4.88215268e-01, 5.54985344e-01,\n", + " -2.24547163e-01, -2.39435136e-01, 2.22418725e-01,\n", + " -5.38049281e-01, 3.70853126e-01, -1.53820112e-01,\n", + " 8.43680128e-02, -3.54911089e-02, -1.09966241e-01,\n", + " -4.14703697e-01, 3.90747845e-01, -1.84075028e-01,\n", + " 7.60702968e-01, -6.98425233e-01, 8.77330378e-02,\n", + " 1.28276765e-01, -4.79850024e-02, 3.72763216e-01,\n", + " 5.50840497e-01, -9.90871191e-02, 4.18369353e-01,\n", + " 4.19657022e-01, 2.29991540e-01, 3.66626024e-01,\n", + " 1.11826919e-01, -2.47301590e-02, 1.32096961e-01,\n", + " 3.93169254e-01, 2.24951915e-02, -2.62230009e-01,\n", + " -2.43430451e-01, 2.58210003e-01, -1.62975848e-01,\n", + " 4.32478547e-01, 3.09025109e-01, -1.99924380e-01,\n", + " 2.55418450e-01, -2.73493379e-01, 2.79799044e-01,\n", + " -3.69053245e-01, 4.93362218e-01, -3.49240862e-02,\n", + " 3.10550421e-01, -4.04581308e-01, 3.94288957e-01,\n", + " -1.04068369e-01, 8.67391229e-02, 1.73879974e-02,\n", + " 1.71536673e-03, 3.91844362e-02, -5.88633418e-01,\n", + " -6.24562025e-01, -3.09219599e-01, -1.05644137e-01,\n", + " 5.30000776e-02, -3.72424603e-01, 2.89219230e-01,\n", + " 4.05812860e-01, -1.19362077e-04, 4.48193103e-01,\n", + " -1.41763374e-01, 2.87409246e-01, -5.79081893e-01,\n", + " -1.99257657e-01, 6.93469718e-02, 5.24103343e-01,\n", + " 1.20713212e-01, 1.01502098e-01, 7.04986751e-01,\n", + " 2.15131700e-01, 4.36220109e-01, 4.73751009e-01,\n", + " -5.02688706e-01, 4.06132862e-02, 3.09243679e-01,\n", + " -2.89376136e-02, -9.24469531e-02, 1.57464325e-01,\n", + " 2.70151138e-01, 3.20051722e-02, 6.42308712e-01,\n", + " -7.71746412e-02, 1.60636872e-01, 1.28681585e-01,\n", + " 6.82907030e-02, 2.69804031e-01, -2.71411687e-01,\n", + " -3.27949673e-01, -4.34522778e-01, -1.48008958e-01,\n", + " 5.46750367e-01, 8.81870389e-02, 4.88497674e-01,\n", + " 1.31040206e-02, -1.94522783e-01, -6.34031177e-01,\n", + " 9.40928385e-02, -1.96060270e-01, 6.55852556e-02,\n", + " -3.46025884e-01, -7.64121022e-03, 6.64572343e-02,\n", + " -3.77093464e-01, 2.96576649e-01, 2.28039175e-01,\n", + " 2.33197346e-01, -2.33136654e-01, 2.74139762e-01,\n", + " 2.27126703e-01, -4.72044885e-01, 5.19130588e-01,\n", + " -1.41887575e-01, -1.67987078e-01, -6.53843433e-02,\n", + " 1.62629768e-01, -7.53015339e-01, 6.76150799e-01], dtype=float32), memmap([-0.10837725, 0.11549401, -0.15824004, 0.50305027, -0.09761366,\n", + " -0.48892426, -0.79524183, -0.12074072, -0.3387916 , -0.378617 ,\n", + " -0.24414106, -0.12134998, -0.10618914, 0.18407854, -0.26149258,\n", + " 0.5065042 , 0.2651403 , -0.6520077 , -0.19071262, 0.43519083,\n", + " -0.4292922 , 0.4370096 , -0.8997909 , 0.6859202 , 0.09096568,\n", + " -0.3325723 , 0.1940273 , -0.49395838, -0.3316664 , -0.42282915,\n", + " 0.06765637, 0.15393423, 0.05443774, 0.3876047 , 0.24263811,\n", + " -0.49495038, 0.38503692, 0.27900457, -0.8023043 , 0.18866214,\n", + " 0.6262913 , 0.06074463, 0.2344771 , 0.19624273, -0.37486318,\n", + " 0.06966194, 0.01332281, 0.60073465, -0.47927582, -0.0823084 ,\n", + " -0.06497926, 0.33714297, 0.27366158, -0.15047562, -0.2541691 ,\n", + " 0.2527139 , 0.14888918, -0.24472421, -0.47206846, -0.15022385,\n", + " 0.08039748, 0.36065212, -0.04534618, -0.4024375 , -0.21768673,\n", + " -0.69247305, -0.17052378, 0.44355989, -0.578043 , 0.08053879,\n", + " -0.0625236 , -0.08011064, -0.21119137, 0.6664885 , -0.14054203,\n", + " -0.17997873, 0.251821 , -0.6325905 , -0.16105981, -0.29935837,\n", + " -0.03825381, -0.3986166 , -0.33544374, 0.01921455, -0.29846352,\n", + " -0.7009614 , -0.13930038, 0.40264302, -0.45402864, 0.57174176,\n", + " 0.07994836, -0.20899588, -0.49919677, 0.1824642 , -0.99415463,\n", + " 0.5663304 , -0.31523034, -0.08369561, -0.16443478, 0.26971254,\n", + " -0.29915106, 0.26589718, 0.17149101, 0.4061504 , -0.19438803,\n", + " 0.3914081 , 0.07803816, -0.2954963 , 0.1248489 , 0.30594176,\n", + " -0.34987226, 0.1885878 , 0.27429116, 0.1375237 , 0.41589692,\n", + " -0.05115354, -0.22217357, -0.12928748, 0.716198 , -0.10687083,\n", + " -0.9255203 , 0.19901623, -0.3084687 , -0.3006475 , 0.44167328,\n", + " -0.597084 , 0.08903318, 0.21431388, 0.42391175, -0.01887614,\n", + " 0.12261854, -0.09890936, 0.5797963 , 0.39818314, -0.48398477,\n", + " 0.6621126 , -0.46448532, -0.14343543, 0.04120416, -0.5358358 ,\n", + " -0.14828056, -0.28202724, 0.01107037, -0.04858386, 0.00690263,\n", + " -0.3557975 , -0.45260563, 0.22263616, 0.3897068 , 0.07726711,\n", + " -0.04528925, -0.14938262, -0.22182578, -0.26437724, 0.40078714,\n", + " -0.04841163, -0.21522923, 0.07121808, 0.08092659, -0.438511 ,\n", + " -0.08405232, 0.01174756, -0.38323087, 0.04791076, 0.16882454,\n", + " -0.01365197, 0.3410679 , -0.3126649 , -0.43774134, -0.59032124,\n", + " -0.07184302, 0.261895 , 0.20478104, -0.6683694 , -0.08520868,\n", + " -0.2578085 , 0.411234 , -0.21389157, -0.17642544, -0.31897277,\n", + " 0.29783586, -0.69325507, 0.67098486, -0.23884378, -0.3501651 ,\n", + " 0.7105125 , -0.31089243, -0.15118812, 0.04000754, 0.01820906,\n", + " 0.05718442, -0.16238682, 0.302812 , -0.15161915, -0.30111888,\n", + " -0.4176109 , 0.39410907, -0.2387299 , -0.2763885 , 0.10195521,\n", + " 0.38012564, -0.08028304, 0.4769483 , 0.07763182, 0.21281306,\n", + " 0.2607151 , 0.3240776 , 0.5450921 , 0.19364816, -0.27717572,\n", + " -0.31057388, 0.00245448, 0.40044087, -0.5172755 , -0.09079777,\n", + " 0.3311133 , 0.4663844 , 0.02053149, -0.44821683, 0.10487155,\n", + " -0.01213841, 0.00651279, -0.31639457, 0.41299784, 0.19454329,\n", + " 0.3104433 , -0.4786553 , 0.05790196, -0.20675822, 0.22376467,\n", + " -0.48256138, 0.31130704, 0.09252247, 0.06326205, -0.01936083,\n", + " -0.00860054, 0.3880458 , -0.36690566, -0.61367464, 0.37044013,\n", + " 0.39698827, 0.2856632 , 0.20297647, 0.59586585, -0.8002396 ,\n", + " 0.31380928, -0.06682161, 0.43980396, 0.15830939, 0.0074152 ,\n", + " -0.31956896, 0.39140117, -0.3776084 , -0.33884698, -0.1261755 ,\n", + " 0.26874256, -0.3943658 , 0.325845 , -0.5170219 , 0.31897652,\n", + " 0.14589892, -0.7499526 , -0.5621209 , -0.37182435, -0.16800039,\n", + " -0.46578062, 0.27880684, -0.6038231 , 0.08398758, -0.42525667,\n", + " -0.04061109, -0.05211171, 0.256919 , 0.34422648, 0.12472267,\n", + " 0.1807256 , 0.5065941 , -0.17140052, 0.28134906, 0.03425426,\n", + " 0.15744437, 0.1269795 , -0.2437533 , 0.5667525 , 0.37959936,\n", + " 0.3903781 , -0.10354353, 0.15656522, 0.13771942, -0.07393628,\n", + " 0.10064009, 0.24888268, -0.01468494, 0.4540692 , -0.47059065,\n", + " 0.21070711, 0.5960855 , -0.20303895, 0.08462233, -0.27119854],\n", + " dtype=float32), memmap([ 7.40320325e-01, -2.83897012e-01, -8.65218714e-02,\n", + " -7.53699616e-03, 5.34844920e-02, -1.73295081e-01,\n", + " -1.05863380e+00, -1.43040627e-01, 7.14152813e-01,\n", + " 2.19372272e-01, -6.58537745e-01, 3.88916023e-02,\n", + " 1.93203852e-01, -1.18542679e-01, -1.59912303e-01,\n", + " 3.33625048e-01, 4.06088959e-03, -6.24033630e-01,\n", + " 1.50229439e-01, 6.57853067e-01, -5.46138920e-02,\n", + " 6.93696082e-01, -1.17435910e-01, 2.37015903e-01,\n", + " -4.24165845e-01, 3.87450546e-01, 1.24169566e-01,\n", + " 1.63685948e-01, 6.31892309e-02, -6.02771640e-01,\n", + " 3.16181034e-01, -2.90160954e-01, 5.44466257e-01,\n", + " 2.52188854e-02, 1.88796669e-01, -1.14926748e-01,\n", + " -6.12340868e-01, -5.87539315e-01, -2.15225905e-01,\n", + " -2.59401679e-01, 2.22276688e-01, -1.49561346e-01,\n", + " -1.28631040e-01, -5.74327648e-01, 2.31475875e-01,\n", + " 9.48671848e-02, 3.64173681e-01, 5.20557046e-01,\n", + " -2.07740605e-01, -3.94069493e-01, -2.25630715e-01,\n", + " 8.47125202e-02, 3.45924318e-01, 1.80024296e-01,\n", + " 8.54140744e-02, 2.13610590e-01, -1.60223451e-02,\n", + " 3.08282256e-01, 1.20332681e-01, -5.26686199e-02,\n", + " 4.40952443e-02, -7.56313801e-02, 1.64983958e-01,\n", + " -4.36175764e-01, 5.77491999e-01, 1.18725769e-01,\n", + " -4.37200338e-01, 2.83255339e-01, -4.08824757e-02,\n", + " -3.87505665e-02, 5.04456554e-03, -4.34433699e-01,\n", + " 5.29676303e-02, -5.85066564e-02, 1.73228264e-01,\n", + " 4.90106121e-02, 3.05007458e-01, -3.88809860e-01,\n", + " -2.07598031e-01, 5.13532795e-02, -3.73289138e-01,\n", + " -4.11499441e-02, -9.44332302e-01, -5.46799421e-01,\n", + " 7.87172794e-01, -1.53836474e-01, 2.05193639e-01,\n", + " 1.79185346e-01, -3.19244415e-01, 1.83414906e-01,\n", + " -2.51034319e-01, 2.04368889e-01, -4.12439518e-02,\n", + " 1.88866079e-01, 2.89603043e-02, 4.40665856e-02,\n", + " -3.66804987e-01, 3.11425954e-01, 3.84064376e-01,\n", + " 2.89805114e-01, -4.46613431e-01, -3.73146757e-02,\n", + " -2.49009281e-01, 2.16535851e-01, 2.12426245e-01,\n", + " 2.24740326e-01, -3.96954656e-01, 6.09451607e-02,\n", + " -2.84864575e-01, -2.91095115e-03, 1.24745101e-01,\n", + " 1.27259627e-01, 4.04476464e-01, -1.93641745e-02,\n", + " 3.29136610e-01, 5.89510143e-01, 3.04105341e-01,\n", + " 1.49482846e-01, 1.06036521e-01, -2.24815339e-01,\n", + " 3.19689624e-02, 3.37899148e-01, 1.51534230e-01,\n", + " -3.48888427e-01, -1.38412073e-01, 2.41551414e-01,\n", + " -2.54522383e-01, -3.15623194e-01, 9.68650132e-02,\n", + " -1.95467398e-01, -1.88675389e-01, -1.32108536e-02,\n", + " -2.66226292e-01, 1.93855688e-01, 4.37732846e-01,\n", + " -2.90491939e-01, 3.31001490e-01, -3.52082521e-01,\n", + " 1.78004637e-01, -1.11240707e-01, -8.76428094e-03,\n", + " -3.93173248e-01, 6.41291589e-02, -2.28615284e-01,\n", + " -1.60569139e-03, -2.64150113e-01, -2.34936312e-01,\n", + " -1.02365956e-01, 2.49480039e-01, -1.87929899e-01,\n", + " 3.96835357e-02, -4.04373050e-01, -5.07753074e-01,\n", + " 2.38928616e-01, -4.39271033e-01, -4.89640892e-01,\n", + " 6.54386207e-02, 5.41593015e-01, 4.90614980e-01,\n", + " -1.05242871e-01, -1.36632413e-01, 1.53965428e-01,\n", + " -3.27737987e-01, -6.71390742e-02, 1.22502826e-01,\n", + " 1.96959153e-01, 3.05157810e-01, -4.48056191e-01,\n", + " -1.98862568e-01, -4.24336225e-01, 7.93447196e-02,\n", + " -2.62270242e-01, -1.85921267e-01, 6.61295652e-03,\n", + " -4.56636250e-01, -4.74854410e-01, 2.12066844e-01,\n", + " 2.01622561e-01, 8.15611959e-01, -1.36088595e-01,\n", + " -4.90664214e-01, -4.88215268e-01, 5.54985344e-01,\n", + " -2.24547163e-01, -2.39435136e-01, 2.22418725e-01,\n", + " -5.38049281e-01, 3.70853126e-01, -1.53820112e-01,\n", + " 8.43680128e-02, -3.54911089e-02, -1.09966241e-01,\n", + " -4.14703697e-01, 3.90747845e-01, -1.84075028e-01,\n", + " 7.60702968e-01, -6.98425233e-01, 8.77330378e-02,\n", + " 1.28276765e-01, -4.79850024e-02, 3.72763216e-01,\n", + " 5.50840497e-01, -9.90871191e-02, 4.18369353e-01,\n", + " 4.19657022e-01, 2.29991540e-01, 3.66626024e-01,\n", + " 1.11826919e-01, -2.47301590e-02, 1.32096961e-01,\n", + " 3.93169254e-01, 2.24951915e-02, -2.62230009e-01,\n", + " -2.43430451e-01, 2.58210003e-01, -1.62975848e-01,\n", + " 4.32478547e-01, 3.09025109e-01, -1.99924380e-01,\n", + " 2.55418450e-01, -2.73493379e-01, 2.79799044e-01,\n", + " -3.69053245e-01, 4.93362218e-01, -3.49240862e-02,\n", + " 3.10550421e-01, -4.04581308e-01, 3.94288957e-01,\n", + " -1.04068369e-01, 8.67391229e-02, 1.73879974e-02,\n", + " 1.71536673e-03, 3.91844362e-02, -5.88633418e-01,\n", + " -6.24562025e-01, -3.09219599e-01, -1.05644137e-01,\n", + " 5.30000776e-02, -3.72424603e-01, 2.89219230e-01,\n", + " 4.05812860e-01, -1.19362077e-04, 4.48193103e-01,\n", + " -1.41763374e-01, 2.87409246e-01, -5.79081893e-01,\n", + " -1.99257657e-01, 6.93469718e-02, 5.24103343e-01,\n", + " 1.20713212e-01, 1.01502098e-01, 7.04986751e-01,\n", + " 2.15131700e-01, 4.36220109e-01, 4.73751009e-01,\n", + " -5.02688706e-01, 4.06132862e-02, 3.09243679e-01,\n", + " -2.89376136e-02, -9.24469531e-02, 1.57464325e-01,\n", + " 2.70151138e-01, 3.20051722e-02, 6.42308712e-01,\n", + " -7.71746412e-02, 1.60636872e-01, 1.28681585e-01,\n", + " 6.82907030e-02, 2.69804031e-01, -2.71411687e-01,\n", + " -3.27949673e-01, -4.34522778e-01, -1.48008958e-01,\n", + " 5.46750367e-01, 8.81870389e-02, 4.88497674e-01,\n", + " 1.31040206e-02, -1.94522783e-01, -6.34031177e-01,\n", + " 9.40928385e-02, -1.96060270e-01, 6.55852556e-02,\n", + " -3.46025884e-01, -7.64121022e-03, 6.64572343e-02,\n", + " -3.77093464e-01, 2.96576649e-01, 2.28039175e-01,\n", + " 2.33197346e-01, -2.33136654e-01, 2.74139762e-01,\n", + " 2.27126703e-01, -4.72044885e-01, 5.19130588e-01,\n", + " -1.41887575e-01, -1.67987078e-01, -6.53843433e-02,\n", + " 1.62629768e-01, -7.53015339e-01, 6.76150799e-01], dtype=float32), memmap([-0.10837725, 0.11549401, -0.15824004, 0.50305027, -0.09761366,\n", + " -0.48892426, -0.79524183, -0.12074072, -0.3387916 , -0.378617 ,\n", + " -0.24414106, -0.12134998, -0.10618914, 0.18407854, -0.26149258,\n", + " 0.5065042 , 0.2651403 , -0.6520077 , -0.19071262, 0.43519083,\n", + " -0.4292922 , 0.4370096 , -0.8997909 , 0.6859202 , 0.09096568,\n", + " -0.3325723 , 0.1940273 , -0.49395838, -0.3316664 , -0.42282915,\n", + " 0.06765637, 0.15393423, 0.05443774, 0.3876047 , 0.24263811,\n", + " -0.49495038, 0.38503692, 0.27900457, -0.8023043 , 0.18866214,\n", + " 0.6262913 , 0.06074463, 0.2344771 , 0.19624273, -0.37486318,\n", + " 0.06966194, 0.01332281, 0.60073465, -0.47927582, -0.0823084 ,\n", + " -0.06497926, 0.33714297, 0.27366158, -0.15047562, -0.2541691 ,\n", + " 0.2527139 , 0.14888918, -0.24472421, -0.47206846, -0.15022385,\n", + " 0.08039748, 0.36065212, -0.04534618, -0.4024375 , -0.21768673,\n", + " -0.69247305, -0.17052378, 0.44355989, -0.578043 , 0.08053879,\n", + " -0.0625236 , -0.08011064, -0.21119137, 0.6664885 , -0.14054203,\n", + " -0.17997873, 0.251821 , -0.6325905 , -0.16105981, -0.29935837,\n", + " -0.03825381, -0.3986166 , -0.33544374, 0.01921455, -0.29846352,\n", + " -0.7009614 , -0.13930038, 0.40264302, -0.45402864, 0.57174176,\n", + " 0.07994836, -0.20899588, -0.49919677, 0.1824642 , -0.99415463,\n", + " 0.5663304 , -0.31523034, -0.08369561, -0.16443478, 0.26971254,\n", + " -0.29915106, 0.26589718, 0.17149101, 0.4061504 , -0.19438803,\n", + " 0.3914081 , 0.07803816, -0.2954963 , 0.1248489 , 0.30594176,\n", + " -0.34987226, 0.1885878 , 0.27429116, 0.1375237 , 0.41589692,\n", + " -0.05115354, -0.22217357, -0.12928748, 0.716198 , -0.10687083,\n", + " -0.9255203 , 0.19901623, -0.3084687 , -0.3006475 , 0.44167328,\n", + " -0.597084 , 0.08903318, 0.21431388, 0.42391175, -0.01887614,\n", + " 0.12261854, -0.09890936, 0.5797963 , 0.39818314, -0.48398477,\n", + " 0.6621126 , -0.46448532, -0.14343543, 0.04120416, -0.5358358 ,\n", + " -0.14828056, -0.28202724, 0.01107037, -0.04858386, 0.00690263,\n", + " -0.3557975 , -0.45260563, 0.22263616, 0.3897068 , 0.07726711,\n", + " -0.04528925, -0.14938262, -0.22182578, -0.26437724, 0.40078714,\n", + " -0.04841163, -0.21522923, 0.07121808, 0.08092659, -0.438511 ,\n", + " -0.08405232, 0.01174756, -0.38323087, 0.04791076, 0.16882454,\n", + " -0.01365197, 0.3410679 , -0.3126649 , -0.43774134, -0.59032124,\n", + " -0.07184302, 0.261895 , 0.20478104, -0.6683694 , -0.08520868,\n", + " -0.2578085 , 0.411234 , -0.21389157, -0.17642544, -0.31897277,\n", + " 0.29783586, -0.69325507, 0.67098486, -0.23884378, -0.3501651 ,\n", + " 0.7105125 , -0.31089243, -0.15118812, 0.04000754, 0.01820906,\n", + " 0.05718442, -0.16238682, 0.302812 , -0.15161915, -0.30111888,\n", + " -0.4176109 , 0.39410907, -0.2387299 , -0.2763885 , 0.10195521,\n", + " 0.38012564, -0.08028304, 0.4769483 , 0.07763182, 0.21281306,\n", + " 0.2607151 , 0.3240776 , 0.5450921 , 0.19364816, -0.27717572,\n", + " -0.31057388, 0.00245448, 0.40044087, -0.5172755 , -0.09079777,\n", + " 0.3311133 , 0.4663844 , 0.02053149, -0.44821683, 0.10487155,\n", + " -0.01213841, 0.00651279, -0.31639457, 0.41299784, 0.19454329,\n", + " 0.3104433 , -0.4786553 , 0.05790196, -0.20675822, 0.22376467,\n", + " -0.48256138, 0.31130704, 0.09252247, 0.06326205, -0.01936083,\n", + " -0.00860054, 0.3880458 , -0.36690566, -0.61367464, 0.37044013,\n", + " 0.39698827, 0.2856632 , 0.20297647, 0.59586585, -0.8002396 ,\n", + " 0.31380928, -0.06682161, 0.43980396, 0.15830939, 0.0074152 ,\n", + " -0.31956896, 0.39140117, -0.3776084 , -0.33884698, -0.1261755 ,\n", + " 0.26874256, -0.3943658 , 0.325845 , -0.5170219 , 0.31897652,\n", + " 0.14589892, -0.7499526 , -0.5621209 , -0.37182435, -0.16800039,\n", + " -0.46578062, 0.27880684, -0.6038231 , 0.08398758, -0.42525667,\n", + " -0.04061109, -0.05211171, 0.256919 , 0.34422648, 0.12472267,\n", + " 0.1807256 , 0.5065941 , -0.17140052, 0.28134906, 0.03425426,\n", + " 0.15744437, 0.1269795 , -0.2437533 , 0.5667525 , 0.37959936,\n", + " 0.3903781 , -0.10354353, 0.15656522, 0.13771942, -0.07393628,\n", + " 0.10064009, 0.24888268, -0.01468494, 0.4540692 , -0.47059065,\n", + " 0.21070711, 0.5960855 , -0.20303895, 0.08462233, -0.27119854],\n", + " dtype=float32), memmap([-0.47708827, -0.4188984 , -0.5805752 , 0.4983136 , -0.66254765,\n", + " -0.39081648, -0.97982544, -0.23470439, -0.03654473, -0.5102844 ,\n", + " 0.67481166, 0.3278588 , 0.7606644 , 1.6376853 , 0.01073082,\n", + " 0.09936687, -0.46771094, -0.31241962, 0.4701628 , 1.0181094 ,\n", + " 0.30604145, 0.8390094 , 0.3194854 , -0.27103472, 0.49701762,\n", + " 0.06473815, -0.46921566, -0.05524811, 0.9139501 , -0.06523825,\n", + " 0.67262095, -0.49442592, 0.20589003, 0.27247488, 0.14038956,\n", + " -0.80201375, -0.48969394, -0.09757133, 0.2766648 , -0.6972582 ,\n", + " 0.3416205 , -0.07185953, 1.0011873 , -0.9887757 , -0.06042983,\n", + " 0.8236651 , 0.36706838, 1.3456837 , 0.03193885, 0.24244997,\n", + " -0.36948457, -0.1509102 , -0.44583032, 0.61655706, -0.81914383,\n", + " 0.9815469 , -0.11822435, 0.03083434, 0.2428399 , 0.2526623 ,\n", + " -0.2562431 , -0.21705882, -0.25717106, 0.11458904, -0.2528375 ,\n", + " 0.6405138 , 0.6669946 , 0.78003174, 0.5335342 , -0.10354853,\n", + " -0.00849775, 0.22528215, -0.3530957 , 0.20969488, 0.29415876,\n", + " -0.09581622, 0.8899748 , -1.1223971 , -0.22779833, 0.19665183,\n", + " -0.07576157, 0.10557791, 0.02358398, -0.10968089, 0.01060791,\n", + " -0.980473 , 0.92596775, 0.5118298 , 0.736612 , 0.38457313,\n", + " 0.3961228 , 0.0546562 , -0.08168894, 0.01979573, -0.9650393 ,\n", + " 1.2188433 , -0.15855312, -0.06791998, 0.5756328 , 0.62134314,\n", + " -0.08486102, 0.41305026, 0.34461695, -0.14001994, -0.45136675,\n", + " -0.50733864, 0.2085592 , 0.08233722, 0.26115826, 0.18186104,\n", + " 0.13035524, -0.6060056 , -0.33885118, -0.19898668, 1.2870729 ,\n", + " -0.0390192 , -0.36673293, 0.10233703, 0.36140093, 0.4813354 ,\n", + " -0.31832504, 0.72464275, 0.19097029, -0.3758162 , -0.7779689 ,\n", + " -0.22739369, 0.6851564 , 0.2543442 , 0.12088571, -0.22525734,\n", + " 0.31709403, 0.3175463 , 0.55021554, -0.06115818, 0.05532606,\n", + " 0.09404284, -0.3236308 , -0.05686826, -0.0619615 , 0.44735762,\n", + " -0.7476529 , 0.0941129 , 0.06258559, 0.06858844, 0.4629079 ,\n", + " -0.79991513, -0.03113633, 0.5925018 , -0.5419957 , 0.8150896 ,\n", + " -0.4511207 , 0.16237846, -0.24626066, -0.38405976, 0.31215945,\n", + " 0.20369282, 0.03096747, 0.44095722, 0.08268528, -0.40246347,\n", + " -0.23092808, -0.37487224, -0.9630564 , 0.40206626, 0.46292728,\n", + " 0.00908307, -0.45681253, -0.515122 , 0.61747396, -0.6318852 ,\n", + " 0.57765347, -0.22935037, -0.7883133 , -1.3616883 , -0.6914536 ,\n", + " 0.59359914, 0.18721828, -0.5369138 , -0.9626216 , -0.5819916 ,\n", + " -0.19336759, -0.7520721 , 0.73596966, -0.9440522 , -0.15742244,\n", + " -0.5494539 , -0.22973019, -0.7702952 , -0.2874203 , -1.0205438 ,\n", + " 0.03645895, -0.0741073 , 0.33082238, -0.33102044, 0.5110458 ,\n", + " 0.03100196, 0.15003732, 0.44028 , 0.57790685, -0.12429607,\n", + " -0.05505238, 0.5277741 , 0.00596437, -0.8267188 , 0.98155546,\n", + " 0.60818356, 0.05491769, -0.17272966, 0.5170492 , -0.507833 ,\n", + " -0.7220932 , -0.45346296, 0.4384308 , -1.2887701 , -0.04899029,\n", + " -0.836098 , -0.3291471 , 0.13959199, -0.09651765, -0.1769755 ,\n", + " 0.8896915 , -0.18091968, -0.01604473, 0.89019555, 0.31479722,\n", + " -0.10607556, -0.5043507 , 0.88028383, 0.69085157, 0.32529506,\n", + " -0.772671 , 0.23837025, 0.20707694, -0.31108835, 0.22451258,\n", + " -0.37838325, -0.78118545, 0.79952365, 0.75050694, -0.14090757,\n", + " 0.09931167, -0.39031503, 0.89565736, -0.37527186, -0.5322119 ,\n", + " 0.46904635, -0.17637865, -0.38489145, -0.08712541, -0.12625024,\n", + " 0.31754443, -0.993396 , -0.36117595, 0.02375397, 0.52861106,\n", + " 0.05877142, 0.38588166, 0.42588267, 0.01967174, 0.16990405,\n", + " 0.32032806, -1.2650824 , 0.18371063, 0.80958074, -0.7322228 ,\n", + " -0.45262203, 0.7282951 , -0.01904668, 0.09793202, -0.34047785,\n", + " 0.7384318 , -0.24277544, 0.11070658, 0.3416886 , 0.41340238,\n", + " -0.47697282, 0.65601873, 0.46016574, 0.13691364, 0.29044658,\n", + " 0.14660439, -0.05801181, -0.17285912, 0.91551733, 0.36750606,\n", + " 0.5843243 , -0.691808 , 0.22313634, 0.48687056, -0.95390767,\n", + " 0.39592007, 0.17013542, 0.09443866, 0.95111895, -0.3557054 ,\n", + " 1.2151228 , 0.781644 , 0.06785147, -0.8829557 , -0.11728634],\n", + " dtype=float32), memmap([-0.006586, 0.161428, -0.06511 , 0.0533 , 0.041935, -0.311353,\n", + " -0.215847, -0.428073, 0.290138, -0.495801, 0.080319, 0.058902,\n", + " 0.173545, 0.488145, 0.026375, 0.201782, 0.250904, -0.559227,\n", + " -0.21273 , 0.025531, -0.067552, 0.514484, -0.630149, 0.404147,\n", + " 0.055525, -0.130428, -0.304365, -0.029063, 0.106699, -0.201525,\n", + " -0.004851, -0.116651, -0.042767, 0.438285, 0.467751, -0.38875 ,\n", + " 0.147209, -0.039806, -0.408095, -0.172912, 0.029314, -0.073222,\n", + " -0.210555, 0.082748, -0.158573, 0.119351, -0.329385, 0.488353,\n", + " -0.216715, -0.285935, -0.07031 , 0.327328, -0.089084, 0.472342,\n", + " -0.28452 , 0.257881, -0.28076 , -0.249591, -0.01629 , -0.100565,\n", + " 0.386506, -0.025614, -0.028129, -0.39938 , -0.134956, -0.260547,\n", + " -0.390111, 0.009975, -0.009614, 0.425087, 0.145637, -0.263442,\n", + " -0.107055, 0.570538, -0.205834, -0.127259, 0.32278 , -0.359688,\n", + " 0.024147, -0.360209, 0.279604, -0.351353, -0.172009, 0.062727,\n", + " -0.061026, -0.483135, -0.093161, -0.234828, -0.086009, 0.261117,\n", + " 0.304946, -0.24722 , -0.223633, 0.030018, -0.608157, 0.199675,\n", + " 0.074232, -0.319299, 0.334371, -0.11228 , -0.360266, -0.152533,\n", + " 0.079711, 0.347684, 0.307216, 0.163619, -0.090348, -0.307187,\n", + " 0.032789, 0.502065, 0.014054, -0.366738, 0.090868, 0.044953,\n", + " 0.308011, -0.060201, 0.009562, -0.148218, 0.502047, -0.035747,\n", + " -0.035853, 0.129638, 0.1047 , 0.186961, 0.457741, -0.148522,\n", + " -0.171935, 0.097221, 0.15655 , -0.26022 , 0.351664, 0.382695,\n", + " 0.07115 , -0.185182, -0.120094, -0.008898, -0.332253, -0.466231,\n", + " 0.393347, 0.195986, -0.001177, -0.038478, 0.195799, 0.176096,\n", + " -0.0091 , -0.539969, -0.11003 , 0.311965, 0.220465, 0.329955,\n", + " 0.047512, -0.039289, 0.014886, -0.284394, 0.024602, 0.238298,\n", + " -0.26613 , 0.019136, 0.129153, -0.385582, -0.084006, -0.171035,\n", + " -0.664617, 0.250682, 0.281441, -0.056378, -0.21629 , -0.030365,\n", + " -0.216707, -0.552284, 0.116245, 0.233886, 0.167495, -0.325703,\n", + " -0.1847 , 0.069425, 0.113572, 0.089833, 0.098003, -0.165884,\n", + " -0.265601, -0.437372, 0.355441, -0.337267, -0.051732, 0.507786,\n", + " -0.076962, 0.381048, -0.063408, 0.105496, -0.294141, -0.130617,\n", + " -0.273983, -0.10364 , -0.149628, -0.015933, -0.039423, 0.03252 ,\n", + " -0.206215, 0.006986, 0.091299, 0.093974, -0.028416, 0.160219,\n", + " 0.521804, -0.082526, -0.015285, -0.164474, 0.165756, 0.254222,\n", + " -0.639611, 0.010692, 0.346206, -0.024588, -0.146942, -0.172151,\n", + " -0.009038, 0.149819, -0.288096, -0.069216, 0.242003, 0.186023,\n", + " -0.359216, 0.111522, 0.226472, 0.202632, -0.31965 , 0.015993,\n", + " 0.271754, -0.015819, -0.001828, 0.305415, -0.411187, -0.330074,\n", + " 0.144156, -0.033165, -0.143046, 0.411678, -0.316412, 0.046061,\n", + " 0.056028, -0.033076, 0.185964, 0.126428, -0.621356, 0.022169,\n", + " -0.011867, 0.0873 , 0.210104, 0.026566, -0.00195 , -0.054202,\n", + " 0.066369, -0.075197, 0.158631, 0.023248, -0.57585 , 0.311036,\n", + " -0.138246, -0.108106, 0.285303, -0.135049, 0.079473, 0.110764,\n", + " -0.263704, -0.325249, 0.245374, -0.08426 , 0.025845, -0.050174,\n", + " 0.250635, -0.013127, 0.253039, 0.15403 , -0.373329, 0.042771,\n", + " 0.291311, 0.082753, 0.066772, 0.368885, 0.073498, -0.26813 ,\n", + " -0.455563, -0.08183 , 0.364209, -0.065714, 0.228885, 0.170889,\n", + " 0.329751, -0.033602, -0.002947, 0.083073, -0.242062, 0.019645,\n", + " -0.103138, 0.105334, 0.16972 , -0.246823, -0.320137, -0.128818],\n", + " dtype=float32), memmap([-0.11304554, -0.17019191, -0.37591377, -0.1964785 , -0.03855671,\n", + " -0.5465829 , 0.13955498, -0.81196487, 0.33915898, -0.28856096,\n", + " -0.30437768, 0.34504372, 0.0697837 , 0.4725256 , 0.1492171 ,\n", + " 0.25877407, -0.24696527, -0.3225316 , 0.5621446 , 0.5133265 ,\n", + " 0.07791297, -0.16185799, -0.86460406, 0.41183624, -0.411434 ,\n", + " -0.42981395, -0.7356336 , -0.14298464, 0.1921351 , -0.44442824,\n", + " -0.05749854, 0.1488163 , 0.04496863, 0.39316532, -0.05963315,\n", + " 0.13182326, -0.00728036, -0.10604501, -0.34103677, 0.2496576 ,\n", + " 0.25753272, -0.16918223, 0.2737997 , 0.16440405, -0.40897784,\n", + " 0.30430788, -0.35716105, 0.07702566, -0.21816388, -0.39328775,\n", + " 0.17913122, 0.26410186, -0.1413898 , 0.9780035 , -0.07613662,\n", + " 0.11790818, -0.56053585, 0.33360046, -0.16180678, 0.68728036,\n", + " 0.40537792, 0.0808138 , 0.31340584, -0.3947275 , -0.16067782,\n", + " -0.03476213, 0.04011394, -0.22206394, 0.4405977 , 0.11489405,\n", + " 0.75326633, -0.1065422 , -0.5605966 , 0.41256776, 0.14235072,\n", + " 0.02752061, -0.00878727, -0.5533612 , 0.04815327, -0.36056507,\n", + " 0.18121539, 0.03509434, -0.72010756, 0.17061844, -0.18794253,\n", + " -0.07269225, 0.2327764 , -0.0938172 , -0.03973593, -0.04308951,\n", + " -0.02631606, -0.23025538, -0.15230952, 0.7373602 , -1.0927895 ,\n", + " 0.59010196, -0.03090584, -0.35414106, 0.9817858 , -0.17270613,\n", + " -0.3319297 , -0.05726757, 0.22482996, 0.05336781, 0.35923713,\n", + " -0.21321368, -0.05928909, -0.14732029, -0.27855206, 0.11264312,\n", + " 0.97677326, -0.39941797, 0.33244362, 0.27313015, 0.12746036,\n", + " 0.04676034, 0.22616382, 0.32761914, 0.60939646, -0.2632262 ,\n", + " -0.34031162, -0.21499592, 0.42552027, -0.17891948, 0.40152356,\n", + " 0.20452835, -0.42325124, -0.3806475 , -0.15960899, -0.00776599,\n", + " 0.34072217, -0.06245109, 0.06759007, 0.07671684, 0.14462039,\n", + " 0.17768116, -0.37031057, -0.36130917, 0.66011316, 0.00980707,\n", + " -0.2114999 , -0.12126907, 0.6746984 , -0.42288744, 0.1759603 ,\n", + " -0.22486316, -0.26723403, 0.06900521, -0.04707154, 0.44811168,\n", + " -0.18003221, -0.27003822, -0.30630586, 0.02833987, 0.20060278,\n", + " 0.14325087, -0.01168527, -0.35714456, -0.31511122, 0.11995526,\n", + " -0.4632158 , -0.47649702, -1.1578903 , -0.1001302 , 0.490519 ,\n", + " 0.14216806, -0.49363092, -0.50419354, -0.08047047, -0.20514959,\n", + " 0.40836948, 0.19654505, 0.4118598 , -0.21262205, -0.32683137,\n", + " -0.6018459 , 0.04807634, -0.12148035, 0.08927612, -0.49102637,\n", + " 0.18327522, -0.4054533 , 0.31747186, -0.38694003, -0.38548803,\n", + " 0.516482 , -0.6604811 , 0.24834578, -0.49424893, -0.37022164,\n", + " -0.42839307, 0.3667292 , -0.2640593 , -0.24377865, 0.44157943,\n", + " 0.38040242, -0.36172673, -0.29334813, -0.13322392, 0.16104104,\n", + " 0.01484807, -0.16042829, 0.20952599, 0.19721651, 0.54860103,\n", + " -0.37397933, -0.5486698 , -0.5412052 , 0.5019028 , 0.37126866,\n", + " -0.41860995, 0.42029864, 0.494536 , 0.3658634 , 0.26404265,\n", + " 0.15485118, 0.24040589, 0.42344016, -0.17249516, -0.5071849 ,\n", + " -0.24151315, 0.38745728, -0.26391053, 0.27054107, 0.07490662,\n", + " 0.32731432, -0.18006392, -0.14609346, 0.16931252, -0.21029787,\n", + " 0.3788991 , -0.19054684, -0.49577233, -0.5074248 , 0.32157615,\n", + " -0.10927907, -0.23643999, 0.33245584, 0.0413025 , 0.1073861 ,\n", + " 0.13644178, -0.2531458 , -0.15476516, 0.07745235, -0.49958292,\n", + " -0.22323674, -0.4421263 , -0.13289443, 0.08747664, 0.42127815,\n", + " -0.00165338, -0.36521822, 0.08495087, -0.6160411 , -0.21383107,\n", + " 0.18476675, -0.18594497, 0.04531446, -0.0942342 , 0.07305011,\n", + " -0.19607297, 0.2913201 , 0.28724003, -0.20402808, -0.2689202 ,\n", + " -0.2371097 , -0.18619965, -0.0475978 , -0.14483191, 0.3223423 ,\n", + " 0.15073535, -0.2827219 , 0.31050724, 0.02744416, -0.03127986,\n", + " 0.22447129, 0.23423423, -0.8341749 , -0.26076776, 0.30075696,\n", + " 0.3999014 , -0.20887935, -0.37437624, -0.2922322 , 0.38513082,\n", + " 0.20287815, 0.25528422, -0.08055869, 0.26746652, 0.12647 ,\n", + " 0.15741736, 0.13625745, -0.55376655, 0.3309864 , 0.00393692,\n", + " 0.1813283 , 0.13459302, -0.5238583 , -0.8804926 , 0.10256226],\n", + " dtype=float32), memmap([ 0.036919, -0.1103 , -0.089738, -0.092496, 0.207336, -0.193062,\n", + " -0.153377, -0.353051, 0.092489, -0.371171, 0.16089 , 0.012087,\n", + " 0.273712, 0.395704, 0.035863, 0.20609 , 0.138541, -0.604745,\n", + " -0.188203, 0.136003, -0.147939, 0.289229, -0.478272, 0.391465,\n", + " -0.084194, -0.328154, -0.214901, -0.123601, 0.195577, -0.087148,\n", + " 0.068913, -0.238087, 0.064393, 0.47556 , 0.653262, -0.234986,\n", + " 0.21789 , -0.101114, -0.457108, -0.024383, 0.16452 , -0.10335 ,\n", + " -0.269603, 0.130634, 0.034999, -0.023712, -0.060409, 0.376887,\n", + " -0.025959, -0.252642, -0.156659, 0.267135, 0.069643, 0.397348,\n", + " -0.274121, 0.348601, -0.18755 , -0.246576, 0.06813 , -0.074254,\n", + " 0.374543, -0.128411, 0.121754, -0.417997, -0.007832, -0.062147,\n", + " -0.218864, 0.213684, -0.162249, 0.290352, -0.021686, -0.020751,\n", + " -0.061688, 0.249914, -0.022139, -0.10204 , 0.303715, -0.473538,\n", + " 0.067765, -0.259328, 0.03832 , -0.225739, -0.074307, 0.067089,\n", + " -0.1376 , -0.576282, 0.146817, -0.257374, -0.212355, 0.078049,\n", + " 0.195017, -0.069316, -0.131536, 0.00777 , -0.514861, 0.217258,\n", + " 0.009819, -0.222892, 0.394802, 0.131889, -0.257592, 0.021154,\n", + " 0.134037, 0.219888, 0.256056, 0.111634, 0.178219, -0.231468,\n", + " -0.137254, 0.345208, -0.089044, -0.280721, 0.025395, 0.038529,\n", + " 0.279411, 0.144981, -0.030015, 0.003442, 0.586241, -0.112844,\n", + " -0.219546, 0.1732 , 0.163598, 0.23466 , 0.262863, -0.097877,\n", + " -0.276554, -0.056149, 0.146051, -0.122483, 0.296763, 0.223057,\n", + " 0.075892, -0.209697, -0.075011, 0.178387, -0.115579, -0.353904,\n", + " 0.393068, -0.005771, -0.189971, 0.023433, -0.004927, 0.02051 ,\n", + " 0.099154, -0.422172, 0.008889, 0.289381, 0.036955, 0.451209,\n", + " 0.047084, 0.066938, 0.044823, 0.003643, 0.294277, -0.030527,\n", + " -0.400027, 0.030384, 0.204552, -0.126658, -0.013399, -0.139779,\n", + " -0.385226, 0.253012, 0.412752, -0.225115, -0.346225, -0.050573,\n", + " -0.079808, -0.40317 , 0.10118 , 0.174449, 0.185305, -0.320403,\n", + " -0.269543, -0.015659, 0.143085, 0.020706, -0.137595, -0.153159,\n", + " -0.314101, -0.307449, 0.301448, -0.300483, -0.056348, 0.358152,\n", + " -0.063805, 0.102935, -0.157337, 0.004609, -0.007578, -0.115759,\n", + " -0.102806, -0.013241, -0.102945, -0.155238, 0.064578, -0.014036,\n", + " -0.042954, 0.033337, 0.181011, 0.144456, 0.107444, 0.061668,\n", + " 0.518422, 0.002849, -0.070616, 0.082854, 0.266737, 0.240478,\n", + " -0.564205, -0.04123 , 0.043236, -0.126049, 0.081724, -0.212563,\n", + " -0.07103 , -0.062966, -0.123623, 0.06467 , 0.249103, 0.241704,\n", + " -0.301902, 0.182967, 0.090718, 0.215738, -0.15556 , 0.129479,\n", + " 0.352796, 0.05152 , -0.049028, 0.190073, -0.1391 , -0.46102 ,\n", + " 0.088091, -0.071157, -0.11597 , 0.223018, -0.310657, 0.163626,\n", + " 0.04297 , -0.03917 , 0.11728 , 0.304096, -0.468027, 0.22159 ,\n", + " -0.028468, 0.050664, 0.056221, -0.039893, -0.086349, 0.090597,\n", + " -0.00556 , -0.067837, 0.313608, -0.203042, -0.289029, 0.270804,\n", + " -0.090891, 0.109032, 0.293218, -0.069892, 0.004213, 0.128897,\n", + " -0.200106, -0.272938, 0.113393, -0.016173, 0.151228, -0.08659 ,\n", + " 0.21123 , 0.02997 , 0.208638, 0.142854, -0.366602, 0.019436,\n", + " 0.23521 , -0.04495 , 0.240789, 0.246886, 0.08462 , -0.080042,\n", + " -0.150277, -0.055726, -0.016941, -0.163886, 0.149883, 0.072646,\n", + " 0.120094, -0.034595, 0.090928, 0.189571, -0.29872 , 0.272699,\n", + " -0.153866, 0.246901, 0.302777, -0.274864, -0.292579, -0.05222 ],\n", + " dtype=float32), memmap([-0.243848, -0.29442 , 0.042012, -0.261492, 0.003926, -0.10628 ,\n", + " 0.279002, -0.198951, 0.142141, -0.042438, -0.088519, 0.198668,\n", + " 0.229136, -0.024044, -0.312685, 0.460597, 0.828979, -0.79609 ,\n", + " 0.182429, 0.308291, 0.29584 , 0.519534, -0.077029, 0.523097,\n", + " 0.220335, -0.303795, 0.099866, 0.555273, 0.135018, 0.18564 ,\n", + " -0.049376, 0.088708, 0.049273, 0.709958, 0.070147, 0.065392,\n", + " 0.453565, -0.039138, -0.449384, 0.206807, 0.289633, -0.51219 ,\n", + " 0.371053, -0.011497, -0.420344, -0.197675, -0.273306, 0.289307,\n", + " 0.225878, -0.012789, 0.106142, 0.45162 , 0.283426, 0.185077,\n", + " -0.416293, 0.332885, -0.330281, 0.454085, -0.028234, 0.17215 ,\n", + " -0.191927, -0.067868, -0.196448, 0.218393, 0.217563, -0.068141,\n", + " -0.614738, 0.392443, -0.015192, 0.189103, 0.245302, 0.029489,\n", + " 0.265636, 0.213698, -0.336344, 0.081388, -0.130461, -0.48006 ,\n", + " 0.320374, 0.044341, 0.217087, -0.292498, 0.354875, -0.064594,\n", + " -0.463825, -0.264732, 0.323202, -0.113349, 0.242381, -0.022495,\n", + " -0.0567 , 0.124445, -0.103112, 0.842285, -0.495322, 0.606568,\n", + " -0.304842, -0.222893, 0.104402, 0.394952, 0.013003, 0.01332 ,\n", + " 0.283519, 0.284441, 0.059714, 0.082867, -0.160662, -0.217343,\n", + " -0.518186, 0.285335, 0.225515, -0.3028 , -0.251316, -0.257838,\n", + " -0.35727 , -0.051558, -0.017541, -0.157058, -0.20739 , -0.048841,\n", + " -0.076921, 0.401762, 0.046193, -0.571619, 0.227944, -0.09726 ,\n", + " -0.328175, -0.19276 , 0.268814, -0.103624, 0.19197 , -0.590829,\n", + " 0.264758, 0.110896, 0.200588, 0.136263, -0.163296, 0.191576,\n", + " 0.042197, 0.335114, -0.353058, -0.042323, 0.10537 , 0.114269,\n", + " 0.338438, 0.155698, -0.249246, 0.27611 , -0.646976, 0.089374,\n", + " 0.205067, 0.245182, 0.163341, 0.050378, 0.040518, -0.046095,\n", + " 0.191136, 0.004657, -0.008027, -0.159769, -0.287855, -0.153245,\n", + " 0.064275, -0.386296, 0.437777, 0.076946, -0.157912, -0.509742,\n", + " 0.291796, -0.607543, 0.204061, 0.123368, 0.282698, -0.537243,\n", + " -0.469297, -0.041998, 0.196844, 0.03118 , 0.052449, -0.490046,\n", + " 0.04074 , -0.510927, 0.398722, -0.133761, -0.090338, 0.585804,\n", + " -0.115801, -0.007635, -0.203752, 0.106089, -0.21055 , -0.100273,\n", + " 0.302643, 0.124182, -0.135321, 0.379999, 0.004743, 0.406995,\n", + " 0.31432 , -0.011773, 0.181607, 0.246128, 0.686018, 0.44194 ,\n", + " 0.213021, 0.03255 , 0.122265, -0.317878, 0.022174, 0.120954,\n", + " -0.637076, 0.248266, -0.053367, 0.188818, -0.08896 , 0.188217,\n", + " 0.160453, -0.099341, -0.17578 , 0.122035, 0.49662 , -0.353429,\n", + " 0.049898, 0.290235, 0.127376, -0.117245, -0.622707, -0.343044,\n", + " 0.193104, 0.318668, 0.042947, 0.043985, -0.019611, -0.119248,\n", + " -0.364853, 0.052222, -0.297125, 0.174757, 0.057158, -0.234832,\n", + " -0.05366 , -0.432286, -0.03182 , -0.054385, -0.711089, -0.181384,\n", + " -0.323185, 0.842704, 0.110967, 0.160104, -0.101795, 0.026621,\n", + " 0.092096, 0.144561, 0.331472, -0.41198 , -0.307029, 0.136394,\n", + " 0.013609, 0.417459, 0.460221, -0.162844, 0.202637, 0.470719,\n", + " 0.035191, 0.015441, -0.049959, -0.314593, -0.040933, 0.113765,\n", + " 0.204399, -0.15925 , 0.577205, 0.052068, -0.167897, -0.103476,\n", + " -0.093931, -0.355874, -0.069993, -0.194879, 0.336651, -0.119624,\n", + " -0.50594 , 0.552256, 0.08517 , -0.197115, 0.135666, 0.610319,\n", + " 0.447864, 0.018648, -0.625066, -0.488922, 0.022142, 0.06193 ,\n", + " -0.225612, -0.008318, 0.24855 , -0.657624, -0.486312, 0.161316],\n", + " dtype=float32), memmap([ 4.90664154e-01, 1.16829060e-01, -3.70145977e-01,\n", + " 2.67027337e-02, 5.10833740e-01, -1.78374842e-01,\n", + " -4.37525660e-01, -2.84739524e-01, -2.81737268e-01,\n", + " -6.16773725e-01, -2.28848800e-01, -1.40941322e-01,\n", + " 1.91600844e-01, 2.16439545e-01, -1.78148597e-02,\n", + " 4.80165809e-01, -1.40974652e-02, -8.25242400e-01,\n", + " -3.58592898e-01, 9.08445299e-01, 1.82286739e-01,\n", + " 2.06270829e-01, -4.54229116e-01, 3.04890156e-01,\n", + " 3.62802446e-02, -1.81340292e-01, -6.68577671e-01,\n", + " -2.18574971e-01, 1.40097156e-01, 3.15574497e-01,\n", + " -4.23945040e-02, -7.91490853e-01, 1.15607880e-01,\n", + " 1.09957540e+00, 5.18770397e-01, -1.10963690e+00,\n", + " 2.31800243e-01, -9.39818937e-03, -1.75118938e-01,\n", + " 9.18009900e-04, 3.01595002e-01, -1.60103351e-01,\n", + " -2.00902708e-02, -3.83316249e-01, -2.25746319e-01,\n", + " 1.96781680e-01, 1.67125642e-01, 6.12230778e-01,\n", + " -2.22643241e-01, 5.25710918e-02, -3.39929432e-01,\n", + " 2.24378228e-01, 1.33162349e-01, 7.30287433e-01,\n", + " -7.00323641e-01, 2.63728410e-01, -2.29614586e-01,\n", + " 2.03586400e-01, -3.90904695e-01, -4.89683509e-01,\n", + " 2.36555129e-01, -2.26123199e-01, 3.38775367e-02,\n", + " -3.98684293e-01, 1.23709291e-01, 1.69871643e-01,\n", + " -4.56034333e-01, 3.56950581e-01, -4.71678317e-01,\n", + " 1.55933857e-01, -2.77950674e-01, -2.19454393e-01,\n", + " 3.12908180e-02, 6.38557851e-01, -2.32231687e-04,\n", + " 1.73425257e-01, -1.68814838e-01, -1.07848239e+00,\n", + " -1.12599924e-01, -4.78075624e-01, 4.39570062e-02,\n", + " 3.45641673e-01, -4.08883423e-01, -5.11593044e-01,\n", + " 2.26514444e-01, -8.17352593e-01, 2.67727375e-01,\n", + " -2.11578146e-01, -6.87513113e-01, 2.83602387e-01,\n", + " 3.86013508e-01, -4.76187944e-01, -5.16212225e-01,\n", + " 4.53279465e-01, -1.26521051e+00, 4.08380359e-01,\n", + " 3.19252819e-01, -4.21250880e-01, 2.52239704e-01,\n", + " 3.54148149e-01, -2.12432876e-01, 1.52872831e-01,\n", + " -7.38175437e-02, 8.06639612e-01, 3.30629796e-01,\n", + " -2.85541177e-01, 7.56828785e-02, 5.08134812e-02,\n", + " 4.78921324e-01, 3.09208542e-01, -5.39566696e-01,\n", + " -3.90912473e-01, 1.77820235e-01, 2.95692623e-01,\n", + " 3.36197853e-01, -4.11073208e-01, 4.38974947e-01,\n", + " 4.80384417e-02, 8.12411666e-01, 3.25614996e-02,\n", + " -3.48433316e-01, 3.89954925e-01, 2.49961421e-01,\n", + " 4.68981057e-01, 6.51944935e-01, -8.01166520e-03,\n", + " 1.85720827e-02, 3.58602077e-01, 3.83528061e-02,\n", + " -1.45938292e-01, 1.82571620e-01, 9.89364386e-01,\n", + " 2.16092616e-01, 1.19909711e-01, -2.69752264e-01,\n", + " 1.74904749e-01, -1.78164437e-01, -2.03796834e-01,\n", + " 1.19230121e-01, -3.14621627e-02, -6.70904934e-01,\n", + " 4.08991247e-01, 3.54021639e-01, 1.82375401e-01,\n", + " 1.04112282e-01, -4.58571851e-01, -5.95237136e-01,\n", + " 4.60803151e-01, -6.03335686e-02, 8.15706253e-01,\n", + " 1.28859351e-03, 2.24536061e-01, -2.79660106e-01,\n", + " -2.56801754e-01, -5.82995005e-02, -1.90120991e-02,\n", + " -1.58723488e-01, -1.92167044e-01, 2.74163991e-01,\n", + " -2.45178491e-01, -3.86773258e-01, -4.72328514e-01,\n", + " -5.59155464e-01, 5.27911782e-01, 4.67510641e-01,\n", + " -1.69996873e-01, -4.76149440e-01, -4.75848198e-01,\n", + " -1.68783262e-01, -7.22802877e-01, 5.07180989e-02,\n", + " 3.60764503e-01, 1.67514339e-01, -3.80218714e-01,\n", + " -2.33051032e-01, -1.85665756e-01, 2.21210048e-01,\n", + " 1.67589262e-01, 3.48942876e-01, -5.33776939e-01,\n", + " -3.06199014e-01, -4.24581289e-01, -1.19252741e-01,\n", + " -5.41667044e-01, 4.22923803e-01, 5.40693164e-01,\n", + " -1.43282488e-01, 6.99662328e-01, -3.77502829e-01,\n", + " 8.50005355e-03, 4.70836647e-02, -4.03673112e-01,\n", + " -1.25974081e-02, 3.69172245e-01, -2.73934007e-01,\n", + " -3.50091428e-01, -3.27962637e-02, -1.62543043e-01,\n", + " -8.96445587e-02, 3.29125941e-01, 1.16976619e-01,\n", + " 1.74857125e-01, 2.77242333e-01, 2.93879539e-01,\n", + " 2.39593819e-01, -2.45463643e-02, -1.62955761e-01,\n", + " 2.65874080e-02, -5.11556976e-02, 4.07177629e-03,\n", + " -4.78183299e-01, 4.50416386e-01, 6.18455350e-01,\n", + " 2.37070441e-01, 1.06648006e-01, 3.23348135e-01,\n", + " -3.77246648e-01, 1.10092320e-01, -3.02557111e-01,\n", + " 1.57174170e-01, 4.64182079e-01, 5.85980117e-01,\n", + " -2.36348391e-01, 5.43313920e-01, 1.08790830e-01,\n", + " -3.54805519e-03, -7.06284940e-01, 2.34523918e-02,\n", + " 2.08864436e-01, 3.21772218e-01, 1.17901161e-01,\n", + " 3.84086728e-01, -7.88417533e-02, -3.44086170e-01,\n", + " 1.43496513e-01, 2.73656994e-01, -3.25964034e-01,\n", + " 7.58365169e-02, -7.08609581e-01, 1.27840728e-01,\n", + " -3.42051327e-01, -2.56049633e-01, 1.81494534e-01,\n", + " 7.26972818e-01, -7.55411267e-01, 3.42734493e-02,\n", + " 8.43464863e-03, 1.97040346e-02, -1.04085645e-02,\n", + " 5.21583855e-02, 6.10865876e-02, 8.96496028e-02,\n", + " -3.95883828e-01, -3.46284449e-01, 6.20506227e-01,\n", + " -2.44838670e-01, -7.36966670e-01, 5.69501758e-01,\n", + " -4.54406232e-01, 2.79048949e-01, 2.41807207e-01,\n", + " 2.56541520e-01, -3.47426206e-01, -2.38356814e-01,\n", + " 1.22308336e-01, -1.05381660e-01, 2.02544212e-01,\n", + " -5.01674294e-01, 2.44536504e-01, 6.60985941e-04,\n", + " 6.39015973e-01, -4.80138622e-02, 6.77098453e-01,\n", + " 1.36935875e-01, -5.48284408e-03, 1.63136289e-01,\n", + " 4.71613467e-01, -1.60844624e-01, 1.27471328e-01,\n", + " 2.98900276e-01, 8.88981223e-01, -1.93210647e-01,\n", + " -3.64647418e-01, 2.76952088e-01, 3.17015797e-01,\n", + " 8.11943486e-02, 1.77059010e-01, 2.88473487e-01,\n", + " 5.80338128e-02, -5.12909651e-01, 5.61630130e-01,\n", + " 3.84574592e-01, 1.59109816e-01, 7.12167203e-01,\n", + " -3.30145985e-01, 4.47852463e-01, 3.99735689e-01,\n", + " -3.90099198e-01, -3.51124883e-01, -1.68892577e-01], dtype=float32), memmap([-3.37421e-01, 4.31550e-02, 5.85942e-01, 3.40720e-02,\n", + " 1.85127e-01, -2.13688e-01, -4.44838e-01, -1.89291e-01,\n", + " 2.38708e-01, -9.62500e-02, -7.54300e-03, 4.97010e-02,\n", + " 6.00558e-01, 2.53845e-01, 1.95603e-01, -4.35000e-02,\n", + " 3.12329e-01, -7.14725e-01, 1.43380e-02, 4.10801e-01,\n", + " 2.07999e-01, -1.86120e-02, -2.78134e-01, 5.99496e-01,\n", + " 4.36636e-01, -5.89292e-01, -5.24013e-01, 3.90362e-01,\n", + " 1.61396e-01, -2.77535e-01, -2.65512e-01, -4.51590e-02,\n", + " 3.68534e-01, 2.83498e-01, -4.17794e-01, -7.12214e-01,\n", + " -9.09800e-02, 6.53530e-02, 1.74074e-01, 9.82670e-02,\n", + " 5.93569e-01, -2.91669e-01, -2.16775e-01, -1.31618e-01,\n", + " -3.40337e-01, -8.55130e-02, 1.78650e-02, 3.74628e-01,\n", + " 4.59508e-01, 1.55000e-04, 1.86582e-01, -7.62890e-02,\n", + " 9.31180e-02, 3.00875e-01, -1.63022e-01, 1.33752e-01,\n", + " -2.56285e-01, 3.24660e-02, 1.78398e-01, 3.09185e-01,\n", + " -8.11140e-02, -1.00100e-01, 7.71550e-02, -1.92889e-01,\n", + " -4.70081e-01, -3.22454e-01, -1.13383e-01, -2.13688e-01,\n", + " -3.59680e-02, -2.23768e-01, 2.90108e-01, 2.63993e-01,\n", + " -2.66148e-01, 2.70803e-01, -3.74693e-01, -1.11162e-01,\n", + " -3.72337e-01, -3.37815e-01, 1.45940e-01, 1.58786e-01,\n", + " 2.59360e-01, -5.31884e-01, 7.10500e-02, -2.08362e-01,\n", + " 1.69500e-01, -2.00763e-01, 2.36490e-02, -4.73059e-01,\n", + " -3.43683e-01, 6.19190e-02, 1.83861e-01, -1.74520e-02,\n", + " 3.66081e-01, 1.09828e-01, -6.37937e-01, 5.63138e-01,\n", + " 1.03695e-01, 5.45084e-01, 3.37591e-01, 2.69561e-01,\n", + " 6.30247e-01, 5.27520e-02, -3.44775e-01, 1.81075e-01,\n", + " 5.89700e-03, 6.40930e-02, 9.92850e-02, 2.00248e-01,\n", + " -1.25278e-01, 4.89632e-01, 4.01546e-01, -4.25041e-01,\n", + " -1.18417e-01, -2.22500e-01, 1.51890e-02, 1.41770e-02,\n", + " 4.00250e-01, 1.07746e-01, -3.06580e-02, 4.66700e-02,\n", + " -2.67269e-01, 2.52717e-01, 2.25796e-01, -2.16743e-01,\n", + " 1.70602e-01, 3.28280e-02, -1.65239e-01, 9.67160e-02,\n", + " -1.20234e-01, -1.90730e-02, 2.11656e-01, -1.30210e-02,\n", + " 3.05301e-01, -2.52912e-01, 8.10840e-02, 8.52800e-02,\n", + " 1.56528e-01, -6.90380e-02, 6.20003e-01, 1.78028e-01,\n", + " 6.44378e-01, -5.94732e-01, 4.75570e-02, 3.44100e-03,\n", + " 3.81054e-01, -1.97854e-01, -1.56214e-01, 4.01662e-01,\n", + " -2.79320e-02, 4.18088e-01, -1.41819e-01, -1.41661e-01,\n", + " 1.34052e-01, 2.27160e-02, -2.52758e-01, -1.76295e-01,\n", + " -1.77593e-01, 1.97664e-01, -1.00382e-01, -5.83460e-02,\n", + " 2.02915e-01, 8.43752e-01, -2.18958e-01, -1.50960e-01,\n", + " 1.60244e-01, -2.30733e-01, -8.73240e-02, -1.27190e-01,\n", + " 6.36560e-02, -6.15305e-01, 1.39726e-01, 8.54990e-02,\n", + " -3.02877e-01, -6.66781e-01, -1.45540e-01, -6.92640e-02,\n", + " -1.63667e-01, 1.12260e-01, -1.16599e-01, -2.16540e-01,\n", + " 3.82360e-02, -4.24280e-02, -1.10557e-01, 1.97065e-01,\n", + " -2.57966e-01, 9.56380e-02, -3.64401e-01, 2.18631e-01,\n", + " -4.36883e-01, -1.76674e-01, -4.39826e-01, 8.32670e-02,\n", + " 3.05832e-01, -3.01940e-02, -1.58871e-01, -3.08440e-01,\n", + " -4.67033e-01, 3.40700e-03, -3.14009e-01, -1.16547e-01,\n", + " -1.85600e-03, 2.81524e-01, 6.47170e-02, 5.09372e-01,\n", + " 1.92377e-01, -1.02086e-01, -4.82361e-01, 8.23490e-02,\n", + " 6.53230e-02, 1.01569e-01, -1.29723e-01, 3.16850e-01,\n", + " -1.63962e-01, 7.00800e-03, -1.59787e-01, -1.31502e-01,\n", + " 5.50573e-01, -3.10288e-01, -8.90060e-02, -5.39360e-02,\n", + " -4.75300e-02, -4.66702e-01, 1.46732e-01, -6.30601e-01,\n", + " 7.51190e-02, 1.68826e-01, -2.65509e-01, -4.51517e-01,\n", + " -1.16332e-01, -8.70090e-02, 2.63295e-01, 4.03993e-01,\n", + " -3.29335e-01, -1.83470e-01, -1.28396e-01, 2.77670e-02,\n", + " -2.95210e-01, 2.81875e-01, 9.36600e-02, -4.69527e-01,\n", + " -1.37341e-01, -3.54368e-01, -6.32690e-02, 1.43850e-02,\n", + " -1.65353e-01, 2.93508e-01, 2.45160e-02, 5.41075e-01,\n", + " 1.50334e-01, 3.10213e-01, -2.53268e-01, 3.64099e-01,\n", + " 4.90227e-01, -1.50776e-01, 7.39790e-02, -7.38353e-01,\n", + " -6.09470e-02, 6.38342e-01, 9.77860e-02, 2.39126e-01,\n", + " 4.83702e-01, -2.06455e-01, -1.03790e-01, 5.08967e-01,\n", + " -3.68410e-02, -7.52279e-01, 4.88930e-02, -3.74840e-02,\n", + " 2.53503e-01, 2.27987e-01, 1.90043e-01, 4.76737e-01,\n", + " 7.36770e-02, 1.75185e-01, 6.48200e-03, 9.80420e-02,\n", + " 6.37290e-02, -9.34140e-02, 5.13170e-02, -1.18472e-01,\n", + " 2.94027e-01, -5.60600e-02, -5.48200e-02, 2.08351e-01,\n", + " 1.19346e-01, -2.05480e-02, 1.94301e-01, -6.43100e-03,\n", + " 4.02347e-01, 3.45360e-02, 1.74912e-01, 2.44317e-01,\n", + " 1.92728e-01, -2.06325e-01, -4.74463e-01, -3.02178e-01,\n", + " 1.04650e-01, -2.41176e-01, -6.94791e-01, 4.10013e-01],\n", + " dtype=float32), memmap([ 0.2412764 , -0.80919623, 0.08988619, -0.34276873, -0.01980378,\n", + " 0.01631138, 0.5014325 , -0.32859504, 0.06503037, -0.37386578,\n", + " -0.06802873, 0.23027778, 0.691501 , 0.29102153, 0.5991531 ,\n", + " 0.79272515, 0.9669255 , -1.1900718 , -0.2579288 , 0.28978875,\n", + " 0.42414653, 0.35552466, -0.74653697, 0.7746417 , -0.6139781 ,\n", + " -0.85415155, 0.08389497, -0.37607878, -0.02206564, 0.01657947,\n", + " -0.522069 , -0.78772473, 0.67179585, 0.2707177 , 0.213672 ,\n", + " -0.32609728, -0.2535678 , 0.24957828, -0.43445265, 0.02500572,\n", + " -0.16264282, -0.516478 , -0.3395444 , 0.45090795, 0.36570853,\n", + " 0.47903207, -0.7477761 , 0.04938139, -0.3642393 , -0.15223128,\n", + " -0.17770334, 0.66374564, -0.05139345, 0.460912 , 0.7532906 ,\n", + " 0.69470674, -0.5725582 , -0.31006774, 0.06921232, 0.47878668,\n", + " -0.18867676, -0.10672777, 0.5579477 , -0.01027545, 0.14183013,\n", + " -0.19444865, -0.37589762, 0.34238732, -0.18591766, 0.60766673,\n", + " 0.5738701 , 0.61643845, -0.7081855 , 0.3204614 , -0.47523952,\n", + " -0.35898924, -0.23104979, -0.47779956, -0.04822932, 0.01822357,\n", + " 0.34919307, -0.4652103 , -0.34620097, 0.20916827, 0.07246841,\n", + " -0.37191463, -0.11720131, 0.05151633, -0.39063108, 0.4364814 ,\n", + " 0.44905826, -0.24604072, -0.27205655, 0.07729219, -0.6011935 ,\n", + " 0.68132126, 0.4388203 , 0.03743238, 0.5408998 , 0.15357354,\n", + " 0.31519678, -0.1451966 , 0.01849585, 0.6633744 , 0.18146166,\n", + " -0.27227667, -0.4366409 , -0.27980593, 0.03578385, 0.57506955,\n", + " 0.14253703, -0.8501961 , 0.43148148, -0.11948457, -0.3700981 ,\n", + " -0.28583652, -0.1140551 , 0.32074228, 0.5941251 , -0.42964542,\n", + " -0.1846249 , 0.43350685, 0.13279566, 0.03891432, 0.02283001,\n", + " 0.03481941, 0.00391431, -0.30841923, 0.32776132, 0.4531743 ,\n", + " -0.12210145, 0.07935555, 0.5861066 , -0.39338484, 0.6960788 ,\n", + " -0.04080565, 0.34515175, 0.06592443, 0.7918445 , 0.48553494,\n", + " 0.12496304, 0.12268144, 0.28648686, 0.10456755, 0.16139345,\n", + " -0.61350536, 0.03208042, 0.17684169, -0.68105364, 0.7536699 ,\n", + " 0.51994413, 0.05259692, -0.5580486 , 0.15258823, 0.02543306,\n", + " 0.22503723, -0.16755871, 0.06795543, -0.49062243, -0.26281613,\n", + " 0.31832516, 0.2055253 , -0.99435616, -0.5266356 , 0.56760186,\n", + " -0.23029354, 0.28282514, -0.43708262, -0.29563722, -0.2109807 ,\n", + " 0.14797184, 0.2485633 , 0.23805119, -0.5944244 , -0.28781188,\n", + " 0.17371261, 0.19711195, 0.23857728, -0.11740716, -0.45755816,\n", + " -0.14361325, 0.13013451, -0.52065253, -0.19412082, -0.17325142,\n", + " 0.13996074, -0.67187285, 0.61482096, -0.5144041 , 0.18678834,\n", + " 0.43033093, -0.48504534, -0.35436282, -0.17449704, -0.08339579,\n", + " 0.01112885, -0.36798805, 0.35659122, 0.06016702, -0.36318058,\n", + " 0.8864361 , -0.0732975 , 0.18195745, 0.5977225 , 0.379106 ,\n", + " -0.63516194, -0.68328243, -0.44069725, 0.70251685, 0.5270369 ,\n", + " -0.8852525 , 0.60029405, -0.22862257, -0.51613766, 0.0215268 ,\n", + " 0.16914444, 1.0092192 , -0.28036025, 0.06712899, 0.13514543,\n", + " -0.09508519, 0.28265437, -0.2397487 , 0.5059147 , 0.20072207,\n", + " 0.23930608, -0.79125005, -0.40719685, 0.14440948, 0.3462663 ,\n", + " 0.22323972, 0.24246879, -0.25436547, -0.06377896, 0.4300009 ,\n", + " -0.05304535, -0.01921764, 0.19775297, 0.46433097, -0.27801272,\n", + " 0.90582824, -0.66139424, -0.17530738, 0.30933118, 0.33883452,\n", + " -0.24554192, 0.39054862, 0.5573381 , 0.5167349 , 0.4899159 ,\n", + " 0.07788 , 0.3864443 , -0.00409896, -0.11343668, 0.3339614 ,\n", + " -0.36440796, -0.1576676 , 0.00574735, -0.5618651 , 0.00487065,\n", + " 0.47006103, 0.06289399, -0.2872594 , 0.16373901, 0.08067584,\n", + " -0.638271 , -0.03341774, 0.43342945, -0.63222045, -0.4577809 ,\n", + " 0.16250664, -0.47209486, 0.46519703, 0.25064805, -0.2582124 ,\n", + " -0.02918371, 0.5187262 , -0.3965952 , 0.75633436, 0.0734916 ,\n", + " 0.55808043, 0.44093955, -0.6730945 , -0.17531537, 0.67198914,\n", + " -0.54249007, 0.44129148, 0.7191549 , 0.44497216, -0.38665527,\n", + " 0.41160846, 0.47318706, -0.9319175 , 0.27728286, -0.3173306 ,\n", + " -0.01048596, 0.05161836, -0.9687855 , -0.8458022 , 0.97052866],\n", + " dtype=float32), memmap([-3.22402309e-04, -1.49155932e-03, 1.90309924e-03,\n", + " 9.45844629e-04, 2.02577421e-03, -3.06337513e-03,\n", + " -3.16016981e-03, 2.93368497e-03, -1.55477284e-03,\n", + " -9.76904994e-04, -1.54471712e-03, -2.74738157e-03,\n", + " 2.83228955e-03, -2.30349693e-03, -8.45479954e-04,\n", + " 6.74646697e-04, -2.59801955e-03, 1.16163574e-03,\n", + " 1.99537678e-03, 1.13008820e-04, 2.95261532e-04,\n", + " 1.07681518e-03, 3.27430968e-03, -2.81504309e-03,\n", + " -2.28751427e-03, -2.64134095e-03, -1.72127807e-03,\n", + " -1.03119295e-03, -1.98011170e-03, -2.14735678e-06,\n", + " 1.34597695e-03, -9.72082606e-04, -1.40598533e-03,\n", + " -1.02491619e-03, -1.61999068e-03, 1.07329921e-03,\n", + " -3.23087384e-04, -7.57372356e-04, 8.71265715e-04,\n", + " -1.06427586e-03, -1.32480462e-03, 1.20530924e-04,\n", + " -3.00725061e-03, 3.09070270e-03, 5.80933120e-04,\n", + " -6.14507182e-04, -3.11565725e-03, 7.22822326e-04,\n", + " -1.84937951e-03, 2.55933916e-03, 2.11533462e-03,\n", + " -1.05282629e-03, 2.11057183e-03, 3.31744348e-04,\n", + " -9.76479845e-04, -3.41557665e-04, 1.66534667e-03,\n", + " 4.27196035e-04, 1.33890950e-03, 9.40627244e-04,\n", + " 2.79884576e-03, 1.97721715e-03, -2.16120714e-03,\n", + " 3.78807395e-04, 1.20588695e-03, -8.42928857e-05,\n", + " -1.03589857e-03, 1.23681943e-03, -2.69157020e-03,\n", + " -1.37385924e-03, -1.87319913e-03, -1.97007973e-03,\n", + " -2.48839147e-03, 2.55839812e-04, -2.94193975e-03,\n", + " 3.01135052e-03, -2.33740406e-03, -1.30910240e-03,\n", + " -2.14381050e-03, -3.31222126e-03, -2.48053879e-03,\n", + " 2.84020673e-03, 3.24428710e-03, 9.68914013e-04,\n", + " 6.70938520e-04, 2.34425860e-03, -3.17763397e-03,\n", + " -3.16969563e-05, -4.86036937e-04, 3.96696734e-04,\n", + " -5.01655741e-04, 3.12275894e-04, -2.83221877e-03,\n", + " -2.17997236e-03, -6.40439976e-04, -2.03803624e-03,\n", + " 2.88944016e-03, -3.01789911e-03, -1.70413021e-03,\n", + " -7.66015844e-04, -2.02730182e-03, 1.67349493e-03,\n", + " -2.93232291e-03, -3.96727730e-04, -8.63550522e-04,\n", + " -1.07927481e-03, -2.48040364e-04, -3.04926955e-03,\n", + " -7.43780110e-04, -1.18365127e-03, -6.78765762e-04,\n", + " 1.31031673e-04, 1.55114813e-03, 1.00771584e-04,\n", + " -2.66652904e-03, 1.28421304e-03, -2.13826098e-03,\n", + " -3.04869819e-03, 3.21772578e-03, 3.16576962e-03,\n", + " 2.46500084e-03, 5.63129608e-04, -9.57649550e-04,\n", + " -3.27794952e-03, 1.43548334e-03, -2.61815637e-03,\n", + " -6.76608106e-05, 1.98484189e-03, 2.70533632e-03,\n", + " 3.09773767e-03, -7.65140052e-04, -1.95198611e-03,\n", + " -1.37951050e-03, -2.32371083e-03, -3.05233407e-03,\n", + " 3.01382155e-03, -7.12842157e-04, -4.93371510e-04,\n", + " 2.14121421e-03, 4.29211446e-04, -3.23365838e-03,\n", + " -4.70332307e-04, 1.34854391e-03, -1.33307220e-03,\n", + " 3.53972922e-04, -2.01959931e-03, -1.65583217e-03,\n", + " 2.73694680e-03, 1.96807389e-03, 1.62150140e-03,\n", + " -2.98072887e-03, 1.05122721e-03, 2.85791233e-03,\n", + " -1.14838278e-03, -2.99133616e-03, -1.54824101e-03,\n", + " 1.90935854e-03, 2.86161434e-03, 1.82577292e-03,\n", + " -1.23607717e-03, 1.21246418e-03, 2.71045836e-03,\n", + " -2.74512055e-03, 1.03596295e-03, -1.58431055e-03,\n", + " -2.72728363e-03, 1.96830509e-03, -2.67375319e-04,\n", + " 3.24070919e-03, 2.25425093e-03, -2.29388080e-03,\n", + " -2.14934023e-03, -4.13007743e-04, 1.46987045e-03,\n", + " -1.60375598e-03, -2.64789653e-03, -2.94980686e-03,\n", + " -2.46650213e-03, 1.17307261e-03, -1.53079187e-03,\n", + " -2.28267582e-03, -6.19812810e-04, 2.55504204e-03,\n", + " -2.05183029e-03, -6.99526456e-04, -2.97884946e-03,\n", + " -1.26570149e-03, -1.75657903e-03, 7.77738111e-04,\n", + " 2.02997215e-03, 1.36396650e-03, -6.75791875e-04,\n", + " 5.10969141e-04, 9.56034637e-05, 1.53490622e-03,\n", + " -1.09439378e-03, -8.75616854e-04, -3.16809723e-03,\n", + " 1.92422548e-03, -1.95643655e-03, -3.99965444e-04,\n", + " 1.96330715e-03, -1.65293773e-03, -1.13245251e-03,\n", + " 6.28532551e-04, 1.22256833e-03, -2.58438580e-04,\n", + " -2.62106746e-03, 1.69241591e-03, -2.77585676e-03,\n", + " -2.93406961e-03, -1.57747825e-03, 1.65255542e-03,\n", + " 3.99788223e-05, 1.98765751e-03, 1.11366983e-03,\n", + " 3.97363503e-04, -4.62658412e-04, -1.82776130e-03,\n", + " -3.22581455e-03, -4.13715054e-04, 1.27350489e-04,\n", + " -2.76598055e-03, -2.77892756e-03, 1.09165907e-03,\n", + " 3.25405761e-03, 7.18673073e-06, 2.10047397e-03,\n", + " 8.10724916e-04, -2.58621923e-03, -2.31197523e-03,\n", + " 1.83616951e-03, 9.27316374e-04, 2.84367078e-03,\n", + " 9.59507597e-04, 5.71158715e-04, 2.04769522e-03,\n", + " -6.67599030e-04, 7.65576377e-04, 1.73341273e-03,\n", + " 1.86453661e-04, -2.06128042e-03, 3.31260683e-03,\n", + " -3.86811094e-04, -1.39433309e-03, 3.16830794e-03,\n", + " 1.41433324e-03, 6.22274063e-04, -6.62128150e-05,\n", + " -2.29000719e-03, 3.17397923e-03, -1.11994985e-03,\n", + " -2.86899880e-03, 2.60883407e-03, 2.86485185e-03,\n", + " -1.82805536e-03, 2.75118905e-03, -1.95899257e-03,\n", + " -2.04727962e-03, -2.68674060e-03, 4.54041176e-04,\n", + " 2.17535486e-03, 4.11560526e-04, 6.63158891e-04,\n", + " -1.58919732e-03, -3.06332344e-03, -4.00500285e-04,\n", + " -1.60348334e-03, 1.96118583e-03, 2.97981431e-03,\n", + " 3.05151934e-05, -1.94171513e-03, -3.29951593e-03,\n", + " 2.71227211e-03, 8.49873235e-04, -6.43544190e-04,\n", + " -1.96806830e-03, 5.23486931e-04, -1.53756223e-03,\n", + " -1.65311818e-03, -2.03707465e-03, -2.17972347e-03,\n", + " -1.62458187e-03, 2.32329685e-03, -1.51418685e-03,\n", + " 1.45383435e-03, 8.87652219e-04, -9.62320948e-04,\n", + " 3.46217945e-04, 1.24619959e-03, -2.12663575e-03,\n", + " 7.34012108e-04, 1.15769939e-03, 2.08218023e-03,\n", + " 2.65674037e-03, -2.50409124e-03, -2.89237569e-03,\n", + " -8.99211562e-04, -1.93177853e-04, -3.18132946e-03], dtype=float32), memmap([-0.11304554, -0.17019191, -0.37591377, -0.1964785 , -0.03855671,\n", + " -0.5465829 , 0.13955498, -0.81196487, 0.33915898, -0.28856096,\n", + " -0.30437768, 0.34504372, 0.0697837 , 0.4725256 , 0.1492171 ,\n", + " 0.25877407, -0.24696527, -0.3225316 , 0.5621446 , 0.5133265 ,\n", + " 0.07791297, -0.16185799, -0.86460406, 0.41183624, -0.411434 ,\n", + " -0.42981395, -0.7356336 , -0.14298464, 0.1921351 , -0.44442824,\n", + " -0.05749854, 0.1488163 , 0.04496863, 0.39316532, -0.05963315,\n", + " 0.13182326, -0.00728036, -0.10604501, -0.34103677, 0.2496576 ,\n", + " 0.25753272, -0.16918223, 0.2737997 , 0.16440405, -0.40897784,\n", + " 0.30430788, -0.35716105, 0.07702566, -0.21816388, -0.39328775,\n", + " 0.17913122, 0.26410186, -0.1413898 , 0.9780035 , -0.07613662,\n", + " 0.11790818, -0.56053585, 0.33360046, -0.16180678, 0.68728036,\n", + " 0.40537792, 0.0808138 , 0.31340584, -0.3947275 , -0.16067782,\n", + " -0.03476213, 0.04011394, -0.22206394, 0.4405977 , 0.11489405,\n", + " 0.75326633, -0.1065422 , -0.5605966 , 0.41256776, 0.14235072,\n", + " 0.02752061, -0.00878727, -0.5533612 , 0.04815327, -0.36056507,\n", + " 0.18121539, 0.03509434, -0.72010756, 0.17061844, -0.18794253,\n", + " -0.07269225, 0.2327764 , -0.0938172 , -0.03973593, -0.04308951,\n", + " -0.02631606, -0.23025538, -0.15230952, 0.7373602 , -1.0927895 ,\n", + " 0.59010196, -0.03090584, -0.35414106, 0.9817858 , -0.17270613,\n", + " -0.3319297 , -0.05726757, 0.22482996, 0.05336781, 0.35923713,\n", + " -0.21321368, -0.05928909, -0.14732029, -0.27855206, 0.11264312,\n", + " 0.97677326, -0.39941797, 0.33244362, 0.27313015, 0.12746036,\n", + " 0.04676034, 0.22616382, 0.32761914, 0.60939646, -0.2632262 ,\n", + " -0.34031162, -0.21499592, 0.42552027, -0.17891948, 0.40152356,\n", + " 0.20452835, -0.42325124, -0.3806475 , -0.15960899, -0.00776599,\n", + " 0.34072217, -0.06245109, 0.06759007, 0.07671684, 0.14462039,\n", + " 0.17768116, -0.37031057, -0.36130917, 0.66011316, 0.00980707,\n", + " -0.2114999 , -0.12126907, 0.6746984 , -0.42288744, 0.1759603 ,\n", + " -0.22486316, -0.26723403, 0.06900521, -0.04707154, 0.44811168,\n", + " -0.18003221, -0.27003822, -0.30630586, 0.02833987, 0.20060278,\n", + " 0.14325087, -0.01168527, -0.35714456, -0.31511122, 0.11995526,\n", + " -0.4632158 , -0.47649702, -1.1578903 , -0.1001302 , 0.490519 ,\n", + " 0.14216806, -0.49363092, -0.50419354, -0.08047047, -0.20514959,\n", + " 0.40836948, 0.19654505, 0.4118598 , -0.21262205, -0.32683137,\n", + " -0.6018459 , 0.04807634, -0.12148035, 0.08927612, -0.49102637,\n", + " 0.18327522, -0.4054533 , 0.31747186, -0.38694003, -0.38548803,\n", + " 0.516482 , -0.6604811 , 0.24834578, -0.49424893, -0.37022164,\n", + " -0.42839307, 0.3667292 , -0.2640593 , -0.24377865, 0.44157943,\n", + " 0.38040242, -0.36172673, -0.29334813, -0.13322392, 0.16104104,\n", + " 0.01484807, -0.16042829, 0.20952599, 0.19721651, 0.54860103,\n", + " -0.37397933, -0.5486698 , -0.5412052 , 0.5019028 , 0.37126866,\n", + " -0.41860995, 0.42029864, 0.494536 , 0.3658634 , 0.26404265,\n", + " 0.15485118, 0.24040589, 0.42344016, -0.17249516, -0.5071849 ,\n", + " -0.24151315, 0.38745728, -0.26391053, 0.27054107, 0.07490662,\n", + " 0.32731432, -0.18006392, -0.14609346, 0.16931252, -0.21029787,\n", + " 0.3788991 , -0.19054684, -0.49577233, -0.5074248 , 0.32157615,\n", + " -0.10927907, -0.23643999, 0.33245584, 0.0413025 , 0.1073861 ,\n", + " 0.13644178, -0.2531458 , -0.15476516, 0.07745235, -0.49958292,\n", + " -0.22323674, -0.4421263 , -0.13289443, 0.08747664, 0.42127815,\n", + " -0.00165338, -0.36521822, 0.08495087, -0.6160411 , -0.21383107,\n", + " 0.18476675, -0.18594497, 0.04531446, -0.0942342 , 0.07305011,\n", + " -0.19607297, 0.2913201 , 0.28724003, -0.20402808, -0.2689202 ,\n", + " -0.2371097 , -0.18619965, -0.0475978 , -0.14483191, 0.3223423 ,\n", + " 0.15073535, -0.2827219 , 0.31050724, 0.02744416, -0.03127986,\n", + " 0.22447129, 0.23423423, -0.8341749 , -0.26076776, 0.30075696,\n", + " 0.3999014 , -0.20887935, -0.37437624, -0.2922322 , 0.38513082,\n", + " 0.20287815, 0.25528422, -0.08055869, 0.26746652, 0.12647 ,\n", + " 0.15741736, 0.13625745, -0.55376655, 0.3309864 , 0.00393692,\n", + " 0.1813283 , 0.13459302, -0.5238583 , -0.8804926 , 0.10256226],\n", + " dtype=float32), memmap([-4.40559536e-02, 4.35419679e-02, -4.64268066e-02,\n", + " -3.91323306e-02, 2.41148040e-01, -1.17193960e-01,\n", + " -3.94092388e-02, -9.02455971e-02, 1.40311524e-01,\n", + " -6.73298314e-02, 7.88953826e-02, 1.05550185e-01,\n", + " 2.48431355e-01, 1.63401276e-01, -7.04333186e-02,\n", + " 7.97372907e-02, -1.03494637e-01, -3.66225809e-01,\n", + " 1.89804863e-02, 2.11103946e-01, 1.25442520e-01,\n", + " 1.09477676e-01, -2.77217835e-01, 3.66121344e-02,\n", + " -1.64427534e-01, -1.91851661e-01, -1.67163342e-01,\n", + " -2.44736522e-01, 8.39016400e-04, 6.50153309e-02,\n", + " 4.98568863e-02, -8.45209509e-02, -4.74016853e-02,\n", + " 2.92016417e-01, 2.29250342e-01, -3.36190283e-01,\n", + " 6.07709177e-02, -8.59191865e-02, -1.33132681e-01,\n", + " -1.45987540e-01, 1.84603721e-01, -8.22109729e-02,\n", + " 1.14427581e-02, 1.90076302e-04, -1.58108026e-01,\n", + " 8.82826969e-02, 1.09353103e-01, 1.34287253e-01,\n", + " -7.84762725e-02, 1.33146057e-02, -4.46568020e-02,\n", + " 1.97857365e-01, 1.15819506e-01, 2.80517042e-01,\n", + " -1.01680286e-01, 1.68990090e-01, -1.95379034e-01,\n", + " -2.63332222e-02, 1.15169734e-02, -7.29319975e-02,\n", + " 2.18462840e-01, -5.30538559e-02, 6.72411174e-02,\n", + " -8.23095292e-02, -4.49631276e-04, -9.67720598e-02,\n", + " -1.58100829e-01, 1.38054416e-02, -1.20693773e-01,\n", + " 1.45131662e-01, 1.57172889e-01, 4.35635187e-02,\n", + " 1.02396145e-01, 1.07889533e-01, -2.15460006e-02,\n", + " -1.85737997e-01, -6.07643928e-03, -2.52150476e-01,\n", + " -2.24119257e-02, -1.21822894e-01, 1.54612632e-02,\n", + " 9.73278955e-02, -1.64406404e-01, -4.33385149e-02,\n", + " 1.16659023e-01, -2.77190417e-01, 2.57095322e-02,\n", + " -2.59207278e-01, -2.04161540e-01, 1.02937512e-01,\n", + " -6.17894456e-02, 6.20392431e-03, 1.25776887e-01,\n", + " 1.37136981e-01, -4.34765905e-01, 2.65256494e-01,\n", + " -1.87586788e-02, -2.66938120e-01, -4.22445871e-02,\n", + " 9.93893966e-02, -1.90297633e-01, -5.26565313e-02,\n", + " -5.41148484e-02, 2.88271219e-01, -1.62363529e-01,\n", + " -6.78193476e-03, -1.28522543e-02, -3.75640929e-01,\n", + " 1.09995212e-02, 4.24455516e-02, -8.06609839e-02,\n", + " -2.15137646e-01, 1.31808534e-01, -9.57517475e-02,\n", + " 1.75667956e-01, -6.14086501e-02, -3.76778208e-02,\n", + " -2.35562921e-02, 1.01582557e-01, -1.60623387e-01,\n", + " -1.59837738e-01, 1.51581243e-01, -1.04802661e-02,\n", + " 1.40638500e-01, 1.65934384e-01, 1.01969771e-01,\n", + " -6.34570420e-02, 1.70287684e-01, -1.20558009e-01,\n", + " -4.34956215e-02, 1.12660803e-01, -5.00226021e-03,\n", + " 2.91731786e-02, 1.36287853e-01, -3.31241228e-02,\n", + " 2.36962419e-02, -2.48638391e-01, -7.46245161e-02,\n", + " 7.52570406e-02, -6.57297149e-02, -1.43711984e-01,\n", + " -1.94134727e-01, 4.55995388e-02, 6.93484545e-02,\n", + " 1.88567430e-01, -5.06530330e-02, -1.21119872e-01,\n", + " 2.05946892e-01, -4.21399474e-02, 1.43013135e-01,\n", + " -1.10718511e-01, -1.69839598e-02, -8.58342461e-03,\n", + " -1.73194349e-01, 7.68185332e-02, 8.46087001e-03,\n", + " -8.38225335e-02, 2.36203391e-02, 1.15228549e-01,\n", + " -1.62597865e-01, 1.29832089e-01, -7.72858784e-02,\n", + " -9.04352218e-02, 3.78354639e-02, 2.41279647e-01,\n", + " -1.26563296e-01, -2.00343207e-01, -1.60258785e-01,\n", + " 2.79441867e-02, -2.72748411e-01, 1.10205986e-01,\n", + " 1.03767410e-01, 1.33585870e-01, -1.83424324e-01,\n", + " -1.53219149e-01, -1.45983905e-01, 3.87272090e-02,\n", + " 1.93569604e-02, -1.85873471e-02, -1.95592910e-01,\n", + " -3.11357807e-02, -1.31825775e-01, 4.68967073e-02,\n", + " -1.09431855e-01, -8.62112418e-02, 2.61781931e-01,\n", + " -1.61271051e-01, 2.29906872e-01, 5.12788557e-02,\n", + " -1.09168679e-01, 2.78859325e-02, -6.63963631e-02,\n", + " -9.64497924e-02, 1.40087336e-01, 1.69270672e-02,\n", + " 8.99168551e-02, -3.18127796e-02, -4.17753160e-02,\n", + " -1.64912883e-02, 6.02508746e-02, 7.76830167e-02,\n", + " -8.21800902e-02, -8.63790326e-03, 4.24961634e-02,\n", + " 1.88497424e-01, 8.07592869e-02, -2.53998131e-01,\n", + " 1.43859997e-01, 1.35139540e-01, -3.63726839e-02,\n", + " -2.79137194e-01, -6.72371462e-02, 1.47192001e-01,\n", + " -1.06086269e-01, -5.27077392e-02, -8.68014321e-02,\n", + " -5.62409908e-02, 7.09738582e-02, -1.10114895e-01,\n", + " 3.67426984e-02, 3.98305319e-02, 4.59242798e-02,\n", + " -6.52809367e-02, 8.36673602e-02, 8.69781747e-02,\n", + " 1.37927815e-01, -1.92727804e-01, 7.71408482e-03,\n", + " 6.55747503e-02, 7.33169019e-02, -6.73256367e-02,\n", + " 1.10157602e-01, -9.89227295e-02, 4.90926690e-02,\n", + " 2.06972316e-01, -1.53382346e-01, -1.06995128e-01,\n", + " 8.03602114e-02, -1.65130362e-01, 4.24287915e-02,\n", + " 6.92968443e-02, 7.96886608e-02, 7.41368160e-02,\n", + " 5.96688204e-02, -2.43019596e-01, -7.92868361e-02,\n", + " -3.29004303e-02, 1.79200411e-01, -6.30588382e-02,\n", + " 7.47979525e-03, 3.61608565e-02, 1.25268728e-01,\n", + " 1.88356955e-02, -9.78387147e-02, 3.83937031e-01,\n", + " -1.40111282e-01, -1.56929463e-01, 2.90995747e-01,\n", + " -1.80066988e-01, 2.19881415e-01, 5.30162416e-02,\n", + " -1.95168912e-01, 2.67739650e-02, 9.79348123e-02,\n", + " -1.37872592e-01, -1.16141498e-01, 2.13400900e-01,\n", + " -2.06240728e-01, -3.38494852e-02, -3.08223180e-02,\n", + " 5.11252880e-02, -4.84789498e-02, 2.23917887e-01,\n", + " 8.68182257e-02, -1.87061936e-01, 1.60706729e-01,\n", + " 1.95196837e-01, -2.11042706e-02, 3.62021439e-02,\n", + " 2.83679605e-01, 1.74501792e-01, 1.13224655e-01,\n", + " -2.53107756e-01, -1.14890607e-02, 1.98778231e-02,\n", + " -1.42834201e-01, 1.51969522e-01, 5.68657517e-02,\n", + " 9.44104493e-02, -7.61461109e-02, 1.14824146e-01,\n", + " 5.39295636e-02, 2.14271676e-02, 1.41910002e-01,\n", + " -1.08590819e-01, 2.54908036e-02, 1.22709736e-01,\n", + " -2.04784453e-01, -1.88818738e-01, -2.01605763e-02], dtype=float32), memmap([ 0.32578 , 0.078644, -0.284473, -0.043103, -0.148492, -0.271992,\n", + " -0.256287, -0.128406, 0.192044, -0.301513, -0.213644, -0.21922 ,\n", + " 0.346729, 0.39961 , -0.041187, -0.064673, -0.159259, -0.473819,\n", + " -0.131696, 0.411656, -0.090452, 0.35885 , -0.30742 , 0.400447,\n", + " 0.058869, -0.340659, -0.091764, -0.382225, 0.137397, 0.09849 ,\n", + " 0.175798, -0.388585, -0.114541, 0.294432, 0.429353, -0.372209,\n", + " -0.067335, -0.033618, -0.501963, -0.036457, 0.023202, -0.015743,\n", + " -0.118312, -0.219839, 0.007515, 0.290793, 0.249272, 0.371807,\n", + " -0.479821, -0.015644, -0.225672, 0.196833, -0.14098 , 0.480028,\n", + " -0.407426, -0.051851, -0.083413, 0.088155, 0.001932, 0.088727,\n", + " 0.243519, 0.274947, -0.198881, -0.309081, -0.337643, -0.133959,\n", + " -0.081835, 0.211809, -0.273513, 0.173137, 0.010925, -0.334842,\n", + " -0.09216 , 0.489232, -0.224848, -0.320618, 0.079286, -0.374502,\n", + " 0.149843, -0.294909, -0.167261, -0.244219, -0.062447, -0.221991,\n", + " -0.257838, -0.631415, -0.229866, -0.029856, -0.289816, 0.072546,\n", + " -0.122108, -0.042651, -0.237829, 0.249166, -0.368699, 0.194937,\n", + " -0.116356, -0.042706, 0.073473, 0.381708, -0.32925 , -0.302962,\n", + " -0.164274, 0.642391, -0.256382, 0.179569, 0.067912, -0.282575,\n", + " 0.155636, 0.38661 , 0.029366, -0.115002, 0.212112, 0.07097 ,\n", + " 0.362293, 0.26311 , 0.0401 , 0.086576, -0.033194, 0.019719,\n", + " 0.027728, 0.165979, -0.308217, -0.08505 , 0.575888, -0.367418,\n", + " -0.173272, 0.202371, 0.247311, -0.246511, 0.314139, 0.203129,\n", + " 0.231589, 0.119635, -0.411188, -0.114676, 0.017363, -0.139924,\n", + " 0.273322, 0.124293, 0.215594, -0.064539, 0.117553, 0.459265,\n", + " -0.056713, -0.243665, -0.297204, 0.140425, 0.058114, 0.513733,\n", + " 0.166431, -0.391228, -0.078073, 0.252352, 0.116122, -0.032082,\n", + " -0.08158 , 0.150264, 0.155043, -0.182539, -0.058507, 0.077408,\n", + " 0.09024 , 0.08597 , 0.050393, 0.022962, -0.015194, 0.038539,\n", + " 0.077065, -0.457699, 0.205448, 0.095538, 0.298501, -0.288684,\n", + " -0.301455, -0.199907, 0.297622, -0.109406, 0.083409, 0.039554,\n", + " 0.091456, -0.228071, 0.190876, -0.083141, -0.165953, 0.158796,\n", + " -0.097483, 0.167112, -0.015172, -0.162088, 0.065062, -0.101761,\n", + " -0.077816, 0.030687, -0.127244, 0.226725, 0.11124 , -0.126936,\n", + " 0.160387, 0.295693, -0.175371, 0.132897, -0.054404, 0.078639,\n", + " 0.383209, 0.169952, 0.249944, -0.238095, 0.202625, 0.11911 ,\n", + " -0.317612, -0.326548, 0.000833, 0.025351, 0.222048, 0.317587,\n", + " -0.064627, 0.008585, -0.484581, 0.111356, -0.009743, 0.248615,\n", + " 0.242372, 0.40695 , 0.155167, 0.234915, -0.129517, -0.025234,\n", + " -0.097929, 0.196193, -0.172203, 0.048508, -0.302409, -0.233343,\n", + " 0.046877, -0.098054, 0.241099, 0.001985, -0.180109, 0.286339,\n", + " -0.019437, 0.136619, 0.059284, 0.184823, -0.34237 , 0.336823,\n", + " 0.207984, -0.10971 , -0.076407, 0.319385, 0.030097, 0.271308,\n", + " -0.238787, 0.048354, 0.230636, 0.150115, -0.108103, 0.322322,\n", + " -0.165899, 0.058819, 0.410578, 0.034354, 0.024823, -0.003267,\n", + " 0.047331, -0.115509, 0.443631, -0.105312, 0.217216, -0.242357,\n", + " -0.134227, -0.134378, 0.325085, 0.248578, -0.061066, 0.267522,\n", + " 0.198104, 0.062815, 0.153647, 0.00101 , -0.078962, 0.018622,\n", + " -0.051826, 0.280092, 0.268823, 0.052377, -0.14625 , 0.222693,\n", + " 0.061951, -0.024323, 0.016236, 0.492103, -0.028205, 0.261804,\n", + " -0.34242 , 0.223479, 0.251952, -0.442181, -0.036995, -0.349193],\n", + " dtype=float32), memmap([-0.206799, -0.12012 , -0.128747, -0.173868, 0.093803, -0.189012,\n", + " -0.266182, 0.147926, 0.258623, 0.231668, -0.222188, 0.152699,\n", + " 0.379073, 0.283317, -0.052093, -0.317474, -0.308491, -0.480762,\n", + " 0.111768, 0.163729, 0.079023, 0.362933, -0.24828 , 0.113299,\n", + " -0.193724, -0.2253 , -0.128222, -0.871375, -0.003151, 0.199024,\n", + " 0.020185, 0.147621, 0.26047 , 0.134653, 0.341588, -0.232308,\n", + " -0.116317, 0.086757, -0.290265, -0.063699, -0.090503, -0.176131,\n", + " -0.21558 , -0.021441, 0.326229, 0.096291, 0.223859, 0.596061,\n", + " 0.007336, -0.101712, -0.204746, -0.115434, -0.036666, 0.419576,\n", + " -0.242961, 0.090824, -0.409423, -0.257462, 0.36635 , 0.428863,\n", + " 0.262902, 0.431761, 0.058978, 0.208202, -0.068134, -0.020051,\n", + " -0.08368 , -0.213312, 0.141035, 0.605939, 0.211685, -0.211702,\n", + " 0.08424 , -0.183425, -0.061722, -0.308725, 0.672588, -0.522952,\n", + " -0.061962, 0.01831 , -0.274928, -0.198043, -0.300684, 0.071313,\n", + " -0.153775, 0.340889, -0.228218, -0.202426, -0.21227 , -0.187467,\n", + " 0.273959, -0.035981, 0.131653, 0.325471, 0.029259, 0.316532,\n", + " -0.105219, -0.225966, -0.07583 , 0.442094, -0.439899, 0.390888,\n", + " -0.012293, 0.420372, 0.19893 , 0.182709, 0.0941 , -0.165669,\n", + " -0.073625, 0.322572, 0.214894, -0.011093, -0.05997 , 0.340349,\n", + " 0.270825, 0.207474, 0.156615, 0.274741, 0.142925, -0.134121,\n", + " 0.134899, 0.433077, -0.612652, 0.556815, 0.019032, 0.142674,\n", + " -0.234295, -0.030369, -0.237237, -0.444125, -0.186907, 0.189587,\n", + " 0.229328, -0.196091, 0.100412, -0.180822, 0.358288, 0.15909 ,\n", + " 0.135594, -0.035677, 0.303891, -0.103307, 0.05116 , 0.020904,\n", + " 0.221329, -0.184226, -0.4317 , 0.125026, -0.498567, 0.311614,\n", + " 0.030492, -0.435981, -0.255728, 0.070446, 0.238079, -0.040581,\n", + " -0.518552, 0.190723, 0.156731, -0.800022, 0.348348, 0.059185,\n", + " -0.136769, 0.276521, 0.2956 , -0.469348, 0.010307, -0.340297,\n", + " -0.036901, 0.022456, 0.42081 , -0.218393, 0.006222, -0.283931,\n", + " -0.633609, -0.431927, -0.007806, 0.166204, -0.196894, 0.03162 ,\n", + " -0.185818, -0.005599, 0.140929, 0.064965, -0.38575 , -0.015759,\n", + " -0.214555, 0.566119, -0.277296, 0.597384, 0.306446, 0.248475,\n", + " -0.09607 , 0.027678, -0.469028, 0.148379, -0.198173, -0.008767,\n", + " -0.446179, 0.224208, 0.2819 , 0.097758, 0.030568, 0.208974,\n", + " -0.012149, 0.272516, 0.048861, -0.443525, 0.066349, 0.318324,\n", + " 0.042268, -0.615555, -0.147443, 0.010461, 0.324286, 0.207596,\n", + " 0.15205 , -0.469048, -0.07135 , -0.175545, 0.275144, 0.341042,\n", + " 0.038202, 0.473855, -0.515394, 0.235577, -0.095889, -0.273605,\n", + " -0.238758, -0.430222, 0.075831, 0.065095, 0.06779 , -0.374599,\n", + " -0.372456, -0.091415, 0.002305, 0.099534, -0.160779, 0.413421,\n", + " 0.251202, 0.08089 , 0.40321 , -0.120408, -0.093707, 0.074848,\n", + " 0.075625, -0.263871, -0.146111, 0.259136, 0.091112, 0.427504,\n", + " 0.145345, -0.074098, 0.396305, 0.010217, 0.05565 , -0.227193,\n", + " -0.180203, 0.546041, -0.087395, 0.259747, 0.032052, 0.033484,\n", + " -0.27591 , -0.146581, 0.419895, -0.317021, -0.135016, 0.05323 ,\n", + " -0.112559, 0.066779, 0.110225, -0.002201, -0.041203, 0.12628 ,\n", + " -0.366595, -0.406402, -0.083102, 0.221909, 0.087125, 0.131709,\n", + " 0.055157, -0.342694, 0.044728, -0.020309, -0.00866 , 0.379431,\n", + " -0.059055, 0.008931, -0.152852, -0.31803 , 0.313684, 0.547667,\n", + " -0.051446, -0.10883 , 0.371262, -0.560682, -0.201334, -0.203119],\n", + " dtype=float32), memmap([-0.2502971 , 0.5693209 , 0.6859602 , 0.3502432 , 0.03042465,\n", + " -0.40302828, -0.48365286, -0.65839946, -0.3358731 , -0.51330286,\n", + " -0.20787436, -0.4027331 , 0.12128457, -0.09633358, -0.30481058,\n", + " 0.14851086, 0.5458918 , 0.19156294, 0.11829986, -0.23392801,\n", + " 0.392 , -0.48992926, 0.70208365, 0.6010129 , 0.5211704 ,\n", + " 0.81344384, -0.33858076, 0.2273095 , -0.07525846, -0.7354135 ,\n", + " 0.6687955 , -0.16666509, 0.21206343, 0.22326079, -0.34585255,\n", + " -0.42590532, 0.17167363, 0.78599393, -0.065249 , -1.2935292 ,\n", + " -0.4529947 , -0.02257312, 0.13528293, 0.18777046, 0.49390477,\n", + " -0.03556978, 0.5608253 , -0.17261927, -0.34256792, 0.61521316,\n", + " 0.12064233, 0.04716802, -0.1871616 , -0.28701207, 0.5829164 ,\n", + " -0.59850484, -0.5532849 , -0.175368 , 0.16818732, -0.3299332 ,\n", + " -0.39306253, 0.6729647 , -0.2507978 , 0.37720272, -0.54490966,\n", + " 0.49711213, 0.6085116 , 0.18110193, -0.33071607, -0.4212946 ,\n", + " -0.18897709, -0.04324469, 0.5247383 , 0.14580439, 0.0544477 ,\n", + " -0.05025896, -0.07921224, -0.13888495, -0.6286393 , 0.14243431,\n", + " 0.39440152, -0.04422115, -0.52977043, 0.1802003 , 0.32380036,\n", + " 0.9525845 , -0.47127846, -0.2737093 , 0.6637773 , 0.22393264,\n", + " 0.3896496 , -0.30210814, -0.27378252, -0.0409729 , -0.70492774,\n", + " -0.2959512 , 0.2401106 , -0.500258 , -0.13021185, 0.7562607 ,\n", + " -0.25253844, 0.09711885, 0.24976362, 0.7612688 , 0.66700494,\n", + " -0.8683097 , 0.9793068 , -0.35626546, 0.57284486, -0.2534546 ,\n", + " 0.48015976, 0.59566915, 0.36849758, 0.16913733, 1.2349902 ,\n", + " 0.1138988 , 0.47013798, 0.4346716 , 0.480029 , 0.5961265 ,\n", + " -0.11305673, -0.15467317, 0.15031485, 0.3414257 , 0.27386904,\n", + " 0.94369584, -0.92888415, -0.0955107 , 0.44188568, 0.7055486 ,\n", + " -0.11246148, 0.25021565, -0.09587555, 0.21151061, 0.02762759,\n", + " -0.71323097, -0.50389814, 0.12484976, -0.00257557, -0.23291202,\n", + " -0.158402 , 0.44622806, 0.48181775, 0.82323897, -0.43659452,\n", + " -0.39230618, -0.56767344, 0.23886083, -0.4178109 , -0.43680894,\n", + " 0.15968394, -0.05690216, 0.6567981 , -0.6923975 , 0.5464737 ,\n", + " -0.26098818, -0.16786648, -0.16180566, 0.805358 , 0.16115981,\n", + " 0.41978118, 0.39132556, 0.4626196 , 0.42371756, -0.18822318,\n", + " 0.45774755, 0.07204169, -0.86568004, 0.05934478, 0.459054 ,\n", + " -0.10381915, -0.22139299, -0.40845713, -0.26227206, -1.0463864 ,\n", + " -0.31025946, 0.30001158, 0.7539976 , -0.47235617, -0.35770497,\n", + " -0.2704276 , 0.30824903, -0.14733827, 0.46700996, -0.83770853,\n", + " 0.2269185 , -0.26662648, 0.6326865 , -1.3552221 , 0.03666956,\n", + " 0.24061902, -0.84152526, 0.10080509, 0.435912 , 0.5429908 ,\n", + " -0.36978388, -0.85021925, -0.04115516, 0.12593868, 0.14885499,\n", + " -0.02296785, -0.14004676, -0.35459954, 0.50178933, 0.53665936,\n", + " -0.4243553 , 0.1247301 , 0.2984548 , 0.00939161, 0.01990146,\n", + " 0.19237866, -0.30214497, 1.1865892 , -0.13550971, -0.56564116,\n", + " 0.21578464, 0.52063406, -0.18550791, -0.9018661 , 0.2906284 ,\n", + " -0.2303815 , 0.3284327 , -0.45388597, 0.9852445 , -0.1338044 ,\n", + " -0.22731198, -0.4412627 , -0.06100829, 0.29467958, 0.7346881 ,\n", + " -0.3658415 , 0.3892717 , 1.0246668 , -0.28583062, -0.09846623,\n", + " 0.28132552, 0.5735887 , 0.40085393, -0.02253614, 0.62221843,\n", + " 0.73668456, -0.5110986 , 0.37871096, 0.37896314, -0.45458478,\n", + " -0.19574662, -0.35032195, 0.24751079, -0.06169019, -0.6355142 ,\n", + " 0.62589264, -0.13730757, 0.1075398 , -0.04302481, 0.09709013,\n", + " 0.5778902 , -0.62309057, 0.16840915, -0.3636644 , -0.6567919 ,\n", + " 0.08116896, -0.35605344, -0.25171864, 0.59787273, 0.24419805,\n", + " -0.06757798, 0.07714263, 0.26705495, 0.53460073, 0.09097607,\n", + " -0.15350346, 0.23017527, 0.19284713, -0.18528733, -0.03657087,\n", + " 0.07816639, -0.10359774, 0.21850573, -0.01764192, -0.23260617,\n", + " 0.20463182, 0.09853891, -0.07869617, 0.04432994, -0.22215326,\n", + " 0.03493002, -0.00786027, 0.45370266, 0.23501803, -0.5071402 ,\n", + " -0.19300827, -0.3861023 , -0.11932262, -0.02097966, -0.12162941,\n", + " 0.21920775, 0.03217101, -0.7055368 , -0.10286857, -0.24683583],\n", + " dtype=float32), memmap([ 8.156000e-03, -4.873500e-01, 6.150090e-01, -4.004670e-01,\n", + " 8.412970e-01, 2.034050e-01, 6.399700e-02, -1.102000e-02,\n", + " -3.606030e-01, 2.514570e-01, 4.720720e-01, -4.013310e-01,\n", + " 9.316940e-01, -3.875400e-01, 3.765000e-01, -1.406360e-01,\n", + " 6.617380e-01, 4.018790e-01, 2.618420e-01, 4.116010e-01,\n", + " 1.861950e-01, 6.124210e-01, -3.866200e-02, 6.240460e-01,\n", + " -2.266190e-01, -4.012880e-01, 3.883490e-01, -2.141360e-01,\n", + " 4.418490e-01, -5.722120e-01, -7.117030e-01, -6.103210e-01,\n", + " 3.172790e-01, -2.271920e-01, -2.213000e-02, 3.122700e-02,\n", + " 2.883800e-01, 3.080440e-01, -4.560190e-01, 1.765100e-02,\n", + " 3.675470e-01, 2.209190e-01, -2.965510e-01, 1.048620e-01,\n", + " -5.741830e-01, -5.735480e-01, -2.204510e-01, 3.258090e-01,\n", + " 4.162650e-01, 1.497900e-02, 2.617750e-01, 2.091780e-01,\n", + " 5.461600e-02, 2.536970e-01, -2.304870e-01, -1.345070e-01,\n", + " -6.101420e-01, 1.994600e-02, -2.780150e-01, 1.958130e-01,\n", + " 3.747000e-03, 1.693310e-01, -1.099620e-01, -4.203780e-01,\n", + " 3.207200e-02, 2.434480e-01, 3.266090e-01, -3.176100e-01,\n", + " 3.847720e-01, 6.929400e-02, 4.657790e-01, -2.944920e-01,\n", + " -2.138170e-01, -4.168530e-01, 2.333910e-01, -1.571190e-01,\n", + " -2.485050e-01, -6.910600e-02, -1.352000e-01, -5.254700e-02,\n", + " 7.782120e-01, 2.078230e-01, -1.596230e-01, -4.392880e-01,\n", + " 9.218300e-02, -6.006300e-02, -9.013600e-02, -4.826990e-01,\n", + " -5.197160e-01, -1.925000e-03, 6.343020e-01, -2.876530e-01,\n", + " -1.841920e-01, -6.288400e-02, 9.300000e-05, 4.703410e-01,\n", + " 1.697330e-01, 1.612730e-01, 2.554100e-02, -1.157490e-01,\n", + " 9.256780e-01, 1.175800e-02, -2.108440e-01, 4.734240e-01,\n", + " 1.828820e-01, 3.370820e-01, 3.861550e-01, -9.031800e-02,\n", + " -8.146000e-02, 2.809560e-01, 5.065500e-02, -9.644500e-02,\n", + " 3.122900e-02, -3.227280e-01, -1.321770e-01, -5.383090e-01,\n", + " -1.826870e-01, -3.518010e-01, -1.110800e-02, 8.759100e-02,\n", + " -1.929670e-01, 3.065710e-01, -1.646720e-01, -2.958900e-02,\n", + " 1.999890e-01, 4.493410e-01, 2.271790e-01, 1.003300e-02,\n", + " 3.085310e-01, 5.180180e-01, 1.075273e+00, -1.220460e-01,\n", + " 8.176500e-02, -5.210260e-01, -4.159710e-01, 5.792490e-01,\n", + " -3.412360e-01, 8.519130e-01, 7.217580e-01, 5.068100e-02,\n", + " -7.892820e-01, 7.607000e-02, 7.583300e-02, 4.355870e-01,\n", + " 3.667980e-01, -4.560200e-02, -3.097370e-01, 5.284620e-01,\n", + " -3.382320e-01, 6.247220e-01, -5.840000e-03, -1.259060e-01,\n", + " 1.185400e-02, 6.027340e-01, 6.279190e-01, 6.623500e-02,\n", + " 2.467340e-01, -1.861330e-01, -7.869900e-02, -9.892600e-02,\n", + " -2.680700e-01, 3.582380e-01, -4.730150e-01, 4.110370e-01,\n", + " 3.407610e-01, 3.732850e-01, -7.926700e-01, -5.599930e-01,\n", + " -2.224300e-01, -5.134500e-01, -2.927720e-01, 3.085670e-01,\n", + " 5.569200e-02, 2.836610e-01, -1.337500e-01, -2.545120e-01,\n", + " 2.496400e-02, 3.435880e-01, -6.821230e-01, 2.829030e-01,\n", + " 4.778840e-01, -5.775640e-01, 3.542410e-01, 2.110320e-01,\n", + " 1.071270e-01, 3.819740e-01, 2.012370e-01, -4.866700e-01,\n", + " -4.053990e-01, -5.134840e-01, -3.156420e-01, 3.692840e-01,\n", + " 7.338290e-01, -4.884500e-02, -8.410800e-02, -5.713730e-01,\n", + " -6.227620e-01, 1.327560e-01, -3.043120e-01, -1.699790e-01,\n", + " 3.799420e-01, -2.107600e-01, 2.244550e-01, -6.513600e-02,\n", + " 7.516330e-01, -9.498700e-02, -5.265780e-01, 2.748920e-01,\n", + " -1.897780e-01, 5.800100e-01, -2.197780e-01, 3.352900e-01,\n", + " 1.112950e-01, -3.810000e-01, -4.850510e-01, -1.661250e-01,\n", + " 1.238200e-02, -2.251120e-01, -2.931000e-03, -1.984790e-01,\n", + " -3.519000e-02, -9.113900e-02, 1.868800e-02, 2.235380e-01,\n", + " -9.191800e-02, 3.463470e-01, -5.887500e-02, 3.106600e-02,\n", + " 5.382360e-01, 1.272380e-01, -4.736490e-01, 2.778420e-01,\n", + " 6.271000e-03, -6.055440e-01, 1.934790e-01, -1.601690e-01,\n", + " 3.329630e-01, -2.195920e-01, -3.487700e-01, -4.227690e-01,\n", + " 2.919430e-01, -1.761240e-01, 2.210760e-01, 7.097100e-02,\n", + " -4.884260e-01, -3.368430e-01, 8.911400e-02, 1.727370e-01,\n", + " 5.271600e-01, 8.692100e-02, -8.510000e-02, 2.103500e-01,\n", + " 2.394990e-01, -7.042490e-01, 1.192130e-01, -5.528580e-01,\n", + " -1.459520e-01, 1.439900e-01, 5.347230e-01, 1.036136e+00,\n", + " 1.209200e-02, -3.290460e-01, 3.050000e-02, 3.152060e-01,\n", + " 3.740430e-01, 5.416420e-01, 1.357900e-02, 8.296400e-02,\n", + " -3.383180e-01, 2.748020e-01, 4.805100e-02, 3.147930e-01,\n", + " 6.705930e-01, 1.526560e-01, -2.191200e-02, 4.031760e-01,\n", + " 5.159450e-01, -1.841280e-01, 1.594400e-01, -1.843850e-01,\n", + " 2.449140e-01, -9.746300e-02, -4.315000e-02, 7.357870e-01,\n", + " -2.395700e-01, -1.045700e-02, -5.363410e-01, 5.747590e-01,\n", + " 9.750240e-01, -1.371670e-01, -3.440100e-02, -9.239900e-02,\n", + " -1.673550e-01, -1.060000e-01, -3.342170e-01, 4.276020e-01,\n", + " 9.025000e-02, -6.735220e-01, -2.871200e-01, 2.425070e-01],\n", + " dtype=float32), memmap([ 6.59625381e-02, 1.89235479e-01, -7.79601514e-01,\n", + " 7.15939626e-02, -8.69372606e-01, -2.72592515e-01,\n", + " -4.20385361e-01, -8.92359950e-03, -2.77946651e-01,\n", + " -4.06856060e-01, -6.56412989e-02, -1.24449384e+00,\n", + " 2.53835887e-01, 5.73442817e-01, 6.38452172e-02,\n", + " -1.46752402e-01, 1.14241743e+00, -8.15019786e-01,\n", + " 2.52556503e-01, 2.80598402e-01, -2.08425701e-01,\n", + " 9.45822299e-02, -2.34707937e-01, 3.11182112e-01,\n", + " 4.94111795e-03, -3.48592937e-01, 5.39215147e-01,\n", + " -2.27788031e-01, -2.52747446e-01, -1.11943625e-01,\n", + " -2.40669757e-01, 3.31750661e-01, 1.42098144e-01,\n", + " -4.11035985e-01, 8.12002897e-01, 5.77789605e-01,\n", + " -2.64447331e-01, 1.11290775e-01, -7.46011257e-01,\n", + " 3.09294075e-01, 6.56763196e-01, -8.23756993e-01,\n", + " -3.85122389e-01, 7.48516679e-01, 2.36049578e-01,\n", + " 9.46042180e-01, 1.15725780e+00, -6.32170439e-01,\n", + " -9.30644423e-02, 6.65013373e-01, 5.05882442e-01,\n", + " -1.30563959e-01, -3.14573497e-01, 1.08716929e+00,\n", + " 5.35842218e-02, -1.78318229e-02, -4.91556495e-01,\n", + " -7.34593809e-01, -2.46875256e-01, 7.95217037e-01,\n", + " -1.12431878e-02, 6.36637807e-02, -8.69536340e-01,\n", + " -2.60598600e-01, -1.81175724e-01, -6.75663769e-01,\n", + " 7.31039405e-01, 3.86452198e-01, 4.75788325e-01,\n", + " -4.94145542e-01, 4.57803756e-01, -8.55092585e-01,\n", + " 2.76084393e-01, 8.49533141e-01, 8.79947096e-03,\n", + " 9.73382816e-02, 9.69557986e-02, -5.79045773e-01,\n", + " 3.66579711e-01, -6.56518579e-01, 2.07240060e-01,\n", + " 8.98000240e-01, -1.56126678e-01, -7.21950650e-01,\n", + " -8.17798018e-01, -1.32864416e-01, -3.28711241e-01,\n", + " -8.34876835e-01, 1.26573235e-01, 3.74481410e-01,\n", + " 3.31546426e-01, 2.15302613e-02, -1.51542991e-01,\n", + " -3.09416145e-01, -7.16137648e-01, 5.53897798e-01,\n", + " -3.23530436e-01, 5.75744100e-02, 1.46305650e-01,\n", + " 3.66057605e-01, -4.77819890e-01, 1.70816302e-01,\n", + " 3.28640968e-01, -4.07105893e-01, -1.33883670e-01,\n", + " -9.97965187e-02, -3.43421131e-01, -7.71448374e-01,\n", + " -2.04087332e-01, -4.97907549e-01, 4.16878104e-01,\n", + " -2.86139160e-01, 6.54424056e-02, 1.14980200e-03,\n", + " 7.60962605e-01, -3.33009601e-01, 5.61828017e-01,\n", + " 2.44836092e-01, 5.96019290e-02, -7.19100535e-01,\n", + " 3.95481527e-01, 5.33588111e-01, 2.29365863e-02,\n", + " -3.95383865e-01, -4.25350785e-01, -3.92001420e-01,\n", + " -5.34667492e-01, 4.37813103e-01, -5.42716920e-01,\n", + " -3.15622300e-01, 7.59286582e-01, -5.04302502e-01,\n", + " -4.39919293e-01, 4.31947142e-01, 2.14513019e-01,\n", + " 2.41594929e-02, 2.13046014e-01, -1.73142999e-01,\n", + " -1.91128001e-01, -8.62419605e-01, -5.60331106e-01,\n", + " -6.82509169e-02, 1.33380264e-01, 4.65413332e-01,\n", + " 5.49070477e-01, 2.45517224e-01, -2.62172014e-01,\n", + " 1.47596091e-01, 3.28803927e-01, 1.06272630e-01,\n", + " 5.52974582e-01, -1.02564141e-01, -2.15367109e-01,\n", + " 3.34399849e-01, 1.06047459e-01, -1.14743769e-01,\n", + " -1.26409695e-01, 5.74250460e-01, 9.58500266e-01,\n", + " -2.44550958e-01, -6.51661158e-01, -1.14435762e-01,\n", + " -4.46203202e-02, 5.30594110e-01, -6.86825275e-01,\n", + " -1.56053945e-01, 4.21502978e-01, 2.99854487e-01,\n", + " -1.70130596e-01, 5.16769812e-02, 6.87423125e-02,\n", + " 4.94733490e-02, 7.15154350e-01, -5.59829831e-01,\n", + " -2.05372483e-01, 1.00418143e-01, -3.04230988e-01,\n", + " 1.49953693e-01, -3.42622936e-01, -6.44866765e-01,\n", + " -2.26850614e-01, -9.74066079e-01, 7.27708101e-01,\n", + " 4.11472380e-01, 3.38757783e-01, 2.01635495e-01,\n", + " 1.65636793e-01, 1.53941646e-01, -3.77796531e-01,\n", + " -1.59463227e-01, -2.64051825e-01, -5.13599157e-01,\n", + " 7.09387660e-01, -2.58537352e-01, -4.67734128e-01,\n", + " -6.23569451e-02, -1.98514879e-01, -2.02617943e-02,\n", + " -4.49221045e-01, 1.13610536e-01, 6.65723562e-01,\n", + " 3.92688453e-01, 2.57550687e-01, 5.90025671e-02,\n", + " 9.58591580e-01, -4.38710600e-01, 3.85147512e-01,\n", + " -7.85489529e-02, 1.17044616e+00, 2.53073603e-01,\n", + " -1.22355187e+00, -3.12575907e-01, 3.38285685e-01,\n", + " -5.41529000e-01, -2.85269946e-01, -1.23171322e-01,\n", + " 3.72818291e-01, -3.29917832e-03, -8.40681233e-03,\n", + " 1.08564936e-01, 9.04714763e-01, -2.49748453e-01,\n", + " -2.77198046e-01, 3.79203290e-01, 1.36291981e-01,\n", + " 1.99204430e-01, -6.62353456e-01, 1.10741772e-01,\n", + " 9.89382192e-02, -5.89391477e-02, -2.58764058e-01,\n", + " -9.58682895e-02, -3.82318228e-01, -3.24623495e-01,\n", + " -4.98235464e-01, 1.48879811e-01, -4.60041612e-01,\n", + " 3.04842770e-01, -3.77319574e-01, 5.05519450e-01,\n", + " 2.45476384e-02, 3.26315194e-01, -7.35435843e-01,\n", + " 3.14957052e-01, -2.30684072e-01, 4.34145451e-01,\n", + " -1.50056377e-01, 2.39237592e-01, 8.05519462e-01,\n", + " -4.48672205e-01, 5.46842478e-02, 7.66726792e-01,\n", + " -2.47695714e-01, 1.76003397e-01, 7.08803117e-01,\n", + " -5.19729793e-01, -4.61530834e-01, 1.10312775e-01,\n", + " 1.84946448e-01, 7.60490820e-02, -1.40725195e-01,\n", + " 1.41684115e-01, 1.82341203e-01, 5.04837215e-01,\n", + " 2.48294380e-02, -1.27679318e-01, 7.14019656e-01,\n", + " 1.05296083e-01, -2.86501110e-01, 6.30632877e-01,\n", + " -2.70515680e-01, 3.38346034e-01, -6.58773184e-02,\n", + " 1.65869758e-01, -8.38049650e-02, -5.17054461e-02,\n", + " -3.46190840e-01, 7.40991652e-01, -2.09068373e-01,\n", + " 6.66353583e-01, -8.02697718e-01, 4.51846533e-02,\n", + " -2.56991327e-01, 1.16131854e+00, -1.91645384e-01,\n", + " 5.69042504e-01, -6.36480272e-01, 7.02926457e-01,\n", + " -3.68180215e-01, -6.70756757e-01, 4.35333133e-01,\n", + " -1.10592596e-01, -2.43572816e-01, -1.65193155e-01,\n", + " 1.09833010e-01, -1.23563409e-03, 8.21503460e-01,\n", + " 5.00868000e-02, 2.20608842e-02, -6.80162668e-01], dtype=float32), memmap([-0.2502971 , 0.5693209 , 0.6859602 , 0.3502432 , 0.03042465,\n", + " -0.40302828, -0.48365286, -0.65839946, -0.3358731 , -0.51330286,\n", + " -0.20787436, -0.4027331 , 0.12128457, -0.09633358, -0.30481058,\n", + " 0.14851086, 0.5458918 , 0.19156294, 0.11829986, -0.23392801,\n", + " 0.392 , -0.48992926, 0.70208365, 0.6010129 , 0.5211704 ,\n", + " 0.81344384, -0.33858076, 0.2273095 , -0.07525846, -0.7354135 ,\n", + " 0.6687955 , -0.16666509, 0.21206343, 0.22326079, -0.34585255,\n", + " -0.42590532, 0.17167363, 0.78599393, -0.065249 , -1.2935292 ,\n", + " -0.4529947 , -0.02257312, 0.13528293, 0.18777046, 0.49390477,\n", + " -0.03556978, 0.5608253 , -0.17261927, -0.34256792, 0.61521316,\n", + " 0.12064233, 0.04716802, -0.1871616 , -0.28701207, 0.5829164 ,\n", + " -0.59850484, -0.5532849 , -0.175368 , 0.16818732, -0.3299332 ,\n", + " -0.39306253, 0.6729647 , -0.2507978 , 0.37720272, -0.54490966,\n", + " 0.49711213, 0.6085116 , 0.18110193, -0.33071607, -0.4212946 ,\n", + " -0.18897709, -0.04324469, 0.5247383 , 0.14580439, 0.0544477 ,\n", + " -0.05025896, -0.07921224, -0.13888495, -0.6286393 , 0.14243431,\n", + " 0.39440152, -0.04422115, -0.52977043, 0.1802003 , 0.32380036,\n", + " 0.9525845 , -0.47127846, -0.2737093 , 0.6637773 , 0.22393264,\n", + " 0.3896496 , -0.30210814, -0.27378252, -0.0409729 , -0.70492774,\n", + " -0.2959512 , 0.2401106 , -0.500258 , -0.13021185, 0.7562607 ,\n", + " -0.25253844, 0.09711885, 0.24976362, 0.7612688 , 0.66700494,\n", + " -0.8683097 , 0.9793068 , -0.35626546, 0.57284486, -0.2534546 ,\n", + " 0.48015976, 0.59566915, 0.36849758, 0.16913733, 1.2349902 ,\n", + " 0.1138988 , 0.47013798, 0.4346716 , 0.480029 , 0.5961265 ,\n", + " -0.11305673, -0.15467317, 0.15031485, 0.3414257 , 0.27386904,\n", + " 0.94369584, -0.92888415, -0.0955107 , 0.44188568, 0.7055486 ,\n", + " -0.11246148, 0.25021565, -0.09587555, 0.21151061, 0.02762759,\n", + " -0.71323097, -0.50389814, 0.12484976, -0.00257557, -0.23291202,\n", + " -0.158402 , 0.44622806, 0.48181775, 0.82323897, -0.43659452,\n", + " -0.39230618, -0.56767344, 0.23886083, -0.4178109 , -0.43680894,\n", + " 0.15968394, -0.05690216, 0.6567981 , -0.6923975 , 0.5464737 ,\n", + " -0.26098818, -0.16786648, -0.16180566, 0.805358 , 0.16115981,\n", + " 0.41978118, 0.39132556, 0.4626196 , 0.42371756, -0.18822318,\n", + " 0.45774755, 0.07204169, -0.86568004, 0.05934478, 0.459054 ,\n", + " -0.10381915, -0.22139299, -0.40845713, -0.26227206, -1.0463864 ,\n", + " -0.31025946, 0.30001158, 0.7539976 , -0.47235617, -0.35770497,\n", + " -0.2704276 , 0.30824903, -0.14733827, 0.46700996, -0.83770853,\n", + " 0.2269185 , -0.26662648, 0.6326865 , -1.3552221 , 0.03666956,\n", + " 0.24061902, -0.84152526, 0.10080509, 0.435912 , 0.5429908 ,\n", + " -0.36978388, -0.85021925, -0.04115516, 0.12593868, 0.14885499,\n", + " -0.02296785, -0.14004676, -0.35459954, 0.50178933, 0.53665936,\n", + " -0.4243553 , 0.1247301 , 0.2984548 , 0.00939161, 0.01990146,\n", + " 0.19237866, -0.30214497, 1.1865892 , -0.13550971, -0.56564116,\n", + " 0.21578464, 0.52063406, -0.18550791, -0.9018661 , 0.2906284 ,\n", + " -0.2303815 , 0.3284327 , -0.45388597, 0.9852445 , -0.1338044 ,\n", + " -0.22731198, -0.4412627 , -0.06100829, 0.29467958, 0.7346881 ,\n", + " -0.3658415 , 0.3892717 , 1.0246668 , -0.28583062, -0.09846623,\n", + " 0.28132552, 0.5735887 , 0.40085393, -0.02253614, 0.62221843,\n", + " 0.73668456, -0.5110986 , 0.37871096, 0.37896314, -0.45458478,\n", + " -0.19574662, -0.35032195, 0.24751079, -0.06169019, -0.6355142 ,\n", + " 0.62589264, -0.13730757, 0.1075398 , -0.04302481, 0.09709013,\n", + " 0.5778902 , -0.62309057, 0.16840915, -0.3636644 , -0.6567919 ,\n", + " 0.08116896, -0.35605344, -0.25171864, 0.59787273, 0.24419805,\n", + " -0.06757798, 0.07714263, 0.26705495, 0.53460073, 0.09097607,\n", + " -0.15350346, 0.23017527, 0.19284713, -0.18528733, -0.03657087,\n", + " 0.07816639, -0.10359774, 0.21850573, -0.01764192, -0.23260617,\n", + " 0.20463182, 0.09853891, -0.07869617, 0.04432994, -0.22215326,\n", + " 0.03493002, -0.00786027, 0.45370266, 0.23501803, -0.5071402 ,\n", + " -0.19300827, -0.3861023 , -0.11932262, -0.02097966, -0.12162941,\n", + " 0.21920775, 0.03217101, -0.7055368 , -0.10286857, -0.24683583],\n", + " dtype=float32), memmap([-0.43704328, 0.16851279, -0.02601243, -0.4168659 , 0.5224745 ,\n", + " -0.7142246 , -0.12885816, -0.34436578, 0.42917573, 0.3045386 ,\n", + " -0.08298457, -0.14984162, 0.5831198 , -0.43861976, -0.03711507,\n", + " 0.6785138 , 0.81154084, 0.6048088 , 0.15759212, -0.27437976,\n", + " 0.40610436, 0.7107106 , 0.31907973, -0.56643194, -0.2333762 ,\n", + " -0.232309 , 0.26930478, -0.84855753, 0.15965381, -0.32424158,\n", + " -0.00523245, -0.71766424, 0.17675807, 0.01695049, 0.34313464,\n", + " 0.40653548, 0.50340587, 0.48564705, -0.09228632, 0.04486391,\n", + " 0.5951995 , -0.3139564 , -0.38185194, 0.52537715, -0.16477115,\n", + " -0.297901 , -0.46319473, 0.3508003 , 0.26041496, 0.07937319,\n", + " 0.35707846, 0.28729433, 0.02988764, 0.38840854, -0.31187415,\n", + " 0.31206766, -0.19074814, 0.34293324, -0.06722233, 0.09738967,\n", + " -0.7956899 , -0.7158977 , 0.47358373, 0.20765392, -0.216061 ,\n", + " 0.08355573, 0.5674395 , -0.7288827 , 0.22942673, 0.10188313,\n", + " 0.44288352, -0.4911556 , -0.04389782, -0.2898793 , 0.25662944,\n", + " 0.41891834, 0.0709367 , -0.73468864, -0.42741016, 0.28716776,\n", + " 0.53391683, 0.15716013, -0.33163205, 0.07225388, -0.23595211,\n", + " 0.35344008, -0.10157669, -0.34501886, -0.5122641 , 0.6390044 ,\n", + " 0.21933913, -0.3115119 , 0.29910016, 0.5659623 , -0.03358399,\n", + " -0.00193472, -0.6880251 , 0.29486933, 0.10980212, -0.09594101,\n", + " 0.29690126, 0.5913313 , -0.29688758, -0.46061993, 0.07246412,\n", + " 0.0805434 , -0.16526218, 0.22637607, 0.86492795, -0.38849187,\n", + " 0.17903516, -0.6180861 , 0.24439453, -0.36301985, -0.02965929,\n", + " -0.78820145, -0.06487131, 0.1825285 , -0.05630683, 0.21455152,\n", + " -0.18059276, 0.42041224, -0.24461502, -0.567747 , -0.28765854,\n", + " 0.6082309 , -0.03698164, -0.578393 , 0.6160879 , -0.17018496,\n", + " 0.48615724, 0.116336 , 0.39397898, -0.41099846, 0.16321197,\n", + " 0.35372427, -0.49958637, 0.20662603, 0.2038773 , 0.04572682,\n", + " -0.26657137, 0.13991252, -0.06601115, 0.03737917, 0.0380998 ,\n", + " 0.21199536, -0.67977315, 0.12702154, 0.68996567, -0.01940528,\n", + " -0.00620544, 0.02354749, 0.17335285, 0.13090533, 0.6455452 ,\n", + " -0.04186703, 0.41136578, -0.5651506 , 0.07603364, -0.27045494,\n", + " -0.42935705, 0.33144286, -0.2099001 , 0.61004084, 0.27491075,\n", + " 0.649559 , -0.3522523 , -0.6714804 , -0.51938534, -0.43280384,\n", + " -0.13927382, 0.26399016, -0.38233885, -0.30353945, -0.4417773 ,\n", + " -0.38795018, -0.31546074, 0.3286482 , -0.22237799, -0.45397872,\n", + " 0.48318398, -1.1950771 , 0.4714804 , -0.8430064 , 0.29040694,\n", + " -0.09525143, -0.68426037, -0.8060836 , -0.8018194 , -0.3993437 ,\n", + " -0.04741618, 0.48607898, 0.4597548 , -0.468694 , -0.26661292,\n", + " -0.42299426, 0.6655192 , 0.05668921, -0.18864775, -0.10226376,\n", + " 0.7484418 , -0.3359666 , -0.13154876, 0.17690389, 0.30966806,\n", + " -0.21480235, 0.12093903, -0.49554706, -0.41209584, 0.1880465 ,\n", + " -0.53453296, -0.04710912, -0.38869777, -1.0077711 , -0.3610903 ,\n", + " -0.21228951, 0.03051093, 0.5464496 , -0.05131094, 0.20543899,\n", + " 0.02992031, 0.36773217, -1.0533086 , 0.76720047, -0.58706594,\n", + " 0.95999926, -0.4792188 , 0.20755163, -0.05995932, -0.09290113,\n", + " -0.65401894, -0.71890354, 0.07409877, -0.4798239 , 0.14673023,\n", + " -0.76999164, 0.46697956, -0.10719278, 0.11801249, -0.04767519,\n", + " -0.00634744, -0.5722744 , 0.49527958, -0.00781797, -0.6562131 ,\n", + " -0.04025438, -0.4735397 , 0.53849965, -0.11708286, 0.40879008,\n", + " -0.5351275 , 0.26375774, 0.38303128, -0.47321445, 0.28118816,\n", + " -0.22255424, -0.23109892, 0.4600461 , -0.04164021, 0.82314825,\n", + " -0.11952572, 0.07120946, 0.61873853, 0.2888831 , -0.7436362 ,\n", + " -0.7408248 , 0.04528516, 0.38334835, -0.17638847, 0.40847474,\n", + " -0.16611834, -0.07722652, 1.4418545 , -0.10621136, -0.32124746,\n", + " 0.60380197, -0.03822711, 0.04754806, 0.4502709 , -0.23952693,\n", + " 0.08672749, -0.873503 , -0.6670881 , 0.405368 , -0.42750865,\n", + " 0.16198066, -0.5099588 , 0.50733304, 0.5181686 , -0.14966993,\n", + " -0.3101583 , 0.18488207, -0.11657072, -0.5372135 , -0.52833736,\n", + " 0.26373565, 0.45132634, -0.14235266, -0.72201425, 0.5884028 ],\n", + " dtype=float32), memmap([ 0.45276 , 0.063457, 0.247563, -0.115252, 0.020723, -0.536397,\n", + " -0.260064, 0.139575, -0.238889, 0.19069 , -0.173292, 0.09557 ,\n", + " 0.131441, 0.413704, 0.040792, -0.063668, 0.016248, -0.083254,\n", + " -0.214034, 0.033384, -0.233592, 0.23619 , -0.254382, 0.149682,\n", + " -0.052058, -0.267304, -0.209867, -0.489759, -0.078732, 0.052995,\n", + " 0.028081, -0.102169, 0.149331, 0.422868, 0.35068 , -0.14183 ,\n", + " 0.086175, 0.195618, -0.098818, -0.174006, 0.1912 , -0.35835 ,\n", + " 0.065301, 0.131453, 0.032487, 0.033677, 0.14361 , -0.032814,\n", + " 0.088664, -0.207759, 0.023549, 0.102896, 0.105861, 0.089039,\n", + " -0.487162, 0.352623, 0.138312, 0.086124, -0.203287, 0.001295,\n", + " -0.00459 , -0.057297, 0.370093, 0.066792, 0.03809 , 0.171513,\n", + " -0.244527, -0.097714, -0.093119, 0.227096, 0.160428, -0.313538,\n", + " -0.129719, 0.073701, 0.401143, -0.157984, 0.32976 , -0.182166,\n", + " 0.219265, 0.105068, -0.350571, 0.037501, -0.340924, 0.250467,\n", + " 0.060091, -0.281335, -0.158664, -0.106004, -0.20838 , 0.222396,\n", + " 0.153751, -0.116612, 0.122128, 0.391464, 0.016938, -0.085968,\n", + " 0.071059, -0.031022, 0.105347, 0.02279 , 0.088751, 0.130275,\n", + " 0.007028, 0.088868, 0.176008, -0.081614, -0.023103, 0.13988 ,\n", + " -0.09104 , 0.546032, 0.505563, -0.218103, 0.013397, 0.158733,\n", + " 0.012275, 0.337109, 0.130033, 0.299149, 0.356366, 0.11367 ,\n", + " 0.13699 , 0.112957, 0.142398, 0.102738, 0.371043, 0.195284,\n", + " -0.309559, -0.39787 , -0.032952, -0.059523, 0.043354, 0.173698,\n", + " 0.116488, 0.151006, -0.176497, 0.22993 , 0.04814 , -0.047728,\n", + " -0.045095, 0.10663 , -0.096288, -0.017658, 0.068096, 0.236744,\n", + " -0.195009, -0.394398, 0.018864, -0.313605, 0.003295, 0.325263,\n", + " 0.240954, -0.227938, -0.244489, -0.02028 , 0.059487, 0.091123,\n", + " -0.476628, 0.062406, 0.17312 , -0.173455, -0.145286, -0.368459,\n", + " -0.550035, -0.043911, -0.344575, 0.155624, -0.127594, 0.023031,\n", + " 0.259582, -0.179622, 0.520956, -0.272731, 0.103016, -0.378913,\n", + " -0.208856, -0.453862, 0.049916, -0.055754, -0.368626, -0.196425,\n", + " -0.170046, 0.034324, 0.663574, -0.019699, -0.163909, 0.123988,\n", + " -0.466244, 0.131718, -0.357213, 0.199614, 0.228894, -0.425143,\n", + " 0.134859, 0.015062, -0.101639, -0.018113, 0.044656, 0.043929,\n", + " -0.214353, -0.217944, 0.174555, -0.172908, 0.104369, -0.035861,\n", + " 0.435991, 0.288927, 0.068381, 0.164628, 0.401359, 0.114695,\n", + " -0.177388, -0.238462, 0.0757 , -0.200948, 0.148048, 0.069463,\n", + " 0.249192, -0.132481, 0.065092, -0.181453, 0.298211, 0.040259,\n", + " -0.079447, 0.302288, -0.00547 , 0.259621, 0.02166 , -0.165791,\n", + " 0.070262, 0.240404, 0.1705 , 0.082119, 0.03464 , -0.202832,\n", + " -0.233617, -0.067878, -0.133053, -0.222493, -0.273086, -0.019061,\n", + " 0.043268, -0.113359, 0.164553, -0.036621, -0.361226, 0.195043,\n", + " -0.221796, -0.017348, 0.145414, -0.15351 , 0.069218, -0.360388,\n", + " 0.163804, -0.150298, 0.177961, -0.2488 , 0.412251, 0.06104 ,\n", + " -0.283267, -0.087655, -0.145379, 0.537582, -0.289966, 0.245687,\n", + " -0.139974, -0.067648, 0.251582, -0.126123, -0.001532, 0.021558,\n", + " -0.154117, -0.154252, -0.051707, 0.165453, 0.16506 , 0.010888,\n", + " 0.305929, -0.357257, -0.05375 , 0.13987 , -0.075153, 0.219257,\n", + " -0.150093, 0.254249, 0.268181, -0.352941, -0.02545 , 0.309469,\n", + " -0.165501, 0.099614, 0.087635, -0.095583, 0.265635, 0.259882,\n", + " -0.142691, 0.075028, 0.58583 , -0.356721, -0.248431, -0.137001],\n", + " dtype=float32), memmap([-0.2502971 , 0.5693209 , 0.6859602 , 0.3502432 , 0.03042465,\n", + " -0.40302828, -0.48365286, -0.65839946, -0.3358731 , -0.51330286,\n", + " -0.20787436, -0.4027331 , 0.12128457, -0.09633358, -0.30481058,\n", + " 0.14851086, 0.5458918 , 0.19156294, 0.11829986, -0.23392801,\n", + " 0.392 , -0.48992926, 0.70208365, 0.6010129 , 0.5211704 ,\n", + " 0.81344384, -0.33858076, 0.2273095 , -0.07525846, -0.7354135 ,\n", + " 0.6687955 , -0.16666509, 0.21206343, 0.22326079, -0.34585255,\n", + " -0.42590532, 0.17167363, 0.78599393, -0.065249 , -1.2935292 ,\n", + " -0.4529947 , -0.02257312, 0.13528293, 0.18777046, 0.49390477,\n", + " -0.03556978, 0.5608253 , -0.17261927, -0.34256792, 0.61521316,\n", + " 0.12064233, 0.04716802, -0.1871616 , -0.28701207, 0.5829164 ,\n", + " -0.59850484, -0.5532849 , -0.175368 , 0.16818732, -0.3299332 ,\n", + " -0.39306253, 0.6729647 , -0.2507978 , 0.37720272, -0.54490966,\n", + " 0.49711213, 0.6085116 , 0.18110193, -0.33071607, -0.4212946 ,\n", + " -0.18897709, -0.04324469, 0.5247383 , 0.14580439, 0.0544477 ,\n", + " -0.05025896, -0.07921224, -0.13888495, -0.6286393 , 0.14243431,\n", + " 0.39440152, -0.04422115, -0.52977043, 0.1802003 , 0.32380036,\n", + " 0.9525845 , -0.47127846, -0.2737093 , 0.6637773 , 0.22393264,\n", + " 0.3896496 , -0.30210814, -0.27378252, -0.0409729 , -0.70492774,\n", + " -0.2959512 , 0.2401106 , -0.500258 , -0.13021185, 0.7562607 ,\n", + " -0.25253844, 0.09711885, 0.24976362, 0.7612688 , 0.66700494,\n", + " -0.8683097 , 0.9793068 , -0.35626546, 0.57284486, -0.2534546 ,\n", + " 0.48015976, 0.59566915, 0.36849758, 0.16913733, 1.2349902 ,\n", + " 0.1138988 , 0.47013798, 0.4346716 , 0.480029 , 0.5961265 ,\n", + " -0.11305673, -0.15467317, 0.15031485, 0.3414257 , 0.27386904,\n", + " 0.94369584, -0.92888415, -0.0955107 , 0.44188568, 0.7055486 ,\n", + " -0.11246148, 0.25021565, -0.09587555, 0.21151061, 0.02762759,\n", + " -0.71323097, -0.50389814, 0.12484976, -0.00257557, -0.23291202,\n", + " -0.158402 , 0.44622806, 0.48181775, 0.82323897, -0.43659452,\n", + " -0.39230618, -0.56767344, 0.23886083, -0.4178109 , -0.43680894,\n", + " 0.15968394, -0.05690216, 0.6567981 , -0.6923975 , 0.5464737 ,\n", + " -0.26098818, -0.16786648, -0.16180566, 0.805358 , 0.16115981,\n", + " 0.41978118, 0.39132556, 0.4626196 , 0.42371756, -0.18822318,\n", + " 0.45774755, 0.07204169, -0.86568004, 0.05934478, 0.459054 ,\n", + " -0.10381915, -0.22139299, -0.40845713, -0.26227206, -1.0463864 ,\n", + " -0.31025946, 0.30001158, 0.7539976 , -0.47235617, -0.35770497,\n", + " -0.2704276 , 0.30824903, -0.14733827, 0.46700996, -0.83770853,\n", + " 0.2269185 , -0.26662648, 0.6326865 , -1.3552221 , 0.03666956,\n", + " 0.24061902, -0.84152526, 0.10080509, 0.435912 , 0.5429908 ,\n", + " -0.36978388, -0.85021925, -0.04115516, 0.12593868, 0.14885499,\n", + " -0.02296785, -0.14004676, -0.35459954, 0.50178933, 0.53665936,\n", + " -0.4243553 , 0.1247301 , 0.2984548 , 0.00939161, 0.01990146,\n", + " 0.19237866, -0.30214497, 1.1865892 , -0.13550971, -0.56564116,\n", + " 0.21578464, 0.52063406, -0.18550791, -0.9018661 , 0.2906284 ,\n", + " -0.2303815 , 0.3284327 , -0.45388597, 0.9852445 , -0.1338044 ,\n", + " -0.22731198, -0.4412627 , -0.06100829, 0.29467958, 0.7346881 ,\n", + " -0.3658415 , 0.3892717 , 1.0246668 , -0.28583062, -0.09846623,\n", + " 0.28132552, 0.5735887 , 0.40085393, -0.02253614, 0.62221843,\n", + " 0.73668456, -0.5110986 , 0.37871096, 0.37896314, -0.45458478,\n", + " -0.19574662, -0.35032195, 0.24751079, -0.06169019, -0.6355142 ,\n", + " 0.62589264, -0.13730757, 0.1075398 , -0.04302481, 0.09709013,\n", + " 0.5778902 , -0.62309057, 0.16840915, -0.3636644 , -0.6567919 ,\n", + " 0.08116896, -0.35605344, -0.25171864, 0.59787273, 0.24419805,\n", + " -0.06757798, 0.07714263, 0.26705495, 0.53460073, 0.09097607,\n", + " -0.15350346, 0.23017527, 0.19284713, -0.18528733, -0.03657087,\n", + " 0.07816639, -0.10359774, 0.21850573, -0.01764192, -0.23260617,\n", + " 0.20463182, 0.09853891, -0.07869617, 0.04432994, -0.22215326,\n", + " 0.03493002, -0.00786027, 0.45370266, 0.23501803, -0.5071402 ,\n", + " -0.19300827, -0.3861023 , -0.11932262, -0.02097966, -0.12162941,\n", + " 0.21920775, 0.03217101, -0.7055368 , -0.10286857, -0.24683583],\n", + " dtype=float32), memmap([-0.34791982, 0.35519612, -0.2357776 , -0.15598239, 0.40842968,\n", + " -0.07716703, -0.37750414, -0.1011829 , 0.10936252, -0.06144233,\n", + " 0.23508106, -0.4193564 , 0.6613736 , 0.09719941, 0.22581628,\n", + " -0.04572814, 0.38854527, 0.12327043, 0.5914849 , -0.45474783,\n", + " 0.30133805, 0.9500505 , 0.29877782, 0.15602471, 0.08614317,\n", + " -0.16534169, 0.6388528 , -0.7290853 , 0.2161327 , -0.42732048,\n", + " -0.25721654, -0.36353788, 0.10769274, 0.00218416, -0.04622876,\n", + " 0.6006969 , 0.38186675, 0.6373773 , 0.30885363, -0.21828113,\n", + " 0.3739726 , 0.14815642, -0.32714102, 0.03677403, -0.63059735,\n", + " -0.4220095 , -0.32744214, 0.23211578, 0.42321107, -0.05722558,\n", + " 0.26803967, -0.2706911 , -0.05219204, -0.05424472, -0.22355926,\n", + " 0.1983524 , 0.2598351 , 0.5422917 , -0.18819982, 0.4785342 ,\n", + " -0.35591277, -0.33282754, -0.07390904, 0.21366185, -0.37500066,\n", + " 0.4891794 , 0.56845856, -0.21780765, 0.48941663, 0.2276083 ,\n", + " 0.47828814, -0.60836315, -0.01246514, -0.44337443, 0.19588524,\n", + " -0.31873792, 0.47275895, 0.05064954, -0.01413631, -0.13798603,\n", + " 0.52441746, 0.13424136, -0.43579292, 0.26190293, 0.28480116,\n", + " -0.02670246, -0.2889117 , -0.08038341, -0.03973486, 0.56454235,\n", + " 0.02029793, -0.8892638 , 0.06779003, 0.10327538, -0.12719914,\n", + " 0.22716945, -0.3884649 , 0.44756356, 0.43417794, 0.07219587,\n", + " -0.25571278, 0.33660802, 0.11323246, 0.13444889, -0.10157079,\n", + " 0.3112869 , -0.33286014, 0.14473471, 0.18306738, 0.10347184,\n", + " 0.24112451, 0.32636502, 0.5154524 , 0.13344556, 0.525867 ,\n", + " -0.66264164, 0.47533908, -0.4880552 , -0.3275483 , 0.17618012,\n", + " -0.09694817, 0.54932225, -0.13059703, -0.26231843, -0.2370771 ,\n", + " 0.8443317 , -0.07856084, -0.5146307 , 0.16666341, 0.09550036,\n", + " 0.03247118, -0.07383429, 0.4669772 , -0.2277151 , -0.518375 ,\n", + " 0.10275586, -0.10706193, 0.26353982, -0.11688339, -0.33552176,\n", + " -0.59102345, 0.01780802, -0.20528166, -0.2352671 , 0.24078798,\n", + " 0.18699683, -0.8802745 , 0.01402704, 0.53083193, 0.41630623,\n", + " -0.29602045, -0.07719743, -0.2214767 , 0.29589057, 0.00286799,\n", + " -0.07588245, 0.22708206, -0.63453597, 0.18555929, 0.13604456,\n", + " -0.04750459, 0.33158267, -0.7010693 , 0.26763576, 0.35792622,\n", + " 0.6403971 , -0.6189957 , -0.33163124, -0.5352795 , 0.09608977,\n", + " 0.07197314, 0.34976137, -0.11853023, -0.3255099 , -0.30089006,\n", + " 0.08450063, 0.05592928, 0.03574779, -0.47175035, 0.20533407,\n", + " 0.3341692 , -0.53694904, 0.6272017 , -1.1881298 , -0.11339198,\n", + " 0.09402371, -0.28602213, -0.5535675 , -1.1584214 , -0.48236263,\n", + " -0.04151005, 0.6257556 , 0.13397181, -0.25138286, 0.30362463,\n", + " -0.54184943, -0.14103508, 0.06468085, -0.47103256, -0.23030765,\n", + " 0.4033689 , -0.5092248 , 0.8239296 , -0.12316188, -0.2070601 ,\n", + " -0.20573497, -0.22442245, 0.11168428, -0.18406361, 0.36967453,\n", + " -0.15700668, 0.03018349, 0.19931987, -0.54206175, -0.10489228,\n", + " -0.18781194, 0.1340994 , 0.54338074, -0.29789436, -0.3693853 ,\n", + " 0.5509503 , 0.14932938, -0.24838218, 0.48303887, 0.16962981,\n", + " 0.40629503, -0.05752627, -0.14103585, -0.5083225 , 0.23446831,\n", + " -0.42314267, -0.53717977, 0.7368042 , -0.39958185, 0.23205267,\n", + " -0.2707408 , -0.5007544 , -0.47495243, -0.45760757, 0.06174152,\n", + " -0.0568627 , -0.639943 , 0.2323623 , -0.15481456, -0.08146472,\n", + " 0.14808469, -0.70276237, -0.13580577, -0.06164437, 0.16870958,\n", + " 0.15733808, -0.230485 , 0.15950418, -0.53286576, 0.01499614,\n", + " -0.1156303 , -0.8824443 , -0.21247798, 0.67809904, 0.7227184 ,\n", + " 0.55618143, -0.32235837, 0.05155268, 0.48962143, -0.63654184,\n", + " -0.45810324, 0.18834113, 0.07359651, 0.30268708, 0.6425273 ,\n", + " -0.17910716, 0.20491992, 1.6434997 , 0.4479256 , -0.07207586,\n", + " -0.00858526, -0.01359201, -0.09146912, 0.04082096, 0.04677895,\n", + " 0.08130396, -0.372898 , 0.1400561 , 0.10254738, -0.0631671 ,\n", + " -0.04109211, -0.64642936, 0.48025507, 0.80463976, -0.38774303,\n", + " 0.13353033, -0.05461905, 0.22057864, -0.21837483, -0.446688 ,\n", + " 0.5173492 , 0.3571514 , -0.13914755, -0.02809314, 0.26627868],\n", + " dtype=float32), memmap([ 9.01694447e-02, 8.03210139e-01, -5.34545004e-01,\n", + " 6.22451007e-01, 1.30447850e-01, 3.98860008e-01,\n", + " -2.81036675e-01, -2.66458601e-01, 1.62521020e-01,\n", + " -8.69627476e-01, 2.07344696e-01, 3.00233006e-01,\n", + " -4.47309799e-02, 4.83398885e-01, -1.45689964e-01,\n", + " 1.08551331e-01, 5.43114305e-01, -2.85343081e-01,\n", + " 3.96210738e-02, 8.70177150e-01, 7.52192795e-01,\n", + " 5.13121068e-01, -5.73152900e-01, 3.56365710e-01,\n", + " -4.06843662e-01, -6.10314310e-02, -9.27350104e-01,\n", + " 8.92196074e-02, 1.28358662e-01, -3.44825923e-01,\n", + " -5.69313645e-01, 3.01252604e-01, -2.59823710e-01,\n", + " 3.64413857e-01, 3.96455169e-01, -3.56110394e-01,\n", + " 1.37726218e-01, -6.93357646e-01, -2.17148215e-01,\n", + " 7.91072324e-02, -4.25597131e-01, -2.70239890e-01,\n", + " -1.89980716e-01, -4.56576943e-01, 2.18834788e-01,\n", + " 3.52627188e-01, -7.17597529e-02, 9.93652403e-01,\n", + " 5.59869587e-01, -7.32992470e-01, 1.07106334e-02,\n", + " -2.22890168e-01, -5.23715556e-01, 6.83760822e-01,\n", + " -8.48607421e-02, 3.23531210e-01, -4.48498785e-01,\n", + " 4.51105952e-01, 1.22315548e-01, -2.10519493e-01,\n", + " 4.50348258e-02, 2.32003987e-01, -2.12268457e-01,\n", + " -9.66907144e-01, -1.81940064e-01, -8.42559040e-01,\n", + " 1.25876248e-01, 3.45521122e-01, 3.32219861e-02,\n", + " 5.26984811e-01, -5.67627251e-02, 8.48244056e-02,\n", + " -7.28437424e-01, 1.33252680e+00, -6.43782467e-02,\n", + " 2.56350815e-01, 5.30367196e-01, -6.66801035e-01,\n", + " 2.33319893e-01, -6.42955899e-01, 3.76629800e-01,\n", + " 7.56264031e-01, -1.10544823e-01, -6.06612146e-01,\n", + " -1.78917274e-01, 2.90927976e-01, -3.35938960e-01,\n", + " 1.78479820e-01, -1.06062502e-01, 6.29957974e-01,\n", + " -2.78801054e-01, 5.45247868e-02, 1.80530757e-01,\n", + " -2.74094701e-01, -8.07938039e-01, 1.07625318e+00,\n", + " 4.95370567e-01, 1.15660876e-01, -3.35013084e-02,\n", + " -1.27915478e+00, -7.42969811e-01, -4.38583225e-01,\n", + " 2.72299439e-01, 1.09564684e-01, -5.62682524e-02,\n", + " -4.45274234e-01, -1.76168561e-01, -3.44965965e-01,\n", + " 2.51184106e-01, 3.63869406e-02, -5.76074898e-01,\n", + " -1.74309179e-01, -1.85222730e-01, 4.75964457e-01,\n", + " 4.83951792e-02, 1.43202301e-02, -4.15548272e-02,\n", + " 2.44117692e-01, 9.58050191e-01, 2.40100664e-03,\n", + " 1.03639476e-01, 3.06341022e-01, 2.61109024e-01,\n", + " -7.27743626e-01, 3.45410109e-01, -8.09684843e-02,\n", + " -1.45032287e-01, 4.07429487e-01, -1.76782891e-01,\n", + " -4.49191183e-01, 5.52609682e-01, -2.86268294e-01,\n", + " -1.39279678e-01, -2.18055949e-01, -8.29666033e-02,\n", + " 6.95487618e-01, -3.69144529e-01, -4.04110014e-01,\n", + " 3.81218702e-01, -3.52282733e-01, -1.45179644e-01,\n", + " -5.23660958e-01, -7.18031466e-01, -1.36056423e-01,\n", + " 2.65635759e-01, -8.20005059e-01, -3.56588811e-02,\n", + " 2.04994738e-01, 4.35185939e-01, 1.10868186e-01,\n", + " -6.61428273e-02, 1.66190609e-01, 6.07761502e-01,\n", + " 6.91881180e-02, 9.39651392e-03, 1.25121132e-01,\n", + " -9.84386057e-02, -5.35925865e-01, -5.04733562e-01,\n", + " -4.17689443e-01, -6.48444965e-02, -2.41766945e-01,\n", + " -1.10984850e-03, -1.33946493e-01, 7.30447114e-01,\n", + " -5.64690232e-01, 1.15992047e-01, -1.95844784e-01,\n", + " 1.09578513e-01, 2.10683867e-01, -1.58782527e-01,\n", + " 4.32250798e-01, 5.48156612e-02, 2.31027901e-01,\n", + " -2.55585194e-01, -1.10320918e-01, 5.84385455e-01,\n", + " 3.24132800e-01, 4.98352438e-01, -1.20025143e-01,\n", + " -2.29703233e-01, -1.46611571e-01, 2.66768843e-01,\n", + " 1.01161174e-01, -4.13505137e-01, 7.64947593e-01,\n", + " -2.70925492e-01, 1.05576181e+00, -4.51922446e-01,\n", + " 6.55866265e-02, 5.91645464e-02, -7.95216203e-01,\n", + " 4.68347967e-01, -8.54013711e-02, -6.28419161e-01,\n", + " 1.71382591e-01, 1.06580310e-01, -8.20194483e-01,\n", + " 2.80909777e-01, 1.70946926e-01, 3.16643603e-02,\n", + " -9.18977484e-02, -1.81054100e-02, 5.14127553e-01,\n", + " 1.82451117e+00, 3.07988301e-02, 7.39034936e-02,\n", + " -5.62331438e-01, 1.20318246e+00, 6.34692729e-01,\n", + " -7.05497205e-01, 1.95700839e-01, 8.67861271e-01,\n", + " -4.12229784e-02, -9.24276933e-02, 4.15075690e-01,\n", + " -1.58543378e-01, 2.26563737e-01, -6.24009788e-01,\n", + " 9.45139825e-01, -4.25323918e-02, 5.36156595e-01,\n", + " -3.11758757e-01, 2.21705571e-01, 4.67558116e-01,\n", + " 7.05071807e-01, -1.36555448e-01, -5.02718866e-01,\n", + " -2.66441494e-01, -9.81704518e-02, -2.15108544e-01,\n", + " 4.20052558e-01, -1.58618599e-01, -5.54949008e-02,\n", + " -3.19383144e-01, -1.88580126e-01, -2.34146282e-01,\n", + " 4.11823183e-01, -1.06432116e+00, 7.06672072e-01,\n", + " -5.47805429e-01, -4.71903205e-01, -6.45270586e-01,\n", + " 1.67269617e-01, -2.35861525e-01, -2.60154724e-01,\n", + " -3.75503689e-01, 2.27488592e-01, 5.31940639e-01,\n", + " -6.10238910e-01, -1.67360231e-01, -3.20991695e-01,\n", + " 2.63001382e-01, -1.22363299e-01, 4.46716070e-01,\n", + " -1.84705481e-01, -2.11149380e-01, -2.30468377e-01,\n", + " -3.98196042e-01, -6.91383481e-01, -3.84476393e-01,\n", + " 2.01930657e-01, 2.30427548e-01, -1.43801153e-01,\n", + " -1.99646890e-01, 1.18758850e-01, -2.51540810e-01,\n", + " 3.63793552e-01, -3.16113770e-01, 2.59674221e-01,\n", + " 4.76517916e-01, -4.86899577e-02, 1.13304198e+00,\n", + " 6.82228506e-01, 8.68285373e-02, 7.55459666e-02,\n", + " 3.58525753e-01, -1.14006847e-01, 1.63328961e-01,\n", + " 5.74026585e-01, -7.47784078e-01, -5.78479692e-02,\n", + " -6.92155480e-01, 1.97840184e-01, 6.52225733e-01,\n", + " 1.60357967e-01, 1.78595752e-01, 7.65377164e-01,\n", + " -2.42945462e-01, -3.32008488e-02, 2.76101232e-01,\n", + " -1.29968241e-01, -3.11500639e-01, 1.41925231e-01,\n", + " -3.79572123e-01, -1.89319596e-01, 4.57720369e-01,\n", + " 1.59350429e-02, -1.81523904e-01, 1.20924570e-01], dtype=float32), memmap([-2.91859e-01, 1.71496e-01, 1.98130e-02, 7.94780e-02,\n", + " 8.42950e-02, -1.97590e-01, 2.42408e-01, -2.14541e-01,\n", + " 3.62499e-01, -3.21451e-01, -3.20657e-01, -1.89904e-01,\n", + " 3.38341e-01, 2.70734e-01, 3.38894e-01, 1.67725e-01,\n", + " 1.54544e-01, -4.57951e-01, 5.44990e-01, -1.60646e-01,\n", + " 1.95800e-03, 2.76465e-01, 4.02800e-02, 5.60716e-01,\n", + " 3.17595e-01, -3.73842e-01, -6.24115e-01, -1.60740e-01,\n", + " -4.12827e-01, 4.21520e-02, 1.60795e-01, 3.52130e-02,\n", + " 3.86200e-03, 4.02240e-02, -2.82815e-01, -6.82410e-02,\n", + " 3.56572e-01, -1.63259e-01, 5.36368e-01, -2.26000e-02,\n", + " 9.70210e-02, -1.84392e-01, 2.86935e-01, 8.66700e-02,\n", + " -2.38186e-01, 3.71261e-01, -1.37881e-01, -1.14398e-01,\n", + " 3.27690e-02, 9.78250e-02, 7.66040e-02, 4.72360e-02,\n", + " 1.01139e-01, -6.27510e-02, -6.66020e-01, 4.62687e-01,\n", + " -4.59136e-01, -3.64595e-01, 3.54286e-01, -2.38920e-02,\n", + " 2.82636e-01, 9.74850e-02, 7.11480e-02, -2.34573e-01,\n", + " 1.51205e-01, 2.77129e-01, 2.86635e-01, 3.22853e-01,\n", + " -2.50220e-01, 4.68700e-03, 4.46516e-01, -2.65718e-01,\n", + " 2.24326e-01, -3.64750e-02, -1.35068e-01, -1.09016e-01,\n", + " -1.32661e-01, -2.02232e-01, 5.47872e-01, -6.97900e-02,\n", + " -1.70061e-01, -3.64330e-02, 1.80927e-01, 2.20481e-01,\n", + " -8.89620e-02, -1.87434e-01, 9.11350e-02, 4.03824e-01,\n", + " -3.41640e-02, 1.48683e-01, 1.55016e-01, -2.15815e-01,\n", + " -3.09990e-02, -4.50719e-01, -2.11747e-01, -3.93282e-01,\n", + " 7.22186e-01, 7.88000e-03, -3.69995e-01, 2.04822e-01,\n", + " 3.30800e-03, -6.35700e-03, 2.22183e-01, 2.47665e-01,\n", + " -2.78561e-01, 5.51204e-01, 4.14360e-02, 6.48630e-02,\n", + " -1.50724e-01, 1.16312e-01, 7.80745e-01, -3.32806e-01,\n", + " 9.86340e-02, -1.14700e-02, 2.68484e-01, 4.71265e-01,\n", + " -2.07123e-01, -1.46280e-02, 2.68643e-01, -5.05970e-02,\n", + " -4.03610e-02, 3.27670e-01, -1.22859e-01, 9.71660e-02,\n", + " -2.96715e-01, 4.26015e-01, -2.55260e-01, -2.24000e-04,\n", + " -1.89685e-01, 3.69760e-02, 5.01237e-01, -2.22924e-01,\n", + " 1.40943e-01, 2.21700e-01, 1.69787e-01, -2.07925e-01,\n", + " 2.12429e-01, 3.16652e-01, 6.71081e-01, -1.39366e-01,\n", + " 1.92994e-01, -6.74601e-01, -1.83834e-01, 3.44213e-01,\n", + " -6.16660e-02, -2.42500e-03, -3.26144e-01, -2.45802e-01,\n", + " 6.15400e-03, 4.67868e-01, 1.33673e-01, -1.53093e-01,\n", + " 3.39316e-01, 3.62951e-01, 1.88350e-01, 2.55853e-01,\n", + " 9.41720e-02, 8.00840e-02, -7.41660e-02, 2.09565e-01,\n", + " 8.36620e-02, -3.61359e-01, 2.40940e-02, -2.59719e-01,\n", + " -9.96600e-02, 3.58237e-01, 1.90990e-02, -1.76954e-01,\n", + " 1.02065e-01, -1.58037e-01, 7.36020e-02, -3.17149e-01,\n", + " 2.87415e-01, -7.93660e-02, 4.27760e-02, -8.61105e-01,\n", + " -6.09410e-02, 4.75475e-01, -3.32331e-01, 7.17650e-02,\n", + " 1.72830e-02, -3.35940e-01, -2.41679e-01, -8.30355e-01,\n", + " -2.52220e-01, 1.73292e-01, -5.02888e-01, -5.03740e-02,\n", + " -1.62793e-01, 2.83807e-01, 3.83547e-01, -1.45189e-01,\n", + " -3.30878e-01, 2.47236e-01, -2.17824e-01, -3.32247e-01,\n", + " -3.24812e-01, 1.47400e-02, -5.92011e-01, 3.04927e-01,\n", + " 3.56587e-01, -1.30710e-02, 1.92890e-01, -1.84084e-01,\n", + " 3.08600e-02, -6.24211e-01, 3.29919e-01, -3.81139e-01,\n", + " 7.42700e-02, -2.50516e-01, -2.13048e-01, -1.58862e-01,\n", + " -2.43507e-01, 1.16811e-01, -5.71340e-02, -9.86590e-02,\n", + " -1.59368e-01, -1.01566e-01, 2.77960e-01, -3.23000e-01,\n", + " -2.10002e-01, -2.59114e-01, 4.13573e-01, -1.18858e-01,\n", + " -5.23921e-01, 4.74439e-01, -1.21134e-01, -3.25018e-01,\n", + " 3.56011e-01, 4.24204e-01, -4.50770e-02, -2.86427e-01,\n", + " -5.31680e-01, 1.84582e-01, 1.49156e-01, -3.67100e-02,\n", + " 6.56872e-01, 4.79104e-01, -1.87526e-01, 3.50571e-01,\n", + " 1.50770e-01, 3.33389e-01, -2.84554e-01, -4.27486e-01,\n", + " -2.03209e-01, 1.90184e-01, -6.66749e-01, -3.86170e-02,\n", + " -4.02178e-01, -3.48460e-02, -1.46745e-01, 5.47992e-01,\n", + " 4.70446e-01, 2.69041e-01, 8.02100e-02, 1.15680e-01,\n", + " -7.90700e-02, 5.63131e-01, 2.55225e-01, 3.33158e-01,\n", + " 1.23934e-01, 3.93892e-01, 1.23042e-01, -6.98190e-02,\n", + " -6.91177e-01, -2.25975e-01, -3.92675e-01, 1.79137e-01,\n", + " -1.60876e-01, 2.97880e-02, -2.45190e-02, 2.71092e-01,\n", + " 5.82064e-01, 3.82500e-03, 1.15260e-02, -1.87486e-01,\n", + " -1.37500e-03, -1.14856e-01, -1.10579e-01, -5.87320e-02,\n", + " 2.27700e-01, 6.73780e-02, 1.45953e-01, 6.32630e-02,\n", + " -3.37030e-01, 1.40121e-01, -6.39710e-02, 1.58370e-02,\n", + " 3.89517e-01, -1.33702e-01, 6.38324e-01, -2.62946e-01,\n", + " -3.47327e-01, 5.31579e-01, -2.97044e-01, 5.77800e-02,\n", + " 8.42650e-02, 1.60896e-01, -8.32500e-03, 2.39908e-01],\n", + " dtype=float32), memmap([-0.01069674, 0.784889 , -0.71612287, 0.17218162, -0.3745812 ,\n", + " 0.14747179, 0.325867 , -0.3864536 , 0.79961747, -0.7342521 ,\n", + " -0.10132218, -0.03087465, 0.39321578, 1.2981384 , 0.6574328 ,\n", + " -0.21325752, 0.36587703, -0.64221877, 0.2680059 , 0.41548297,\n", + " 0.28336582, -0.29042128, 0.12442327, -0.2790927 , -0.32560316,\n", + " 0.43713734, -0.06710089, 0.5172826 , 0.38308722, -0.24680807,\n", + " 0.25847656, 0.12168127, 0.13171281, 0.4209564 , -0.1754027 ,\n", + " 0.3897739 , 0.21586442, -0.03287926, -0.6132766 , 0.75639856,\n", + " 0.41070783, 0.0526107 , -0.21985906, 0.92703485, -0.1851084 ,\n", + " -0.23361325, -0.37407705, 0.08447029, 0.07476165, 0.04356008,\n", + " -0.50962174, 0.5491707 , -0.19463986, 0.431551 , -0.35432756,\n", + " 0.5949471 , 0.07391538, 0.19095764, 0.7079201 , -0.14103147,\n", + " 0.21583785, 0.07607473, -0.37439385, -0.132243 , -0.23089217,\n", + " 0.5637565 , -0.08874281, 0.07258239, -0.23242876, 0.30029964,\n", + " 0.2565416 , -0.6782182 , 0.19562888, 0.7687493 , -0.09814697,\n", + " -0.6421607 , -0.04173051, -0.9359529 , 0.36513975, -0.32765403,\n", + " 0.37495163, -0.76188207, 0.48770002, -0.02736046, -0.8687511 ,\n", + " 0.36120042, 0.03428387, -0.48152724, -0.05464736, 0.10435168,\n", + " 0.71735543, 0.45062402, 0.21689463, -0.44776374, -0.5542298 ,\n", + " 0.6593829 , -0.07587034, -0.45574874, 0.5415102 , 0.09838533,\n", + " 0.32904494, 0.3985736 , 0.71494347, 0.02032736, 0.5245265 ,\n", + " -0.036254 , -0.00722693, 0.07963859, 0.68644536, 0.31865224,\n", + " -0.1028218 , -0.15051402, -0.12334364, 0.24397622, -0.05135791,\n", + " -0.27758986, 0.12172776, -0.3758707 , 0.432473 , -0.11209564,\n", + " -1.0749223 , -0.00227854, -0.36702475, -0.21058148, -0.16809443,\n", + " -0.14511304, -0.18100214, -0.0735037 , -0.15730987, -0.20379107,\n", + " 0.72122777, -0.0373507 , 0.14455529, 0.64089876, -0.20180388,\n", + " 0.08569095, -0.511011 , 0.13259526, 0.33144072, -0.70857614,\n", + " 0.360508 , -0.13278759, -0.4974671 , 0.06626085, -0.50233245,\n", + " -0.35596946, 0.00660161, 0.09457266, -0.4519763 , 0.5999755 ,\n", + " 0.25649253, -0.27322745, -0.30349517, 0.476796 , 0.07364963,\n", + " -0.6424703 , 0.48794287, 0.47111857, -0.18111478, -0.8180616 ,\n", + " -0.16207317, 0.09332414, 0.28605446, -0.08486152, 0.7568791 ,\n", + " 0.19978954, 0.401991 , -0.04694134, -0.31807116, 0.41073516,\n", + " 0.6160313 , 0.3727359 , -0.4916867 , -0.2773834 , -0.68559813,\n", + " -0.10127139, -0.15582176, -0.07905608, -0.10284759, -0.02976787,\n", + " -0.15557499, -0.34911123, 0.1429467 , -0.7696278 , 0.09184483,\n", + " 0.5811503 , -0.37979087, 0.07065117, -0.86321694, -0.6800149 ,\n", + " -0.57272726, 0.17771941, -0.34534088, 0.42347515, -0.13729894,\n", + " 0.28493682, -0.26472834, -1.1045138 , -0.65894735, 0.30862215,\n", + " 0.19225428, -0.1873158 , -0.256507 , 0.7279807 , 0.7215188 ,\n", + " 0.07208072, 0.15423204, 0.1506554 , 0.24112341, 0.71078587,\n", + " 0.8535451 , -0.05553541, 0.25919765, -0.3498488 , -0.87635547,\n", + " 0.23855728, -0.20929572, 0.18998337, 0.06713889, -0.35666323,\n", + " -0.4211873 , -0.1920289 , -0.91366905, -0.17976095, -0.6765706 ,\n", + " 0.6308671 , -0.29565874, 0.3436451 , 0.6492343 , -0.14633289,\n", + " -0.39316434, 0.5181203 , -0.3021579 , -0.47532278, 0.20014016,\n", + " -0.22486117, -0.4166756 , -0.335914 , 0.6593193 , 0.1155796 ,\n", + " -0.04225529, -0.07837619, 0.19604325, -0.49031246, 0.30183294,\n", + " 0.13386247, -0.35518768, 0.25508466, 0.69115275, -0.34798506,\n", + " -0.8630532 , 0.6290174 , 0.12430409, -0.08725208, -0.289071 ,\n", + " -0.19836544, -0.47189903, 0.7777611 , 0.31165242, -0.15580112,\n", + " -0.15023156, 0.29122642, -0.19900298, 0.10173718, -0.30366927,\n", + " -0.09656136, -0.22157972, 0.29007822, 0.6130066 , 0.16695194,\n", + " -0.08567291, -0.7603979 , 0.43253636, -0.04516809, -0.3448763 ,\n", + " 0.14303319, 0.3566806 , -0.02215862, -0.02550617, -0.5052465 ,\n", + " -0.4890144 , 0.13124675, -0.2785275 , -0.10777355, 0.44512418,\n", + " 0.12223653, -0.2581496 , 1.1976744 , -0.19339445, -0.03554999,\n", + " 0.5426284 , 0.30109665, 0.3819234 , 0.14608568, -0.34081262,\n", + " 0.62189686, 0.10108691, -0.01087047, 0.11985823, 0.23693536],\n", + " dtype=float32), memmap([ 1.99654594e-01, -2.37087026e-01, -2.93496698e-01,\n", + " -4.66433436e-01, 3.87250751e-01, 8.60441089e-01,\n", + " 2.40201712e-01, -2.17927128e-01, 1.31442651e-01,\n", + " 3.31336886e-01, 2.44524509e-01, 1.13888323e+00,\n", + " 6.76692426e-01, 8.27517867e-01, 7.98890665e-02,\n", + " -2.63942927e-01, -5.43787003e-01, -1.48180202e-01,\n", + " -4.35045928e-01, -5.02197109e-02, -4.00830239e-01,\n", + " 3.83878291e-01, 4.61699128e-01, 4.50384110e-01,\n", + " 8.93078074e-02, 2.13038191e-01, -8.49632263e-01,\n", + " -8.85742128e-01, 2.00356126e-01, -2.01791734e-03,\n", + " 8.68832886e-01, -1.21375933e-01, -3.68088074e-02,\n", + " -4.29921448e-01, -3.01875889e-01, 3.39923382e-01,\n", + " -5.48791111e-01, 4.39572990e-01, 4.85224605e-01,\n", + " 4.35715348e-01, -4.08248156e-01, -2.26180032e-01,\n", + " -1.09671259e+00, 6.56543016e-01, 3.86172473e-01,\n", + " 6.76860571e-01, 3.36472869e-01, 3.61787289e-01,\n", + " -1.18823379e-01, 3.40041369e-01, -6.53550327e-01,\n", + " 1.02579221e-01, 4.58543837e-01, 1.97107434e-01,\n", + " 5.38888276e-01, 2.20517993e-01, -1.37719736e-01,\n", + " -3.30953807e-01, -6.13317378e-02, -7.30017543e-01,\n", + " -2.15193734e-01, -5.30998558e-02, -4.30236876e-01,\n", + " -1.17378734e-01, -5.02884567e-01, -2.96487749e-01,\n", + " -2.77989447e-01, -6.90853447e-02, -4.79571581e-01,\n", + " -6.07588887e-01, 3.35783996e-02, 1.47134578e-02,\n", + " 1.26279429e-01, 6.62257969e-01, -1.02791464e+00,\n", + " -3.88554662e-01, 1.13029592e-01, 1.10164993e-01,\n", + " -2.09666163e-01, -9.12277326e-02, 7.15345442e-02,\n", + " 6.32087648e-01, -1.13230908e+00, 4.23320830e-01,\n", + " 6.08638644e-01, -6.86350167e-01, -4.15446460e-01,\n", + " -2.99153090e-01, 3.87334615e-01, 3.98809947e-02,\n", + " 1.78572401e-01, -5.15469670e-01, -1.09219089e-01,\n", + " 4.13503557e-01, -1.15086663e+00, -8.36187527e-02,\n", + " 3.52384359e-01, 3.45332146e-01, -1.00074209e-01,\n", + " -2.42569223e-01, 3.84538025e-01, 2.15588555e-01,\n", + " 2.16975778e-01, -1.49549618e-01, -2.52628207e-01,\n", + " 1.15902744e-01, -8.06187466e-02, -2.18802780e-01,\n", + " -2.30899423e-01, 7.13364175e-03, 8.11153874e-02,\n", + " 1.31902486e-01, 5.97971380e-02, 1.40233725e-01,\n", + " 4.22174811e-01, -1.05045795e-01, 1.55118823e-01,\n", + " 3.12930346e-01, -3.32753420e-01, -3.07787657e-02,\n", + " 3.28572899e-01, -5.51850498e-01, -7.94088364e-01,\n", + " -5.39908409e-01, 4.13902253e-01, -6.22710228e-01,\n", + " -8.51291835e-01, -6.68255806e-01, -1.64871991e-01,\n", + " 7.24653807e-03, -8.68061900e-01, 2.37154588e-01,\n", + " 3.80395204e-01, -4.37118411e-01, -1.21628210e-01,\n", + " 5.46301454e-02, -2.42903337e-01, -2.18450561e-01,\n", + " -6.81634784e-01, -4.87201482e-01, -3.11578035e-01,\n", + " -6.99482441e-01, -1.50930792e-01, 4.33404818e-02,\n", + " 3.40556324e-01, -4.99433517e-01, -4.51064348e-01,\n", + " 5.16275883e-01, -6.42158031e-01, 3.72923873e-02,\n", + " -3.90012801e-01, -1.81266174e-01, 1.28882915e-01,\n", + " -2.51496673e-01, 6.99955106e-01, -3.86323154e-01,\n", + " -6.62946478e-02, 7.48578906e-01, -3.18468595e-03,\n", + " -1.00123584e-01, -5.20642817e-01, -3.36228907e-01,\n", + " 6.55425787e-02, -1.32554874e-01, 1.40380347e-02,\n", + " 2.88521349e-01, -2.23329097e-01, -8.03090110e-02,\n", + " -6.70402199e-02, 2.00003937e-01, 6.29853010e-01,\n", + " 6.36742115e-01, -2.56263345e-01, 4.94402088e-02,\n", + " 3.61312717e-01, -4.87993620e-02, -6.68769777e-01,\n", + " 6.38483286e-01, -9.95173976e-02, -4.30104136e-01,\n", + " -9.92527783e-01, 9.45710912e-02, 1.90517560e-01,\n", + " 1.07650608e-01, -2.89107740e-01, 3.59574527e-01,\n", + " -3.60373020e-01, 7.99597353e-02, -3.70085150e-01,\n", + " 2.81075656e-01, 1.58080086e-01, -4.08141404e-01,\n", + " 2.19353139e-01, 3.82136852e-01, 2.06826568e-01,\n", + " -2.94361979e-01, -1.67549357e-01, 1.63328469e-01,\n", + " 2.93670177e-01, -2.63364792e-01, 5.27008064e-03,\n", + " -1.74294431e-02, 1.97833315e-01, 5.35014570e-02,\n", + " 9.02058840e-01, 4.61390227e-01, -2.69476533e-01,\n", + " -2.53290892e-01, -2.64186084e-01, -2.79663056e-01,\n", + " -9.91954267e-01, 9.08527300e-02, 1.05412588e-01,\n", + " -5.61778247e-01, -1.24007731e-03, 6.61543787e-01,\n", + " -5.19156456e-01, -2.04315618e-01, -6.05369627e-01,\n", + " -3.76436502e-01, -2.99251080e-02, -2.88753420e-01,\n", + " 1.64275408e-01, 4.30674702e-01, 2.01647505e-01,\n", + " -5.03063276e-02, 1.18171006e-01, 8.69960189e-01,\n", + " 4.98237789e-01, 5.83704282e-03, 1.26832187e-01,\n", + " -1.15257010e-01, -2.32785061e-01, -6.65155426e-02,\n", + " 5.73825359e-01, 3.89369428e-02, 4.41322118e-01,\n", + " -1.13425024e-01, -1.01481915e+00, 5.50503612e-01,\n", + " 2.58898765e-01, -7.33829916e-01, 9.87380803e-01,\n", + " 1.69322979e+00, -2.12806731e-01, 1.32573470e-01,\n", + " -4.07570779e-01, -1.09593666e+00, -5.44142306e-01,\n", + " -6.53025955e-02, 5.58194160e-01, 9.88444984e-01,\n", + " -3.07919949e-01, 4.48079288e-01, -3.24068964e-01,\n", + " 3.56851965e-01, -4.54864576e-02, 6.26840055e-01,\n", + " 2.55284637e-01, 2.63690442e-01, 8.08287323e-01,\n", + " -1.89413894e-02, -3.71473104e-01, 2.72551745e-01,\n", + " -3.30542117e-01, 8.16966772e-01, -1.31613985e-01,\n", + " -2.20203757e-01, 1.04632556e+00, 4.75421995e-01,\n", + " -2.03819759e-02, -1.38150230e-01, 6.43720150e-01,\n", + " 2.43332684e-02, -8.45639184e-02, 5.14911771e-01,\n", + " -1.20313272e-01, -5.06992191e-02, 2.08083451e-01,\n", + " 6.43381298e-01, 3.45074445e-01, -6.76532745e-01,\n", + " 1.34241760e-01, 3.90527606e-01, 1.50164500e-01,\n", + " -2.18128815e-01, 4.57114339e-01, -2.31545329e-01,\n", + " -6.97049916e-01, -7.76354611e-01, 2.23538488e-01,\n", + " -1.06878288e-01, 5.44446528e-01, -7.52389610e-01,\n", + " -2.52043619e-03, 2.80512571e-01, 4.09945667e-01,\n", + " -3.36379170e-01, 2.35387713e-01, 3.36108357e-01], dtype=float32), memmap([ 6.11040e-02, 9.10580e-02, 3.98535e-01, -1.06030e-01,\n", + " 4.87924e-01, -1.27135e-01, -2.99138e-01, -4.59622e-01,\n", + " -1.00816e-01, -3.98857e-01, 3.00007e-01, 2.55331e-01,\n", + " -1.62344e-01, 2.59439e-01, -2.16205e-01, 3.11891e-01,\n", + " -5.17941e-01, -6.50629e-01, -2.26656e-01, -1.19600e-01,\n", + " 4.34590e-01, -3.94516e-01, -4.67310e-01, 8.26995e-01,\n", + " -3.71736e-01, -1.08250e-01, -2.71704e-01, -1.99963e-01,\n", + " 3.23790e-01, -1.25111e-01, 3.33705e-01, -1.85551e-01,\n", + " 3.20779e-01, 2.73558e-01, -3.05076e-01, 1.51905e-01,\n", + " 1.44190e-01, -1.71718e-01, -1.23270e-02, 9.51110e-02,\n", + " 1.21854e-01, -6.27500e-02, -7.01838e-01, -5.81770e-02,\n", + " -2.16930e-02, -1.62262e-01, -1.16925e-01, -1.89580e-02,\n", + " -1.00628e-01, -1.34927e-01, 2.02139e-01, 2.80564e-01,\n", + " 1.65419e-01, 3.93120e-02, -1.99508e-01, 1.89540e-01,\n", + " -7.18690e-02, -2.24014e-01, -1.52029e-01, 8.14000e-04,\n", + " 1.40781e-01, 3.73490e-02, -8.60070e-02, -4.04660e-02,\n", + " -1.30719e-01, -1.83420e-02, -4.75198e-01, 4.50032e-01,\n", + " 1.43566e-01, -1.05646e-01, 2.90820e-02, -9.73130e-02,\n", + " -1.83216e-01, 3.05007e-01, -5.17360e-02, 4.00760e-02,\n", + " 2.20022e-01, 2.47700e-03, -4.57970e-01, 8.80820e-02,\n", + " 2.48298e-01, -2.41285e-01, -1.95828e-01, -3.73460e-02,\n", + " 1.16727e-01, 8.46600e-02, 2.92569e-01, -5.16243e-01,\n", + " -9.97140e-02, -7.54320e-02, 2.67243e-01, 3.11200e-03,\n", + " -3.05512e-01, -1.02363e-01, -3.29324e-01, 1.53175e-01,\n", + " 3.35920e-02, -1.63573e-01, -1.34484e-01, 2.13180e-02,\n", + " -4.60827e-01, 5.79300e-02, -3.94728e-01, 2.33680e-02,\n", + " -1.17108e-01, 4.62478e-01, 2.82289e-01, 1.21469e-01,\n", + " 3.44701e-01, 1.62065e-01, 2.76504e-01, -6.71949e-01,\n", + " -2.97363e-01, 2.18113e-01, 2.39666e-01, 5.47173e-01,\n", + " 1.21020e-01, 6.00254e-01, 8.58120e-02, 3.34410e-02,\n", + " 4.38071e-01, 6.84174e-01, 2.18460e-02, 1.44036e-01,\n", + " 1.82231e-01, 2.04430e-02, -2.69204e-01, 2.12254e-01,\n", + " 2.94058e-01, -1.02446e-01, 3.48479e-01, 3.87967e-01,\n", + " 1.01418e-01, -6.27491e-01, -1.28945e-01, 2.09537e-01,\n", + " -4.42520e-02, 1.30212e-01, 4.31750e-01, 1.52453e-01,\n", + " -2.20568e-01, -1.68993e-01, 1.50800e-03, 2.56196e-01,\n", + " 8.05700e-02, 1.15947e-01, -3.49116e-01, 2.37214e-01,\n", + " 2.19754e-01, 1.07856e-01, -4.12650e-02, -2.61658e-01,\n", + " -1.44612e-01, 1.76730e-01, 8.90030e-02, -6.14010e-02,\n", + " -1.85456e-01, 2.58393e-01, 3.33550e-02, -1.32652e-01,\n", + " -1.04627e-01, -1.93726e-01, -2.06198e-01, -9.37790e-02,\n", + " 3.05017e-01, 8.04190e-02, -2.22728e-01, -3.92523e-01,\n", + " -1.96420e-02, 1.75282e-01, 1.65786e-01, -4.05059e-01,\n", + " 4.70960e-01, -3.63415e-01, -3.17262e-01, -4.45480e-02,\n", + " -1.93753e-01, 2.25640e-02, 9.29640e-02, -4.51466e-01,\n", + " -5.25200e-02, -5.53121e-01, 1.27579e-01, -1.10506e-01,\n", + " -6.30560e-02, 1.33107e-01, -4.26287e-01, 3.78830e-01,\n", + " -2.51577e-01, 2.39525e-01, 1.67668e-01, -3.99737e-01,\n", + " -1.38070e-02, 1.05575e-01, -2.60896e-01, -6.67890e-02,\n", + " 1.42210e-02, -1.91406e-01, 8.95560e-02, -6.02170e-02,\n", + " -2.09315e-01, -6.35050e-02, 2.47038e-01, 2.40030e-02,\n", + " 9.93430e-02, -2.60415e-01, 7.39040e-02, -1.04831e-01,\n", + " 1.80750e-01, 3.10442e-01, -5.86620e-02, 7.62870e-02,\n", + " 7.04122e-01, 3.99753e-01, -3.42614e-01, -1.82718e-01,\n", + " -1.35507e-01, -3.68120e-01, -1.24650e-02, 1.00649e-01,\n", + " 2.58234e-01, -2.40860e-02, -2.72914e-01, 1.88134e-01,\n", + " 1.17939e-01, 4.28481e-01, -2.75940e-02, 1.52511e-01,\n", + " -2.40650e-02, 7.61960e-02, 4.88160e-02, 1.71996e-01,\n", + " -4.70851e-01, 1.10598e-01, 2.19004e-01, 1.14633e-01,\n", + " -7.28700e-03, -8.36260e-02, -2.65550e-01, -1.43275e-01,\n", + " 2.99906e-01, 4.78190e-02, 3.11822e-01, 2.45947e-01,\n", + " -3.55750e-02, 1.64932e-01, -7.94580e-02, -2.63228e-01,\n", + " 3.92150e-02, -1.42683e-01, -6.15790e-02, -3.07460e-02,\n", + " -3.20622e-01, -4.52640e-02, -2.10670e-02, 7.52940e-02,\n", + " 6.34550e-02, 4.29557e-01, -1.58600e-02, 2.68232e-01,\n", + " -1.17954e-01, 2.66460e-02, -5.44972e-01, 1.34652e-01,\n", + " 7.09910e-02, -7.73750e-02, 6.69190e-02, -2.66878e-01,\n", + " -6.08630e-02, -1.94515e-01, -6.79190e-02, 1.90320e-01,\n", + " 1.70311e-01, -1.60931e-01, 1.10227e-01, -1.24004e-01,\n", + " 3.72418e-01, -7.24300e-02, -1.08862e-01, 1.49603e-01,\n", + " 1.78902e-01, -9.64510e-02, -2.71287e-01, -2.52190e-01,\n", + " -1.64932e-01, -1.31089e-01, -3.40295e-01, 3.63526e-01,\n", + " -7.02590e-02, -4.04701e-01, 9.89500e-02, 2.79664e-01,\n", + " 8.62540e-02, 4.85538e-01, 4.59744e-01, -3.65300e-03,\n", + " 6.30275e-01, -1.33768e-01, -1.11574e-01, 1.76543e-01],\n", + " dtype=float32), memmap([ 4.63472247e-01, 1.33669525e-01, -2.03003168e-01,\n", + " -9.75058228e-02, 5.97414188e-02, -1.32876143e-01,\n", + " -3.97572428e-01, -2.85976559e-01, 6.36140168e-01,\n", + " 1.25799671e-01, -1.44848749e-01, 3.40198308e-01,\n", + " 3.24386477e-01, -1.62987351e-01, 1.56716630e-01,\n", + " 1.52474642e-01, -1.61719009e-01, -3.13043475e-01,\n", + " 4.48282868e-01, 1.16242953e-01, -2.63948198e-02,\n", + " 5.34356236e-01, -1.62608195e-02, 2.04605255e-02,\n", + " 5.30440249e-02, 2.47463882e-02, -2.52975285e-01,\n", + " -1.23563118e-01, -1.92285791e-01, -1.69056788e-01,\n", + " 1.52700141e-01, -2.30141476e-01, 8.76702145e-02,\n", + " -1.83050279e-02, 3.99315298e-01, 1.14515886e-01,\n", + " 4.29836452e-01, 3.58731359e-01, -8.84392783e-02,\n", + " -4.31079954e-01, -1.15244187e-01, -1.40905559e-01,\n", + " -2.67709047e-01, -4.12467033e-01, 6.05526082e-02,\n", + " -3.19365919e-01, 1.34762391e-01, 7.37876296e-02,\n", + " 3.14834386e-01, 2.35873714e-01, 4.23710018e-01,\n", + " 5.30653715e-01, 3.56708497e-01, 2.68353283e-01,\n", + " -1.97977558e-01, 4.80874367e-02, -5.46145201e-01,\n", + " 6.54443130e-02, 1.99088424e-01, 1.26424665e-02,\n", + " -1.06320316e-02, 1.63870141e-01, -6.27830029e-02,\n", + " -1.54153973e-01, -1.12660386e-01, 5.11213541e-01,\n", + " -1.72423929e-01, 4.99567151e-01, 3.93974297e-02,\n", + " 2.32264344e-02, 2.17478290e-01, 2.69967824e-01,\n", + " 2.00950235e-01, 1.93443269e-01, 4.16080207e-01,\n", + " 2.28060130e-02, -2.12485671e-01, -2.92289943e-01,\n", + " 6.70781508e-02, -4.32795495e-01, 2.84286231e-01,\n", + " -2.13847592e-01, -1.85810506e-01, 8.55043530e-02,\n", + " 3.71939451e-01, 2.47955546e-01, 8.14346075e-02,\n", + " -2.44371623e-01, -4.35019046e-01, -1.55301854e-01,\n", + " 3.51384461e-01, -3.91992880e-03, -5.70787229e-02,\n", + " -2.54403383e-01, -6.08101189e-01, 5.87207913e-01,\n", + " 1.20170966e-01, -2.97424980e-02, 7.73000494e-02,\n", + " 6.68841228e-02, -2.63068855e-01, 2.07672179e-01,\n", + " -3.49805772e-01, 2.50893980e-01, 4.66715008e-01,\n", + " 1.91006251e-02, -1.88334540e-01, 2.52478898e-01,\n", + " 5.38669974e-02, 5.66917099e-02, 3.56842548e-01,\n", + " -2.01760322e-01, -2.73921758e-01, -4.80603166e-02,\n", + " 2.14492783e-01, -1.97945926e-02, -6.82797581e-02,\n", + " 5.62702835e-01, 2.25516677e-01, 1.52245075e-01,\n", + " 2.00180754e-01, 1.97299704e-01, -3.52202095e-02,\n", + " -2.00022072e-01, 9.45758224e-02, -4.00893152e-01,\n", + " 1.22155555e-01, -3.07892740e-01, -1.85245723e-01,\n", + " -1.85738076e-02, 1.66177731e-02, 1.00233546e-03,\n", + " 8.45074132e-02, -1.66665196e-01, 1.59594744e-01,\n", + " 1.51996547e-02, 4.34585698e-02, 3.90199840e-01,\n", + " -7.66350403e-02, -3.68502259e-01, -3.06198776e-01,\n", + " 1.62440032e-01, 3.26165944e-01, -2.24079154e-02,\n", + " 6.90071881e-01, -2.29537711e-01, -2.72350550e-01,\n", + " 7.80215114e-02, -4.80030589e-02, 6.20296001e-01,\n", + " 5.14529943e-01, 1.14366286e-01, 8.78975317e-02,\n", + " 1.70623139e-01, 5.09717166e-02, -3.52628291e-01,\n", + " -5.34702659e-01, 4.91361976e-01, 1.97855905e-01,\n", + " -3.40635300e-01, 1.24747707e-02, -2.35546961e-01,\n", + " -5.53637564e-01, 9.86306090e-03, 3.41773510e-01,\n", + " -6.80002868e-02, 1.55868292e-01, -4.91420686e-01,\n", + " 5.34827411e-01, -6.35656416e-01, 6.42780840e-01,\n", + " -8.81789699e-02, 1.80492792e-02, -5.05277932e-01,\n", + " -2.22886264e-01, 6.30152971e-02, -2.67921120e-01,\n", + " 1.20656505e-01, -3.14828873e-01, -5.65648019e-01,\n", + " 1.52260885e-02, -2.34982431e-01, 8.35274309e-02,\n", + " 1.31756827e-01, -2.69337952e-01, 1.64252937e-01,\n", + " -4.73873705e-01, 1.70885682e-01, -1.03779897e-01,\n", + " -1.30840316e-02, 2.03537181e-01, -3.56094509e-01,\n", + " 3.42350781e-01, -3.96645129e-01, 4.00846690e-01,\n", + " 1.35708660e-01, -3.57603669e-01, -8.72837976e-02,\n", + " -1.22136809e-01, 1.65870309e-01, 1.72662362e-01,\n", + " 3.11333776e-01, 8.64410639e-01, 6.43405542e-02,\n", + " 1.86547235e-01, -1.16843525e-02, 5.93394637e-02,\n", + " -2.95973450e-01, 2.17150718e-01, 8.54117349e-02,\n", + " -4.09776896e-01, -3.00128937e-01, -3.00090998e-01,\n", + " -3.70427191e-01, -2.05942214e-01, 2.25166678e-01,\n", + " 1.20777851e-02, -2.40816865e-02, -1.57107741e-01,\n", + " 9.69361216e-02, -8.59371275e-02, 3.42853330e-02,\n", + " -3.82753968e-01, -2.42826045e-01, -3.50344241e-01,\n", + " 4.35763538e-01, -4.80672419e-02, -6.95440844e-02,\n", + " 3.65102366e-02, 6.32729173e-01, 2.58896977e-01,\n", + " -3.87875251e-02, 1.20167926e-01, 6.47273213e-02,\n", + " -1.09143421e-01, 9.74278599e-02, -1.08248107e-01,\n", + " -2.65625566e-01, -5.60093582e-01, 3.83062989e-01,\n", + " 1.73229977e-01, -6.84663728e-02, 1.13178444e+00,\n", + " 3.17500025e-01, 7.34325731e-03, -1.25732049e-02,\n", + " -1.37697995e-01, -3.84914055e-02, -3.71997386e-01,\n", + " 1.16712205e-01, 1.21311285e-01, -1.47801384e-01,\n", + " 8.88402760e-02, 8.50640237e-02, -4.51007206e-03,\n", + " -3.04213673e-01, -3.33136022e-02, 4.04259682e-01,\n", + " 3.24021459e-01, 1.27210900e-01, -9.83357728e-02,\n", + " 8.25520083e-02, 1.09782949e-01, -4.87155952e-02,\n", + " 1.78296655e-01, 1.09356046e-01, 7.64183030e-02,\n", + " -1.95100382e-01, 1.10494353e-01, 2.82648746e-02,\n", + " -3.70810300e-01, 3.57360631e-01, 1.02360966e-02,\n", + " -3.27825956e-02, 3.12129259e-01, -1.40754044e-01,\n", + " -1.26896156e-02, 5.83717711e-02, -4.59621213e-02,\n", + " 5.54142892e-01, -5.08482978e-02, -2.63285160e-01,\n", + " -1.17898025e-01, -1.36226669e-01, -7.74355903e-02,\n", + " -2.62624621e-01, 3.82995039e-01, 2.51391888e-01,\n", + " -2.73970068e-01, -3.25612664e-01, -1.72297180e-01,\n", + " 2.28877187e-01, 1.29775643e-01, 1.68080896e-01,\n", + " 2.96095014e-01, -1.76561385e-01, -1.42171815e-01,\n", + " -2.18493491e-01, -2.89991826e-01, -1.94624722e-01], dtype=float32), memmap([ 3.72634e-01, 5.53526e-01, -1.77932e-01, 8.29550e-02,\n", + " -1.14176e-01, 1.40350e-02, 3.09508e-01, 1.61857e-01,\n", + " -1.76000e-03, -6.89530e-02, 4.19599e-01, -3.47763e-01,\n", + " 4.48526e-01, 1.77580e-02, 3.17047e-01, -8.67450e-02,\n", + " 1.16112e-01, 3.01035e-01, -1.63680e-01, -2.94519e-01,\n", + " -2.79789e-01, 2.75164e-01, -2.16006e-01, 3.04573e-01,\n", + " -7.89490e-02, 2.17650e-02, 4.35764e-01, -4.64550e-01,\n", + " 1.39895e-01, -4.21240e-02, 3.86542e-01, -7.60580e-02,\n", + " -6.13000e-03, 4.35704e-01, 7.83300e-03, -3.27755e-01,\n", + " 1.32233e-01, 3.60824e-01, 1.63450e-01, 5.13661e-01,\n", + " 1.15081e-01, -4.87571e-01, -4.83070e-02, -8.13922e-01,\n", + " -5.31725e-01, 3.38806e-01, 2.66962e-01, 1.93512e-01,\n", + " -3.01511e-01, 3.70064e-01, 1.14720e-01, 4.24480e-01,\n", + " -1.98907e-01, 2.69765e-01, -1.28448e-01, 7.54330e-02,\n", + " -2.76202e-01, -3.43503e-01, 4.86385e-01, -2.73633e-01,\n", + " 3.59585e-01, 7.84440e-02, -5.74058e-01, -4.43071e-01,\n", + " 2.00660e-02, 5.72675e-01, -6.39740e-02, 1.15200e-03,\n", + " 4.17870e-02, 2.29145e-01, 3.82222e-01, -3.11683e-01,\n", + " -1.46457e-01, 1.70632e-01, -3.68377e-01, 3.24017e-01,\n", + " 3.83530e-02, -2.13349e-01, 1.82413e-01, 1.44250e-02,\n", + " -2.27024e-01, -2.63809e-01, -2.91161e-01, 3.84354e-01,\n", + " 2.56000e-04, 2.05392e-01, 6.00830e-02, -2.53290e-02,\n", + " 2.24690e-02, 7.52864e-01, 1.54630e-02, -2.11567e-01,\n", + " -3.32692e-01, -3.18647e-01, -7.49270e-01, 2.61102e-01,\n", + " -4.42631e-01, -4.86170e-02, 1.93310e-02, -1.11742e-01,\n", + " 3.08771e-01, 1.83939e-01, -2.40371e-01, 5.33483e-01,\n", + " -4.22675e-01, -3.12862e-01, 4.51196e-01, -2.71805e-01,\n", + " -5.73902e-01, 4.23011e-01, -1.69932e-01, -4.21930e-02,\n", + " -3.56080e-02, -1.15220e-01, 1.61046e-01, 4.97359e-01,\n", + " 3.81067e-01, 3.43424e-01, 1.57810e-02, -3.28609e-01,\n", + " -1.03612e-01, -3.81719e-01, -1.69627e-01, -1.61754e-01,\n", + " 4.15862e-01, 2.52774e-01, -6.95890e-02, -1.19169e-01,\n", + " 3.22931e-01, 3.35660e-02, -1.94230e-02, 2.82367e-01,\n", + " 1.17590e-02, -4.19181e-01, -4.71700e-03, -1.79106e-01,\n", + " 3.54919e-01, 2.26021e-01, -5.49100e-02, -4.16373e-01,\n", + " -3.19613e-01, -3.65394e-01, 2.35522e-01, -8.61050e-02,\n", + " -1.52699e-01, -4.42264e-01, -3.64247e-01, -2.31323e-01,\n", + " 2.51584e-01, 6.86360e-02, -6.80121e-01, -2.49368e-01,\n", + " -1.76547e-01, -1.15827e-01, 2.42151e-01, 9.26330e-02,\n", + " -3.75603e-01, 1.75898e-01, -4.40209e-01, -2.25032e-01,\n", + " -2.29049e-01, -3.36606e-01, -3.66764e-01, -4.81810e-02,\n", + " -3.97307e-01, 7.33200e-03, 8.45560e-02, -7.14717e-01,\n", + " 2.75263e-01, -1.55207e-01, 2.16090e-02, -1.98180e-02,\n", + " -4.46543e-01, 4.78937e-01, 2.46303e-01, -2.28713e-01,\n", + " -1.09048e-01, -2.25748e-01, -1.85809e-01, -4.61253e-01,\n", + " -5.48372e-01, 4.70620e-02, -7.87020e-02, -2.00820e-02,\n", + " -5.96430e-01, -2.57764e-01, 1.52972e-01, -3.95730e-02,\n", + " 9.40500e-02, 2.85415e-01, -1.83719e-01, 1.80828e-01,\n", + " 5.40865e-01, 5.25212e-01, 4.80620e-01, -4.07370e-01,\n", + " 3.80226e-01, -1.32121e-01, 4.02086e-01, -1.66575e-01,\n", + " 8.91280e-02, -3.64582e-01, 4.53737e-01, 2.41923e-01,\n", + " -1.51044e-01, 6.20230e-02, 6.05920e-02, -2.76578e-01,\n", + " -1.86621e-01, 1.38814e-01, -2.25765e-01, 5.06720e-01,\n", + " 2.48833e-01, -7.78600e-03, -2.36607e-01, 2.44360e-01,\n", + " -2.66180e-02, -9.45380e-02, 1.27659e-01, -1.72385e-01,\n", + " 2.06677e-01, 7.65310e-02, -2.02109e-01, 4.51635e-01,\n", + " -4.79897e-01, 4.01100e-01, -2.36957e-01, 7.01460e-02,\n", + " 3.40421e-01, -2.66961e-01, -1.16260e-01, -7.51920e-02,\n", + " -1.32514e-01, 1.08250e-02, -1.22517e-01, -4.84245e-01,\n", + " 6.17800e-02, -9.14300e-02, -2.58038e-01, 3.13330e-02,\n", + " 2.52051e-01, 2.45917e-01, -3.34367e-01, 2.22165e-01,\n", + " 1.78771e-01, -6.68984e-01, -5.64309e-01, -3.64240e-02,\n", + " 5.55920e-02, -1.72052e-01, -1.65909e-01, -1.15502e-01,\n", + " -3.66111e-01, 2.50494e-01, 2.50911e-01, -4.87000e-03,\n", + " -2.48590e-01, 2.16184e-01, -2.03682e-01, -2.47142e-01,\n", + " -1.34611e-01, 3.88859e-01, 2.06040e-02, 2.41147e-01,\n", + " -4.49951e-01, 3.11640e-02, -1.72217e-01, -1.49239e-01,\n", + " -2.21250e-01, -1.68396e-01, -2.05913e-01, 1.64692e-01,\n", + " 6.75340e-01, 2.32070e-01, 2.48766e-01, -9.44900e-03,\n", + " 3.31254e-01, -2.88851e-01, -1.38112e-01, 2.40157e-01,\n", + " -3.07857e-01, -6.98236e-01, 2.72986e-01, 5.97457e-01,\n", + " 1.27656e-01, 1.00171e-01, -2.76797e-01, 4.30974e-01,\n", + " 6.12950e-02, -4.07693e-01, -1.21979e-01, 1.99919e-01,\n", + " 3.23164e-01, -3.31470e-02, -2.27166e-01, -3.73721e-01,\n", + " 3.11174e-01, -5.46221e-01, -5.55700e-03, 3.52165e-01],\n", + " dtype=float32), memmap([ 8.156000e-03, -4.873500e-01, 6.150090e-01, -4.004670e-01,\n", + " 8.412970e-01, 2.034050e-01, 6.399700e-02, -1.102000e-02,\n", + " -3.606030e-01, 2.514570e-01, 4.720720e-01, -4.013310e-01,\n", + " 9.316940e-01, -3.875400e-01, 3.765000e-01, -1.406360e-01,\n", + " 6.617380e-01, 4.018790e-01, 2.618420e-01, 4.116010e-01,\n", + " 1.861950e-01, 6.124210e-01, -3.866200e-02, 6.240460e-01,\n", + " -2.266190e-01, -4.012880e-01, 3.883490e-01, -2.141360e-01,\n", + " 4.418490e-01, -5.722120e-01, -7.117030e-01, -6.103210e-01,\n", + " 3.172790e-01, -2.271920e-01, -2.213000e-02, 3.122700e-02,\n", + " 2.883800e-01, 3.080440e-01, -4.560190e-01, 1.765100e-02,\n", + " 3.675470e-01, 2.209190e-01, -2.965510e-01, 1.048620e-01,\n", + " -5.741830e-01, -5.735480e-01, -2.204510e-01, 3.258090e-01,\n", + " 4.162650e-01, 1.497900e-02, 2.617750e-01, 2.091780e-01,\n", + " 5.461600e-02, 2.536970e-01, -2.304870e-01, -1.345070e-01,\n", + " -6.101420e-01, 1.994600e-02, -2.780150e-01, 1.958130e-01,\n", + " 3.747000e-03, 1.693310e-01, -1.099620e-01, -4.203780e-01,\n", + " 3.207200e-02, 2.434480e-01, 3.266090e-01, -3.176100e-01,\n", + " 3.847720e-01, 6.929400e-02, 4.657790e-01, -2.944920e-01,\n", + " -2.138170e-01, -4.168530e-01, 2.333910e-01, -1.571190e-01,\n", + " -2.485050e-01, -6.910600e-02, -1.352000e-01, -5.254700e-02,\n", + " 7.782120e-01, 2.078230e-01, -1.596230e-01, -4.392880e-01,\n", + " 9.218300e-02, -6.006300e-02, -9.013600e-02, -4.826990e-01,\n", + " -5.197160e-01, -1.925000e-03, 6.343020e-01, -2.876530e-01,\n", + " -1.841920e-01, -6.288400e-02, 9.300000e-05, 4.703410e-01,\n", + " 1.697330e-01, 1.612730e-01, 2.554100e-02, -1.157490e-01,\n", + " 9.256780e-01, 1.175800e-02, -2.108440e-01, 4.734240e-01,\n", + " 1.828820e-01, 3.370820e-01, 3.861550e-01, -9.031800e-02,\n", + " -8.146000e-02, 2.809560e-01, 5.065500e-02, -9.644500e-02,\n", + " 3.122900e-02, -3.227280e-01, -1.321770e-01, -5.383090e-01,\n", + " -1.826870e-01, -3.518010e-01, -1.110800e-02, 8.759100e-02,\n", + " -1.929670e-01, 3.065710e-01, -1.646720e-01, -2.958900e-02,\n", + " 1.999890e-01, 4.493410e-01, 2.271790e-01, 1.003300e-02,\n", + " 3.085310e-01, 5.180180e-01, 1.075273e+00, -1.220460e-01,\n", + " 8.176500e-02, -5.210260e-01, -4.159710e-01, 5.792490e-01,\n", + " -3.412360e-01, 8.519130e-01, 7.217580e-01, 5.068100e-02,\n", + " -7.892820e-01, 7.607000e-02, 7.583300e-02, 4.355870e-01,\n", + " 3.667980e-01, -4.560200e-02, -3.097370e-01, 5.284620e-01,\n", + " -3.382320e-01, 6.247220e-01, -5.840000e-03, -1.259060e-01,\n", + " 1.185400e-02, 6.027340e-01, 6.279190e-01, 6.623500e-02,\n", + " 2.467340e-01, -1.861330e-01, -7.869900e-02, -9.892600e-02,\n", + " -2.680700e-01, 3.582380e-01, -4.730150e-01, 4.110370e-01,\n", + " 3.407610e-01, 3.732850e-01, -7.926700e-01, -5.599930e-01,\n", + " -2.224300e-01, -5.134500e-01, -2.927720e-01, 3.085670e-01,\n", + " 5.569200e-02, 2.836610e-01, -1.337500e-01, -2.545120e-01,\n", + " 2.496400e-02, 3.435880e-01, -6.821230e-01, 2.829030e-01,\n", + " 4.778840e-01, -5.775640e-01, 3.542410e-01, 2.110320e-01,\n", + " 1.071270e-01, 3.819740e-01, 2.012370e-01, -4.866700e-01,\n", + " -4.053990e-01, -5.134840e-01, -3.156420e-01, 3.692840e-01,\n", + " 7.338290e-01, -4.884500e-02, -8.410800e-02, -5.713730e-01,\n", + " -6.227620e-01, 1.327560e-01, -3.043120e-01, -1.699790e-01,\n", + " 3.799420e-01, -2.107600e-01, 2.244550e-01, -6.513600e-02,\n", + " 7.516330e-01, -9.498700e-02, -5.265780e-01, 2.748920e-01,\n", + " -1.897780e-01, 5.800100e-01, -2.197780e-01, 3.352900e-01,\n", + " 1.112950e-01, -3.810000e-01, -4.850510e-01, -1.661250e-01,\n", + " 1.238200e-02, -2.251120e-01, -2.931000e-03, -1.984790e-01,\n", + " -3.519000e-02, -9.113900e-02, 1.868800e-02, 2.235380e-01,\n", + " -9.191800e-02, 3.463470e-01, -5.887500e-02, 3.106600e-02,\n", + " 5.382360e-01, 1.272380e-01, -4.736490e-01, 2.778420e-01,\n", + " 6.271000e-03, -6.055440e-01, 1.934790e-01, -1.601690e-01,\n", + " 3.329630e-01, -2.195920e-01, -3.487700e-01, -4.227690e-01,\n", + " 2.919430e-01, -1.761240e-01, 2.210760e-01, 7.097100e-02,\n", + " -4.884260e-01, -3.368430e-01, 8.911400e-02, 1.727370e-01,\n", + " 5.271600e-01, 8.692100e-02, -8.510000e-02, 2.103500e-01,\n", + " 2.394990e-01, -7.042490e-01, 1.192130e-01, -5.528580e-01,\n", + " -1.459520e-01, 1.439900e-01, 5.347230e-01, 1.036136e+00,\n", + " 1.209200e-02, -3.290460e-01, 3.050000e-02, 3.152060e-01,\n", + " 3.740430e-01, 5.416420e-01, 1.357900e-02, 8.296400e-02,\n", + " -3.383180e-01, 2.748020e-01, 4.805100e-02, 3.147930e-01,\n", + " 6.705930e-01, 1.526560e-01, -2.191200e-02, 4.031760e-01,\n", + " 5.159450e-01, -1.841280e-01, 1.594400e-01, -1.843850e-01,\n", + " 2.449140e-01, -9.746300e-02, -4.315000e-02, 7.357870e-01,\n", + " -2.395700e-01, -1.045700e-02, -5.363410e-01, 5.747590e-01,\n", + " 9.750240e-01, -1.371670e-01, -3.440100e-02, -9.239900e-02,\n", + " -1.673550e-01, -1.060000e-01, -3.342170e-01, 4.276020e-01,\n", + " 9.025000e-02, -6.735220e-01, -2.871200e-01, 2.425070e-01],\n", + " dtype=float32), memmap([ 0.234722, 0.80981 , 0.074393, -0.211983, -0.20316 , -0.005446,\n", + " -0.026764, -0.400265, -0.084097, -0.273624, 0.515842, 0.1567 ,\n", + " -0.305431, -0.348783, -0.303379, -0.47814 , 0.597299, -0.898253,\n", + " 0.33991 , -0.130709, 0.483949, 0.461116, -0.190227, 0.013129,\n", + " 0.065772, -0.352949, 0.111544, 0.017473, 0.144105, 0.149626,\n", + " 0.008293, -0.169169, -0.444825, 0.479146, 0.06512 , 0.296075,\n", + " 0.710782, 0.587407, -0.433715, 0.304509, 0.006459, -0.289251,\n", + " -0.10277 , -0.198216, -0.141312, 0.231391, 0.64742 , -0.087082,\n", + " 0.422744, -0.108043, 0.526347, -0.141101, -0.018233, -0.112364,\n", + " -0.227426, 0.250347, -0.403164, 0.115159, -0.009349, 0.609969,\n", + " -0.069278, -0.391943, -0.653624, 0.10873 , -0.094347, 0.066627,\n", + " -0.253934, -0.108288, -0.346003, 0.431097, -0.265748, -0.425058,\n", + " -0.025266, 0.290219, 0.106791, 0.087098, -0.447396, -0.673392,\n", + " -0.324899, -0.391382, 0.447569, 0.349118, 0.356815, 0.182235,\n", + " -0.111013, -0.223045, 0.160748, -0.181547, -0.328115, -0.460369,\n", + " -0.442495, 0.429451, 0.397471, 0.381919, 0.02781 , 0.271415,\n", + " 0.5993 , -0.174249, -0.176888, 0.042518, -0.377703, -0.092198,\n", + " -0.438258, 0.109864, -0.077585, 0.167162, 0.194471, -0.008114,\n", + " -0.307463, 0.099702, -0.026789, 0.123125, 0.423148, -0.291795,\n", + " -0.544971, -0.082876, -0.576819, 0.272862, 0.031629, 0.283621,\n", + " -0.342329, 0.334911, -0.27696 , 0.428965, 0.101146, -0.206178,\n", + " -0.274189, 0.060112, 0.570426, -0.107117, 0.37786 , -0.165856,\n", + " -0.270784, -0.614963, 0.484542, -0.137667, 0.461162, 0.122169,\n", + " 0.667988, 0.137872, -0.188582, -0.542727, 0.1241 , 0.027563,\n", + " 0.54114 , 0.047244, 0.634181, -0.653621, -0.361178, 0.36152 ,\n", + " -0.083926, 0.426356, 0.343157, 0.154389, -0.557137, 0.356449,\n", + " -0.174122, -0.090641, -0.247339, -0.361961, 0.179499, -0.158728,\n", + " 0.351486, -0.181382, -0.062844, 0.324505, -0.816371, 0.503514,\n", + " 0.034193, -0.060433, 0.728245, 0.006493, -0.118483, -0.879179,\n", + " -0.143395, -0.492866, -0.789491, 0.38288 , -0.242385, -0.346206,\n", + " -0.482659, -0.523072, 0.800104, -0.39457 , -0.16892 , 0.317939,\n", + " 0.48674 , 0.100542, 0.400315, -0.321421, -0.355529, -0.080892,\n", + " 0.082311, 0.409865, -0.213277, 0.484455, -0.041403, -0.56434 ,\n", + " 0.075854, 0.479876, -0.221461, -0.018248, 0.154643, 0.634272,\n", + " -0.204653, -0.053264, -0.419435, 0.148316, -0.386147, 0.362359,\n", + " -0.516738, -0.022144, 0.195906, 0.36925 , -0.631322, -0.185465,\n", + " -0.150158, 0.29502 , 0.186631, -0.029606, -0.159891, 0.585461,\n", + " -0.305519, 0.679607, -0.289729, 0.300789, -0.409961, -0.014877,\n", + " -0.058152, -0.289599, -0.275716, 0.14194 , -0.417603, -0.219314,\n", + " 0.239415, -0.209425, 0.228551, -0.090276, 0.003584, -0.563514,\n", + " 0.190148, -0.019804, 0.525719, -0.648379, -0.130032, 0.171629,\n", + " -0.285099, 0.501189, -0.28986 , -0.320306, 0.425084, 0.369126,\n", + " 0.486192, -0.806163, 0.46262 , -1.326337, 0.170554, 0.15332 ,\n", + " -0.013065, 0.305223, 0.365505, 0.024582, -0.02012 , -0.008161,\n", + " 0.271429, 0.115404, -0.558071, 0.190464, -0.51834 , 0.307425,\n", + " -0.424621, -0.110702, -0.067658, 0.549403, -0.508167, 0.244493,\n", + " 0.482683, -0.70726 , -0.043798, -0.162574, -0.120331, -0.689316,\n", + " -0.479306, 0.467589, 0.08211 , 0.063808, -0.236574, 0.513354,\n", + " 0.208919, -0.364278, -0.599179, 0.694367, -0.113098, -0.137624,\n", + " 0.178429, -0.249899, 0.177704, -0.383857, -0.012945, 0.063089],\n", + " dtype=float32), memmap([-0.43704328, 0.16851279, -0.02601243, -0.4168659 , 0.5224745 ,\n", + " -0.7142246 , -0.12885816, -0.34436578, 0.42917573, 0.3045386 ,\n", + " -0.08298457, -0.14984162, 0.5831198 , -0.43861976, -0.03711507,\n", + " 0.6785138 , 0.81154084, 0.6048088 , 0.15759212, -0.27437976,\n", + " 0.40610436, 0.7107106 , 0.31907973, -0.56643194, -0.2333762 ,\n", + " -0.232309 , 0.26930478, -0.84855753, 0.15965381, -0.32424158,\n", + " -0.00523245, -0.71766424, 0.17675807, 0.01695049, 0.34313464,\n", + " 0.40653548, 0.50340587, 0.48564705, -0.09228632, 0.04486391,\n", + " 0.5951995 , -0.3139564 , -0.38185194, 0.52537715, -0.16477115,\n", + " -0.297901 , -0.46319473, 0.3508003 , 0.26041496, 0.07937319,\n", + " 0.35707846, 0.28729433, 0.02988764, 0.38840854, -0.31187415,\n", + " 0.31206766, -0.19074814, 0.34293324, -0.06722233, 0.09738967,\n", + " -0.7956899 , -0.7158977 , 0.47358373, 0.20765392, -0.216061 ,\n", + " 0.08355573, 0.5674395 , -0.7288827 , 0.22942673, 0.10188313,\n", + " 0.44288352, -0.4911556 , -0.04389782, -0.2898793 , 0.25662944,\n", + " 0.41891834, 0.0709367 , -0.73468864, -0.42741016, 0.28716776,\n", + " 0.53391683, 0.15716013, -0.33163205, 0.07225388, -0.23595211,\n", + " 0.35344008, -0.10157669, -0.34501886, -0.5122641 , 0.6390044 ,\n", + " 0.21933913, -0.3115119 , 0.29910016, 0.5659623 , -0.03358399,\n", + " -0.00193472, -0.6880251 , 0.29486933, 0.10980212, -0.09594101,\n", + " 0.29690126, 0.5913313 , -0.29688758, -0.46061993, 0.07246412,\n", + " 0.0805434 , -0.16526218, 0.22637607, 0.86492795, -0.38849187,\n", + " 0.17903516, -0.6180861 , 0.24439453, -0.36301985, -0.02965929,\n", + " -0.78820145, -0.06487131, 0.1825285 , -0.05630683, 0.21455152,\n", + " -0.18059276, 0.42041224, -0.24461502, -0.567747 , -0.28765854,\n", + " 0.6082309 , -0.03698164, -0.578393 , 0.6160879 , -0.17018496,\n", + " 0.48615724, 0.116336 , 0.39397898, -0.41099846, 0.16321197,\n", + " 0.35372427, -0.49958637, 0.20662603, 0.2038773 , 0.04572682,\n", + " -0.26657137, 0.13991252, -0.06601115, 0.03737917, 0.0380998 ,\n", + " 0.21199536, -0.67977315, 0.12702154, 0.68996567, -0.01940528,\n", + " -0.00620544, 0.02354749, 0.17335285, 0.13090533, 0.6455452 ,\n", + " -0.04186703, 0.41136578, -0.5651506 , 0.07603364, -0.27045494,\n", + " -0.42935705, 0.33144286, -0.2099001 , 0.61004084, 0.27491075,\n", + " 0.649559 , -0.3522523 , -0.6714804 , -0.51938534, -0.43280384,\n", + " -0.13927382, 0.26399016, -0.38233885, -0.30353945, -0.4417773 ,\n", + " -0.38795018, -0.31546074, 0.3286482 , -0.22237799, -0.45397872,\n", + " 0.48318398, -1.1950771 , 0.4714804 , -0.8430064 , 0.29040694,\n", + " -0.09525143, -0.68426037, -0.8060836 , -0.8018194 , -0.3993437 ,\n", + " -0.04741618, 0.48607898, 0.4597548 , -0.468694 , -0.26661292,\n", + " -0.42299426, 0.6655192 , 0.05668921, -0.18864775, -0.10226376,\n", + " 0.7484418 , -0.3359666 , -0.13154876, 0.17690389, 0.30966806,\n", + " -0.21480235, 0.12093903, -0.49554706, -0.41209584, 0.1880465 ,\n", + " -0.53453296, -0.04710912, -0.38869777, -1.0077711 , -0.3610903 ,\n", + " -0.21228951, 0.03051093, 0.5464496 , -0.05131094, 0.20543899,\n", + " 0.02992031, 0.36773217, -1.0533086 , 0.76720047, -0.58706594,\n", + " 0.95999926, -0.4792188 , 0.20755163, -0.05995932, -0.09290113,\n", + " -0.65401894, -0.71890354, 0.07409877, -0.4798239 , 0.14673023,\n", + " -0.76999164, 0.46697956, -0.10719278, 0.11801249, -0.04767519,\n", + " -0.00634744, -0.5722744 , 0.49527958, -0.00781797, -0.6562131 ,\n", + " -0.04025438, -0.4735397 , 0.53849965, -0.11708286, 0.40879008,\n", + " -0.5351275 , 0.26375774, 0.38303128, -0.47321445, 0.28118816,\n", + " -0.22255424, -0.23109892, 0.4600461 , -0.04164021, 0.82314825,\n", + " -0.11952572, 0.07120946, 0.61873853, 0.2888831 , -0.7436362 ,\n", + " -0.7408248 , 0.04528516, 0.38334835, -0.17638847, 0.40847474,\n", + " -0.16611834, -0.07722652, 1.4418545 , -0.10621136, -0.32124746,\n", + " 0.60380197, -0.03822711, 0.04754806, 0.4502709 , -0.23952693,\n", + " 0.08672749, -0.873503 , -0.6670881 , 0.405368 , -0.42750865,\n", + " 0.16198066, -0.5099588 , 0.50733304, 0.5181686 , -0.14966993,\n", + " -0.3101583 , 0.18488207, -0.11657072, -0.5372135 , -0.52833736,\n", + " 0.26373565, 0.45132634, -0.14235266, -0.72201425, 0.5884028 ],\n", + " dtype=float32), memmap([ 0.234722, 0.80981 , 0.074393, -0.211983, -0.20316 , -0.005446,\n", + " -0.026764, -0.400265, -0.084097, -0.273624, 0.515842, 0.1567 ,\n", + " -0.305431, -0.348783, -0.303379, -0.47814 , 0.597299, -0.898253,\n", + " 0.33991 , -0.130709, 0.483949, 0.461116, -0.190227, 0.013129,\n", + " 0.065772, -0.352949, 0.111544, 0.017473, 0.144105, 0.149626,\n", + " 0.008293, -0.169169, -0.444825, 0.479146, 0.06512 , 0.296075,\n", + " 0.710782, 0.587407, -0.433715, 0.304509, 0.006459, -0.289251,\n", + " -0.10277 , -0.198216, -0.141312, 0.231391, 0.64742 , -0.087082,\n", + " 0.422744, -0.108043, 0.526347, -0.141101, -0.018233, -0.112364,\n", + " -0.227426, 0.250347, -0.403164, 0.115159, -0.009349, 0.609969,\n", + " -0.069278, -0.391943, -0.653624, 0.10873 , -0.094347, 0.066627,\n", + " -0.253934, -0.108288, -0.346003, 0.431097, -0.265748, -0.425058,\n", + " -0.025266, 0.290219, 0.106791, 0.087098, -0.447396, -0.673392,\n", + " -0.324899, -0.391382, 0.447569, 0.349118, 0.356815, 0.182235,\n", + " -0.111013, -0.223045, 0.160748, -0.181547, -0.328115, -0.460369,\n", + " -0.442495, 0.429451, 0.397471, 0.381919, 0.02781 , 0.271415,\n", + " 0.5993 , -0.174249, -0.176888, 0.042518, -0.377703, -0.092198,\n", + " -0.438258, 0.109864, -0.077585, 0.167162, 0.194471, -0.008114,\n", + " -0.307463, 0.099702, -0.026789, 0.123125, 0.423148, -0.291795,\n", + " -0.544971, -0.082876, -0.576819, 0.272862, 0.031629, 0.283621,\n", + " -0.342329, 0.334911, -0.27696 , 0.428965, 0.101146, -0.206178,\n", + " -0.274189, 0.060112, 0.570426, -0.107117, 0.37786 , -0.165856,\n", + " -0.270784, -0.614963, 0.484542, -0.137667, 0.461162, 0.122169,\n", + " 0.667988, 0.137872, -0.188582, -0.542727, 0.1241 , 0.027563,\n", + " 0.54114 , 0.047244, 0.634181, -0.653621, -0.361178, 0.36152 ,\n", + " -0.083926, 0.426356, 0.343157, 0.154389, -0.557137, 0.356449,\n", + " -0.174122, -0.090641, -0.247339, -0.361961, 0.179499, -0.158728,\n", + " 0.351486, -0.181382, -0.062844, 0.324505, -0.816371, 0.503514,\n", + " 0.034193, -0.060433, 0.728245, 0.006493, -0.118483, -0.879179,\n", + " -0.143395, -0.492866, -0.789491, 0.38288 , -0.242385, -0.346206,\n", + " -0.482659, -0.523072, 0.800104, -0.39457 , -0.16892 , 0.317939,\n", + " 0.48674 , 0.100542, 0.400315, -0.321421, -0.355529, -0.080892,\n", + " 0.082311, 0.409865, -0.213277, 0.484455, -0.041403, -0.56434 ,\n", + " 0.075854, 0.479876, -0.221461, -0.018248, 0.154643, 0.634272,\n", + " -0.204653, -0.053264, -0.419435, 0.148316, -0.386147, 0.362359,\n", + " -0.516738, -0.022144, 0.195906, 0.36925 , -0.631322, -0.185465,\n", + " -0.150158, 0.29502 , 0.186631, -0.029606, -0.159891, 0.585461,\n", + " -0.305519, 0.679607, -0.289729, 0.300789, -0.409961, -0.014877,\n", + " -0.058152, -0.289599, -0.275716, 0.14194 , -0.417603, -0.219314,\n", + " 0.239415, -0.209425, 0.228551, -0.090276, 0.003584, -0.563514,\n", + " 0.190148, -0.019804, 0.525719, -0.648379, -0.130032, 0.171629,\n", + " -0.285099, 0.501189, -0.28986 , -0.320306, 0.425084, 0.369126,\n", + " 0.486192, -0.806163, 0.46262 , -1.326337, 0.170554, 0.15332 ,\n", + " -0.013065, 0.305223, 0.365505, 0.024582, -0.02012 , -0.008161,\n", + " 0.271429, 0.115404, -0.558071, 0.190464, -0.51834 , 0.307425,\n", + " -0.424621, -0.110702, -0.067658, 0.549403, -0.508167, 0.244493,\n", + " 0.482683, -0.70726 , -0.043798, -0.162574, -0.120331, -0.689316,\n", + " -0.479306, 0.467589, 0.08211 , 0.063808, -0.236574, 0.513354,\n", + " 0.208919, -0.364278, -0.599179, 0.694367, -0.113098, -0.137624,\n", + " 0.178429, -0.249899, 0.177704, -0.383857, -0.012945, 0.063089],\n", + " dtype=float32), memmap([-0.34791982, 0.35519612, -0.2357776 , -0.15598239, 0.40842968,\n", + " -0.07716703, -0.37750414, -0.1011829 , 0.10936252, -0.06144233,\n", + " 0.23508106, -0.4193564 , 0.6613736 , 0.09719941, 0.22581628,\n", + " -0.04572814, 0.38854527, 0.12327043, 0.5914849 , -0.45474783,\n", + " 0.30133805, 0.9500505 , 0.29877782, 0.15602471, 0.08614317,\n", + " -0.16534169, 0.6388528 , -0.7290853 , 0.2161327 , -0.42732048,\n", + " -0.25721654, -0.36353788, 0.10769274, 0.00218416, -0.04622876,\n", + " 0.6006969 , 0.38186675, 0.6373773 , 0.30885363, -0.21828113,\n", + " 0.3739726 , 0.14815642, -0.32714102, 0.03677403, -0.63059735,\n", + " -0.4220095 , -0.32744214, 0.23211578, 0.42321107, -0.05722558,\n", + " 0.26803967, -0.2706911 , -0.05219204, -0.05424472, -0.22355926,\n", + " 0.1983524 , 0.2598351 , 0.5422917 , -0.18819982, 0.4785342 ,\n", + " -0.35591277, -0.33282754, -0.07390904, 0.21366185, -0.37500066,\n", + " 0.4891794 , 0.56845856, -0.21780765, 0.48941663, 0.2276083 ,\n", + " 0.47828814, -0.60836315, -0.01246514, -0.44337443, 0.19588524,\n", + " -0.31873792, 0.47275895, 0.05064954, -0.01413631, -0.13798603,\n", + " 0.52441746, 0.13424136, -0.43579292, 0.26190293, 0.28480116,\n", + " -0.02670246, -0.2889117 , -0.08038341, -0.03973486, 0.56454235,\n", + " 0.02029793, -0.8892638 , 0.06779003, 0.10327538, -0.12719914,\n", + " 0.22716945, -0.3884649 , 0.44756356, 0.43417794, 0.07219587,\n", + " -0.25571278, 0.33660802, 0.11323246, 0.13444889, -0.10157079,\n", + " 0.3112869 , -0.33286014, 0.14473471, 0.18306738, 0.10347184,\n", + " 0.24112451, 0.32636502, 0.5154524 , 0.13344556, 0.525867 ,\n", + " -0.66264164, 0.47533908, -0.4880552 , -0.3275483 , 0.17618012,\n", + " -0.09694817, 0.54932225, -0.13059703, -0.26231843, -0.2370771 ,\n", + " 0.8443317 , -0.07856084, -0.5146307 , 0.16666341, 0.09550036,\n", + " 0.03247118, -0.07383429, 0.4669772 , -0.2277151 , -0.518375 ,\n", + " 0.10275586, -0.10706193, 0.26353982, -0.11688339, -0.33552176,\n", + " -0.59102345, 0.01780802, -0.20528166, -0.2352671 , 0.24078798,\n", + " 0.18699683, -0.8802745 , 0.01402704, 0.53083193, 0.41630623,\n", + " -0.29602045, -0.07719743, -0.2214767 , 0.29589057, 0.00286799,\n", + " -0.07588245, 0.22708206, -0.63453597, 0.18555929, 0.13604456,\n", + " -0.04750459, 0.33158267, -0.7010693 , 0.26763576, 0.35792622,\n", + " 0.6403971 , -0.6189957 , -0.33163124, -0.5352795 , 0.09608977,\n", + " 0.07197314, 0.34976137, -0.11853023, -0.3255099 , -0.30089006,\n", + " 0.08450063, 0.05592928, 0.03574779, -0.47175035, 0.20533407,\n", + " 0.3341692 , -0.53694904, 0.6272017 , -1.1881298 , -0.11339198,\n", + " 0.09402371, -0.28602213, -0.5535675 , -1.1584214 , -0.48236263,\n", + " -0.04151005, 0.6257556 , 0.13397181, -0.25138286, 0.30362463,\n", + " -0.54184943, -0.14103508, 0.06468085, -0.47103256, -0.23030765,\n", + " 0.4033689 , -0.5092248 , 0.8239296 , -0.12316188, -0.2070601 ,\n", + " -0.20573497, -0.22442245, 0.11168428, -0.18406361, 0.36967453,\n", + " -0.15700668, 0.03018349, 0.19931987, -0.54206175, -0.10489228,\n", + " -0.18781194, 0.1340994 , 0.54338074, -0.29789436, -0.3693853 ,\n", + " 0.5509503 , 0.14932938, -0.24838218, 0.48303887, 0.16962981,\n", + " 0.40629503, -0.05752627, -0.14103585, -0.5083225 , 0.23446831,\n", + " -0.42314267, -0.53717977, 0.7368042 , -0.39958185, 0.23205267,\n", + " -0.2707408 , -0.5007544 , -0.47495243, -0.45760757, 0.06174152,\n", + " -0.0568627 , -0.639943 , 0.2323623 , -0.15481456, -0.08146472,\n", + " 0.14808469, -0.70276237, -0.13580577, -0.06164437, 0.16870958,\n", + " 0.15733808, -0.230485 , 0.15950418, -0.53286576, 0.01499614,\n", + " -0.1156303 , -0.8824443 , -0.21247798, 0.67809904, 0.7227184 ,\n", + " 0.55618143, -0.32235837, 0.05155268, 0.48962143, -0.63654184,\n", + " -0.45810324, 0.18834113, 0.07359651, 0.30268708, 0.6425273 ,\n", + " -0.17910716, 0.20491992, 1.6434997 , 0.4479256 , -0.07207586,\n", + " -0.00858526, -0.01359201, -0.09146912, 0.04082096, 0.04677895,\n", + " 0.08130396, -0.372898 , 0.1400561 , 0.10254738, -0.0631671 ,\n", + " -0.04109211, -0.64642936, 0.48025507, 0.80463976, -0.38774303,\n", + " 0.13353033, -0.05461905, 0.22057864, -0.21837483, -0.446688 ,\n", + " 0.5173492 , 0.3571514 , -0.13914755, -0.02809314, 0.26627868],\n", + " dtype=float32), memmap([ 6.10630e-02, -2.43565e-01, 7.05470e-02, -1.48067e-01,\n", + " 4.26670e-01, -1.16827e-01, -6.79890e-02, -1.76343e-01,\n", + " 4.66760e-01, -4.96192e-01, -1.48163e-01, 6.23050e-02,\n", + " 3.30993e-01, 1.18190e-01, 3.45783e-01, 2.03854e-01,\n", + " 1.59060e-02, -3.16701e-01, 6.03505e-01, 4.30327e-01,\n", + " -3.91000e-03, 5.63653e-01, 1.35337e-01, 4.27893e-01,\n", + " -3.95480e-01, -2.99584e-01, -3.11469e-01, 2.04275e-01,\n", + " 1.28691e-01, -1.22913e-01, 2.52979e-01, -3.83081e-01,\n", + " -5.09415e-01, 2.52386e-01, 1.77140e-02, 4.70221e-01,\n", + " -3.04500e-02, -3.66970e-01, -2.73860e-01, 4.90430e-01,\n", + " -6.50520e-02, -2.44414e-01, 8.79760e-02, 2.28890e-02,\n", + " 7.74150e-02, 1.47387e-01, 2.74560e-02, 2.24080e-01,\n", + " 6.82490e-02, 3.18015e-01, 1.01301e-01, 7.11760e-01,\n", + " -6.23500e-02, 1.03127e-01, -2.35292e-01, -1.66274e-01,\n", + " 1.10310e-01, 6.62740e-02, -1.31451e-01, 1.41410e-02,\n", + " 2.58798e-01, -4.71127e-01, 2.09608e-01, -4.77700e-03,\n", + " -2.67979e-01, -1.61965e-01, -7.88400e-02, 5.56210e-02,\n", + " 1.27370e-01, -2.61300e-02, 3.60523e-01, -2.34772e-01,\n", + " -1.48216e-01, 1.84637e-01, -5.15294e-01, 1.51430e-01,\n", + " 5.00088e-01, -3.88825e-01, 2.55700e-02, -2.93409e-01,\n", + " 5.34243e-01, -1.92649e-01, -8.97830e-01, 2.42170e-02,\n", + " 1.55609e-01, -5.58302e-01, -2.65530e-01, -4.51992e-01,\n", + " -1.51773e-01, 5.18310e-02, 7.32894e-01, 1.74180e-02,\n", + " 1.22396e-01, 1.89300e-03, -7.58970e-02, 3.23706e-01,\n", + " 9.37220e-02, -8.86620e-02, 4.86544e-01, 5.14930e-02,\n", + " -2.69619e-01, 3.81881e-01, -1.16931e-01, 1.78586e-01,\n", + " 2.34402e-01, 2.59042e-01, 1.36068e-01, -2.81681e-01,\n", + " -4.35271e-01, 3.06024e-01, 9.47000e-04, -2.82300e-01,\n", + " -2.00149e-01, -1.87742e-01, 2.95696e-01, 4.98634e-01,\n", + " -3.59280e-01, 5.68698e-01, 2.47224e-01, -2.82670e-02,\n", + " 1.49755e-01, 6.90760e-02, -1.04766e-01, 5.03234e-01,\n", + " -2.72385e-01, -2.35980e-02, -4.77441e-01, 1.62717e-01,\n", + " -1.98700e-03, -4.84196e-01, 1.72168e-01, -2.83387e-01,\n", + " -9.03327e-01, -4.37606e-01, -6.56678e-01, 2.19694e-01,\n", + " -1.21314e-01, -2.63231e-01, 2.93801e-01, -3.68679e-01,\n", + " 3.23900e-01, 5.75314e-01, -5.23070e-02, -4.71362e-01,\n", + " 3.07481e-01, -1.44932e-01, 6.71280e-02, 9.49000e-02,\n", + " -4.32355e-01, 5.74823e-01, -1.98054e-01, 4.19030e-02,\n", + " 2.80563e-01, -1.78964e-01, 1.86129e-01, -1.25586e-01,\n", + " 4.29702e-01, -1.48982e-01, 2.51975e-01, -4.34783e-01,\n", + " 4.69767e-01, -1.22916e-01, -4.30100e-01, 9.05290e-02,\n", + " 7.35253e-01, -1.19520e-01, -1.55117e-01, -5.02580e-01,\n", + " -2.53303e-01, -1.27590e-01, 8.03880e-02, -1.67860e-02,\n", + " 3.28062e-01, -3.83459e-01, -3.89224e-01, 1.90992e-01,\n", + " -2.14929e-01, -2.45662e-01, 1.39204e-01, 1.13685e-01,\n", + " -3.79061e-01, 5.17630e-02, -3.59080e-02, -4.78517e-01,\n", + " -6.91930e-02, -4.71350e-02, -1.63505e-01, 4.08120e-01,\n", + " -9.71885e-01, -7.02901e-01, 3.46699e-01, 5.72464e-01,\n", + " 1.35163e-01, 3.18931e-01, -4.68169e-01, 2.29413e-01,\n", + " -4.54969e-01, -3.90655e-01, -4.01345e-01, 6.82719e-01,\n", + " 1.26217e-01, -1.61177e-01, 5.52236e-01, -2.62458e-01,\n", + " 3.77314e-01, -3.11340e-02, 2.84949e-01, 2.50170e-02,\n", + " -4.50486e-01, 4.59666e-01, -4.98784e-01, -8.49060e-02,\n", + " -2.94556e-01, 1.48859e-01, -3.67932e-01, -2.30095e-01,\n", + " -3.66270e-02, -7.64414e-01, 2.95754e-01, -3.17710e-02,\n", + " 5.80200e-01, -4.06025e-01, -2.25311e-01, -3.48766e-01,\n", + " 2.04185e-01, 8.90141e-01, 1.92997e-01, -8.27050e-02,\n", + " 3.01017e-01, -2.19264e-01, 1.78925e-01, 4.52375e-01,\n", + " 2.23046e-01, -1.00842e-01, 2.74280e-01, 2.46820e-02,\n", + " -1.92807e-01, 4.39445e-01, -3.23606e-01, 7.04679e-01,\n", + " -2.72570e-01, -1.69200e-01, 3.39325e-01, 7.92140e-02,\n", + " -4.77778e-01, 5.06321e-01, -1.09014e-01, -4.17195e-01,\n", + " -1.51750e-02, 8.72250e-02, 2.63106e-01, -1.37732e-01,\n", + " -1.10009e-01, -4.99364e-01, -8.50370e-02, -1.20450e-02,\n", + " -3.53792e-01, -1.76255e-01, -3.70698e-01, 4.17646e-01,\n", + " 2.55442e-01, 5.84553e-01, 5.19170e-02, 4.11990e-02,\n", + " -4.38064e-01, -4.75950e-01, 6.03717e-01, 2.48737e-01,\n", + " 5.67888e-01, 1.26563e-01, 5.35746e-01, 1.86371e-01,\n", + " 7.37360e-02, -1.88539e-01, 1.31859e-01, 7.54846e-01,\n", + " 2.02118e-01, -1.46316e-01, -2.88557e-01, 1.78839e-01,\n", + " 9.78699e-01, -2.14555e-01, -1.81644e-01, 4.01674e-01,\n", + " -1.65672e-01, -3.42167e-01, -1.80180e-02, 1.14075e-01,\n", + " 4.35370e-01, -2.74643e-01, 2.09556e-01, -3.81817e-01,\n", + " -3.91290e-02, 1.14879e-01, 4.10624e-01, 7.66410e-02,\n", + " 3.93985e-01, 2.19750e-02, -3.74795e-01, -2.98817e-01],\n", + " dtype=float32), memmap([-0.2502971 , 0.5693209 , 0.6859602 , 0.3502432 , 0.03042465,\n", + " -0.40302828, -0.48365286, -0.65839946, -0.3358731 , -0.51330286,\n", + " -0.20787436, -0.4027331 , 0.12128457, -0.09633358, -0.30481058,\n", + " 0.14851086, 0.5458918 , 0.19156294, 0.11829986, -0.23392801,\n", + " 0.392 , -0.48992926, 0.70208365, 0.6010129 , 0.5211704 ,\n", + " 0.81344384, -0.33858076, 0.2273095 , -0.07525846, -0.7354135 ,\n", + " 0.6687955 , -0.16666509, 0.21206343, 0.22326079, -0.34585255,\n", + " -0.42590532, 0.17167363, 0.78599393, -0.065249 , -1.2935292 ,\n", + " -0.4529947 , -0.02257312, 0.13528293, 0.18777046, 0.49390477,\n", + " -0.03556978, 0.5608253 , -0.17261927, -0.34256792, 0.61521316,\n", + " 0.12064233, 0.04716802, -0.1871616 , -0.28701207, 0.5829164 ,\n", + " -0.59850484, -0.5532849 , -0.175368 , 0.16818732, -0.3299332 ,\n", + " -0.39306253, 0.6729647 , -0.2507978 , 0.37720272, -0.54490966,\n", + " 0.49711213, 0.6085116 , 0.18110193, -0.33071607, -0.4212946 ,\n", + " -0.18897709, -0.04324469, 0.5247383 , 0.14580439, 0.0544477 ,\n", + " -0.05025896, -0.07921224, -0.13888495, -0.6286393 , 0.14243431,\n", + " 0.39440152, -0.04422115, -0.52977043, 0.1802003 , 0.32380036,\n", + " 0.9525845 , -0.47127846, -0.2737093 , 0.6637773 , 0.22393264,\n", + " 0.3896496 , -0.30210814, -0.27378252, -0.0409729 , -0.70492774,\n", + " -0.2959512 , 0.2401106 , -0.500258 , -0.13021185, 0.7562607 ,\n", + " -0.25253844, 0.09711885, 0.24976362, 0.7612688 , 0.66700494,\n", + " -0.8683097 , 0.9793068 , -0.35626546, 0.57284486, -0.2534546 ,\n", + " 0.48015976, 0.59566915, 0.36849758, 0.16913733, 1.2349902 ,\n", + " 0.1138988 , 0.47013798, 0.4346716 , 0.480029 , 0.5961265 ,\n", + " -0.11305673, -0.15467317, 0.15031485, 0.3414257 , 0.27386904,\n", + " 0.94369584, -0.92888415, -0.0955107 , 0.44188568, 0.7055486 ,\n", + " -0.11246148, 0.25021565, -0.09587555, 0.21151061, 0.02762759,\n", + " -0.71323097, -0.50389814, 0.12484976, -0.00257557, -0.23291202,\n", + " -0.158402 , 0.44622806, 0.48181775, 0.82323897, -0.43659452,\n", + " -0.39230618, -0.56767344, 0.23886083, -0.4178109 , -0.43680894,\n", + " 0.15968394, -0.05690216, 0.6567981 , -0.6923975 , 0.5464737 ,\n", + " -0.26098818, -0.16786648, -0.16180566, 0.805358 , 0.16115981,\n", + " 0.41978118, 0.39132556, 0.4626196 , 0.42371756, -0.18822318,\n", + " 0.45774755, 0.07204169, -0.86568004, 0.05934478, 0.459054 ,\n", + " -0.10381915, -0.22139299, -0.40845713, -0.26227206, -1.0463864 ,\n", + " -0.31025946, 0.30001158, 0.7539976 , -0.47235617, -0.35770497,\n", + " -0.2704276 , 0.30824903, -0.14733827, 0.46700996, -0.83770853,\n", + " 0.2269185 , -0.26662648, 0.6326865 , -1.3552221 , 0.03666956,\n", + " 0.24061902, -0.84152526, 0.10080509, 0.435912 , 0.5429908 ,\n", + " -0.36978388, -0.85021925, -0.04115516, 0.12593868, 0.14885499,\n", + " -0.02296785, -0.14004676, -0.35459954, 0.50178933, 0.53665936,\n", + " -0.4243553 , 0.1247301 , 0.2984548 , 0.00939161, 0.01990146,\n", + " 0.19237866, -0.30214497, 1.1865892 , -0.13550971, -0.56564116,\n", + " 0.21578464, 0.52063406, -0.18550791, -0.9018661 , 0.2906284 ,\n", + " -0.2303815 , 0.3284327 , -0.45388597, 0.9852445 , -0.1338044 ,\n", + " -0.22731198, -0.4412627 , -0.06100829, 0.29467958, 0.7346881 ,\n", + " -0.3658415 , 0.3892717 , 1.0246668 , -0.28583062, -0.09846623,\n", + " 0.28132552, 0.5735887 , 0.40085393, -0.02253614, 0.62221843,\n", + " 0.73668456, -0.5110986 , 0.37871096, 0.37896314, -0.45458478,\n", + " -0.19574662, -0.35032195, 0.24751079, -0.06169019, -0.6355142 ,\n", + " 0.62589264, -0.13730757, 0.1075398 , -0.04302481, 0.09709013,\n", + " 0.5778902 , -0.62309057, 0.16840915, -0.3636644 , -0.6567919 ,\n", + " 0.08116896, -0.35605344, -0.25171864, 0.59787273, 0.24419805,\n", + " -0.06757798, 0.07714263, 0.26705495, 0.53460073, 0.09097607,\n", + " -0.15350346, 0.23017527, 0.19284713, -0.18528733, -0.03657087,\n", + " 0.07816639, -0.10359774, 0.21850573, -0.01764192, -0.23260617,\n", + " 0.20463182, 0.09853891, -0.07869617, 0.04432994, -0.22215326,\n", + " 0.03493002, -0.00786027, 0.45370266, 0.23501803, -0.5071402 ,\n", + " -0.19300827, -0.3861023 , -0.11932262, -0.02097966, -0.12162941,\n", + " 0.21920775, 0.03217101, -0.7055368 , -0.10286857, -0.24683583],\n", + " dtype=float32), memmap([ 4.25750554e-01, -1.44906029e-01, -1.03891052e-01,\n", + " -2.88361520e-01, 3.09437454e-01, -3.73205423e-01,\n", + " -5.34060597e-02, -8.10606718e-01, 4.98223990e-01,\n", + " -1.36323616e-01, -1.89956173e-01, -2.41232924e-02,\n", + " 6.83675587e-01, 1.89345434e-01, 5.25885999e-01,\n", + " -3.08831513e-01, -3.21324170e-02, -6.30293667e-01,\n", + " 9.41303149e-02, -1.36064023e-01, -1.24976680e-01,\n", + " 4.70452249e-01, -5.06320238e-01, 4.46305722e-01,\n", + " 8.39224532e-02, -5.56360185e-01, 5.44480793e-02,\n", + " -2.97736049e-01, 2.10755810e-01, 2.42721047e-02,\n", + " 1.96821988e-01, -2.78171182e-01, 9.76160839e-02,\n", + " 3.34955037e-01, -1.26703724e-01, -2.80070245e-01,\n", + " -5.42247714e-03, 5.66913262e-02, -3.57440680e-01,\n", + " -1.15232475e-01, 5.91550991e-02, -1.86618924e-01,\n", + " -1.70146614e-01, -5.71986027e-02, -4.01463732e-02,\n", + " -9.00624394e-02, -1.42397046e-01, 4.17225242e-01,\n", + " 1.55987278e-01, -2.53479540e-01, 2.47357652e-01,\n", + " -1.25247508e-01, -3.19386363e-01, -6.51077777e-02,\n", + " -5.23198903e-01, 4.67539728e-01, -7.37586990e-02,\n", + " -1.36515945e-02, -9.33016837e-02, -1.23284133e-02,\n", + " -2.41081640e-01, -5.30515313e-01, -2.41322294e-01,\n", + " -2.28916928e-01, -2.18479544e-01, 1.35944843e-01,\n", + " 8.72921422e-02, -2.78946072e-01, 2.46815383e-02,\n", + " -7.14808702e-02, 4.72817570e-01, -5.28021336e-01,\n", + " -8.69194567e-02, 2.40457848e-01, 1.02259025e-01,\n", + " 1.48765184e-02, 6.95583075e-02, -3.79711509e-01,\n", + " -1.59715727e-01, -4.05831605e-01, 4.63549107e-01,\n", + " 4.98835035e-02, -2.19716609e-01, -2.95969158e-01,\n", + " 8.53620097e-02, -6.02161646e-01, -3.22390318e-01,\n", + " -7.59210438e-02, -5.03465533e-01, 8.72356594e-02,\n", + " -5.32781005e-01, 2.94092119e-01, 9.29164141e-03,\n", + " 1.23222262e-01, -3.13054204e-01, 3.35174859e-01,\n", + " -1.01884291e-01, -3.41102123e-01, -1.38404995e-01,\n", + " 4.87858444e-01, -9.39088687e-03, -1.12968273e-01,\n", + " -1.37872711e-01, 1.03885084e-01, -4.10780162e-01,\n", + " 2.37380326e-01, 2.46492177e-01, -4.73199897e-02,\n", + " 1.34807795e-01, -2.18871430e-01, 2.45887250e-01,\n", + " 9.91815254e-02, 2.95145869e-01, -4.81934458e-01,\n", + " -2.57790666e-02, 2.22542793e-01, -3.88982035e-02,\n", + " -3.15040410e-01, 3.87229264e-01, -2.49802768e-01,\n", + " -2.67281026e-01, 4.05594148e-02, 8.61374736e-01,\n", + " 3.67723942e-01, -1.97135165e-01, -1.60418391e-01,\n", + " -2.13820949e-01, -2.19974946e-02, -2.45177522e-01,\n", + " 6.84971630e-04, 1.22145891e-01, 3.80910560e-03,\n", + " 2.19096988e-01, -6.30880356e-01, 1.90297291e-02,\n", + " 1.41488150e-01, 3.29718709e-01, 2.07425833e-01,\n", + " 1.80229947e-01, -3.20699275e-01, 7.24228248e-02,\n", + " -1.09708623e-03, 4.44707066e-01, -4.18925881e-01,\n", + " 3.12439054e-01, -8.04027498e-01, -1.80449471e-01,\n", + " -2.94538289e-01, -2.71387756e-01, 3.22831631e-01,\n", + " -2.52752393e-01, 1.17669508e-01, -1.55494958e-01,\n", + " -1.25974506e-01, 3.10132176e-01, -3.36968456e-03,\n", + " -4.16645348e-01, -1.68400094e-01, -7.30952695e-02,\n", + " -1.37847796e-01, -9.38109215e-03, -6.17799461e-02,\n", + " -3.57294142e-01, 8.67224410e-02, 2.06380427e-01,\n", + " -3.85333002e-01, -4.44512308e-01, -1.98299453e-01,\n", + " -2.58089662e-01, -2.13967651e-01, 3.88148606e-01,\n", + " 1.30149914e-04, 3.94165158e-01, -3.97414744e-01,\n", + " -2.87104368e-01, -3.15382481e-01, 1.16758458e-01,\n", + " -1.68181643e-01, -1.08504403e+00, -2.63383478e-01,\n", + " -4.29468513e-01, 3.13112587e-01, -4.93108518e-02,\n", + " 4.12772730e-04, -3.33309472e-01, 5.83502352e-01,\n", + " 2.04136334e-02, 7.40744248e-02, -1.59861699e-01,\n", + " -4.58843350e-01, -2.48187050e-01, 2.91114897e-01,\n", + " 2.70096153e-01, -3.16815615e-01, 2.33823031e-01,\n", + " -7.75428396e-03, -1.69241428e-01, 2.49805406e-01,\n", + " -8.06642696e-02, 1.37787044e-01, 3.98429543e-01,\n", + " -2.93187089e-02, 1.61894038e-01, 3.01054865e-01,\n", + " 5.28242588e-01, 5.14931023e-01, -1.25819698e-01,\n", + " -4.77335900e-01, -1.81206718e-01, 6.61615551e-01,\n", + " -1.02147090e+00, 3.43526691e-01, 3.01730573e-01,\n", + " 7.10077584e-02, -3.12605232e-01, 4.56228182e-02,\n", + " -6.32001221e-01, -5.26204526e-01, 5.13294190e-02,\n", + " 1.61592558e-01, -5.78216352e-02, 8.95283464e-03,\n", + " -4.61166769e-01, 2.94773579e-01, -2.23560661e-01,\n", + " 4.92346585e-01, -2.11191818e-01, 1.52712345e-01,\n", + " 1.92895055e-01, 8.37244913e-02, 2.09370047e-01,\n", + " 3.65570694e-01, 4.82121974e-01, -5.69163799e-01,\n", + " -1.10894538e-01, -8.56475160e-02, -4.92317915e-01,\n", + " 3.66639465e-01, 3.77745420e-01, 2.88006246e-01,\n", + " 1.07129358e-01, -1.56810477e-01, 2.02181801e-01,\n", + " -1.22563757e-01, -2.90898144e-01, -1.56015202e-01,\n", + " -1.36386916e-01, -5.33366799e-02, 2.77843237e-01,\n", + " 2.41626233e-01, -7.99171552e-02, 2.42322251e-01,\n", + " -3.42781782e-01, 2.17569798e-01, 3.15509677e-01,\n", + " 2.95207113e-01, 1.51273325e-01, 1.12781964e-01,\n", + " 5.57037294e-02, 4.92329061e-01, 8.49575028e-02,\n", + " -4.89813328e-01, 2.83460051e-01, -2.61578053e-01,\n", + " -6.01285338e-01, 1.84555024e-01, 9.62331891e-02,\n", + " 2.61091739e-01, -3.05440724e-01, 1.75247297e-01,\n", + " 3.86141539e-02, -3.40094268e-01, 2.05955997e-01,\n", + " 1.31360844e-01, -2.29192935e-02, 4.18725275e-02,\n", + " -1.53108016e-01, -3.61782521e-01, 1.62163615e-01,\n", + " 2.79950440e-01, -5.36505803e-02, -3.07383120e-01,\n", + " -1.91204160e-01, 6.12407207e-01, 3.68224859e-01,\n", + " -7.81459093e-01, 4.69116941e-02, -7.49986395e-02,\n", + " 4.17151093e-01, 2.30060853e-02, 4.53134269e-01,\n", + " -4.38228220e-01, -3.27670395e-01, 1.63857535e-01,\n", + " -4.24780190e-01, -1.93398342e-01, 4.66528773e-01,\n", + " -1.48015484e-01, -2.01658487e-01, 3.86270493e-01], dtype=float32), memmap([-3.24685067e-01, -8.09570670e-01, -1.03050180e-01,\n", + " -4.36205044e-02, -5.66855133e-01, 2.70377640e-02,\n", + " -4.72028643e-01, -7.35919416e-01, 1.77842200e-01,\n", + " 2.88984448e-01, 3.89561206e-01, -3.75486553e-01,\n", + " 1.18895423e+00, 7.78229237e-01, -7.86323488e-01,\n", + " -1.60766765e-01, 6.31467879e-01, -8.02628636e-01,\n", + " 6.39832914e-01, 1.73263550e-01, 3.37748915e-01,\n", + " -4.08929944e-01, -5.93181908e-01, 4.99565542e-01,\n", + " -4.15923625e-01, -1.29706874e-01, -3.38152409e-01,\n", + " -6.07454419e-01, 4.67318237e-01, 6.81544483e-01,\n", + " -2.35622466e-01, -1.02453053e-01, 1.57846093e-01,\n", + " 1.72784552e-01, -4.91092773e-03, -3.01241904e-01,\n", + " 1.13105559e+00, 5.38298249e-01, -9.74709541e-02,\n", + " -4.58919019e-01, 2.00168900e-02, -5.11729956e-01,\n", + " -1.39294541e+00, 2.99367100e-01, 7.73437798e-01,\n", + " 3.16411778e-02, 3.59324902e-01, 8.06545675e-01,\n", + " -5.45785069e-01, -3.10331434e-01, 8.72977674e-01,\n", + " 5.26150942e-01, -1.02591738e-01, 2.04615578e-01,\n", + " -5.92126250e-01, -6.72684133e-01, 2.89116949e-01,\n", + " 9.18302909e-02, 2.96162844e-01, -1.27545022e-03,\n", + " 2.03249618e-01, 1.80768713e-01, -3.90626967e-01,\n", + " -1.29804322e-02, 4.37790692e-01, -3.64433862e-02,\n", + " -2.92590819e-02, -1.42965168e-01, -3.37275863e-02,\n", + " 8.37169215e-02, 5.95902741e-01, -5.67058742e-01,\n", + " -2.88764983e-01, -3.47298086e-01, 3.70834649e-01,\n", + " -1.22862741e-01, -8.12156856e-01, -3.81230235e-01,\n", + " -1.08798333e-01, -6.44796863e-02, 6.69528365e-01,\n", + " 4.23865050e-01, -7.26647258e-01, -2.64263839e-01,\n", + " 3.98558170e-01, -7.67392218e-01, 1.16265714e+00,\n", + " -2.74666578e-01, 2.24752985e-02, 5.47188282e-01,\n", + " 7.21026003e-01, 4.78942692e-01, -4.41449881e-01,\n", + " 4.27814648e-02, -5.71467340e-01, 1.03153482e-01,\n", + " -6.79021597e-01, 8.02298307e-01, 6.95822418e-01,\n", + " -2.49896720e-01, 1.66734129e-01, -5.09081632e-02,\n", + " 1.49252906e-01, 5.97951770e-01, -2.50706151e-02,\n", + " 1.43053681e-01, 1.60088167e-01, -3.57728064e-01,\n", + " -3.11352789e-01, 2.35706195e-01, -2.43033513e-01,\n", + " 8.59800875e-02, -9.21167359e-02, -4.80178982e-01,\n", + " -6.46969855e-01, 8.07543695e-02, 5.70740402e-01,\n", + " -1.67069748e-01, -3.67175460e-01, -9.43437815e-01,\n", + " -2.94312298e-01, 8.67804885e-01, -7.00006410e-02,\n", + " 5.90139329e-01, 1.67932689e-01, 4.52213854e-01,\n", + " -2.83149958e-01, 4.11131531e-01, 2.02804670e-01,\n", + " 1.76650271e-01, 1.83450937e-01, -4.44364011e-01,\n", + " -1.50030643e-01, 2.94948816e-01, 1.55011669e-01,\n", + " -5.45138419e-01, -4.84053016e-01, 6.39758229e-01,\n", + " 1.03366220e+00, -5.25145173e-01, 2.90294141e-01,\n", + " -7.59942114e-01, 1.43332198e-01, -1.12062111e-01,\n", + " 9.13262069e-01, -4.62342381e-01, -2.26189584e-01,\n", + " 1.18691534e-01, -4.84202474e-01, 5.14343679e-01,\n", + " 2.53771186e-01, 5.31296805e-02, 1.53731480e-01,\n", + " -1.64975315e-01, 2.29725972e-01, 9.07307640e-02,\n", + " -1.34855330e-01, -6.76670671e-01, 2.44544178e-01,\n", + " -4.55914080e-01, -2.21616894e-01, -6.80766115e-03,\n", + " -5.61732173e-01, 3.94695587e-02, -2.98757106e-01,\n", + " 3.24944347e-01, -3.50992322e-01, -3.55250657e-01,\n", + " 4.19133663e-01, -1.81731328e-01, 2.12798685e-01,\n", + " -2.91771386e-02, -4.79145557e-01, 3.54345769e-01,\n", + " -7.77321309e-02, -4.98711914e-01, -5.77231348e-01,\n", + " 7.25057721e-01, -8.98152828e-01, -6.05006576e-01,\n", + " -8.81800890e-01, -1.36045074e+00, 3.45182657e-01,\n", + " -1.31046247e+00, -2.40266323e-02, -2.00349480e-01,\n", + " 1.49414251e-02, 7.24024951e-01, -1.02799916e+00,\n", + " 1.13628261e-01, -3.33850831e-01, 4.42778170e-02,\n", + " 8.73994768e-01, 1.09054953e-01, 1.89671367e-01,\n", + " 1.75990418e-01, 1.09133489e-01, -6.57070398e-01,\n", + " 2.27676824e-01, -6.39706612e-01, -2.86734551e-01,\n", + " 3.32877308e-01, 3.86280268e-01, -4.03546333e-01,\n", + " 1.13617313e+00, -5.50746381e-01, -6.27767146e-01,\n", + " 8.86233926e-01, 9.63478833e-02, -7.49540389e-01,\n", + " -1.07879758e+00, 8.40771079e-01, 1.70423791e-01,\n", + " 2.67693177e-02, -8.25676978e-01, 2.28299946e-01,\n", + " 4.28672463e-01, 4.83920574e-01, 6.78453028e-01,\n", + " -1.04233444e-01, 2.86804557e-01, 3.19179416e-01,\n", + " -1.30276576e-01, 1.59447551e-01, -3.52264524e-01,\n", + " -8.23359117e-02, -1.01699102e+00, 4.77984659e-02,\n", + " -3.29850644e-01, 2.27738515e-01, 2.00626865e-01,\n", + " 3.07913870e-01, -2.62131661e-01, -2.68594563e-01,\n", + " 7.44692922e-01, 6.54206634e-01, -2.78040349e-01,\n", + " 3.83197814e-01, -4.32873905e-01, -2.04653978e-01,\n", + " 1.21546641e-01, -9.08628821e-01, 4.33077306e-01,\n", + " -5.72758801e-02, -4.25418168e-01, 4.29795742e-01,\n", + " -2.54513323e-01, 1.01429045e+00, -4.96600479e-01,\n", + " 4.04355913e-01, 3.93872662e-03, -6.70411527e-01,\n", + " 6.85276747e-01, -1.87186563e+00, 4.82749611e-01,\n", + " -5.83230555e-01, -2.16659829e-01, 2.34310199e-02,\n", + " 1.51459292e-01, 8.54803264e-01, -4.66781080e-01,\n", + " 5.92856348e-01, 3.63355577e-01, 4.70464170e-01,\n", + " -4.47775811e-01, -5.12042880e-01, -1.45977929e-01,\n", + " -3.34089547e-02, -4.39307332e-01, -6.61511183e-01,\n", + " 3.25032175e-01, 8.42535436e-01, 7.31322765e-01,\n", + " 3.00033152e-01, -1.56772852e-01, 7.03861952e-01,\n", + " -6.80940077e-02, 1.15797780e-01, 2.96656072e-01,\n", + " -3.72326449e-02, 1.20023742e-01, -9.93749648e-02,\n", + " -7.42625535e-01, 1.98762670e-01, 3.75849843e-01,\n", + " 1.77410349e-01, -5.82590044e-01, -6.65690377e-02,\n", + " 3.95368934e-01, 1.76351041e-01, 1.78927526e-01,\n", + " 3.79469335e-01, 1.65692866e-02, 3.06543469e-01,\n", + " 3.90689999e-01, 4.71795201e-01, -1.56677037e-01,\n", + " -7.24490643e-01, -2.35413924e-01, -4.19473737e-01], dtype=float32), memmap([-0.773016 , 0.02541066, -0.12000727, 0.34010726, 0.36779076,\n", + " -0.8727912 , -0.1460467 , -0.25859767, -0.5372134 , 0.5413768 ,\n", + " -0.40617108, 0.21417534, 0.1782749 , 0.07104267, 0.28795913,\n", + " 0.7668105 , 0.37454396, -0.24838452, -0.57464963, -1.0061712 ,\n", + " 0.23170277, 0.00795611, -0.73399425, -0.00305772, -0.02516304,\n", + " 0.17810522, -0.2806503 , -0.15686423, 0.49743944, 0.19035682,\n", + " -0.3842925 , -0.08947992, 0.10464152, 0.97137463, -0.7939083 ,\n", + " -0.00349492, 0.37261888, 0.24901891, 0.14359115, -0.11819526,\n", + " -0.02127719, 0.48851046, -0.07969654, 0.31570494, 0.4799174 ,\n", + " 0.46721315, -0.38684183, 0.38771853, -0.5353194 , -0.6605955 ,\n", + " -0.9300135 , 0.07618915, 0.8405441 , -0.16105053, -0.6816401 ,\n", + " 0.26703075, 1.041487 , 0.19110608, 0.72179216, 0.30196577,\n", + " -0.5313064 , -0.16015893, -0.363964 , -0.05746987, -0.10274071,\n", + " 1.396148 , -0.1410264 , 0.38411102, 0.6304281 , 0.43906367,\n", + " 0.3779093 , -1.158868 , -0.22776881, 0.6099709 , 0.39416376,\n", + " -0.6252373 , -1.2855071 , -0.76980954, 0.28523397, -0.0641468 ,\n", + " -0.25811198, -0.454986 , -0.858666 , 0.32212627, 0.04195244,\n", + " -0.7580125 , -0.3468982 , -0.2806272 , 0.24741448, 0.08677346,\n", + " 0.24520788, 0.83745855, -0.9465477 , 0.6572124 , -1.0941597 ,\n", + " 0.34384584, 0.2542343 , 0.15296006, -0.13076529, 0.44808292,\n", + " -0.1734772 , -0.5230986 , 0.23506273, 0.35829243, 0.64899063,\n", + " 0.090804 , 0.21086827, 0.26357216, -0.2286855 , -0.52424085,\n", + " -0.96040326, -0.13356772, 0.02616933, -0.16718566, -0.05801446,\n", + " 0.9826849 , -0.1108325 , 0.14719239, 0.7443636 , -1.2667986 ,\n", + " -0.5664543 , 0.5805223 , -0.7148045 , 1.0670414 , -0.4254989 ,\n", + " 0.63547415, 0.3395718 , 0.55229115, -0.0718675 , 0.4751402 ,\n", + " -0.44188303, -0.694603 , 0.19797762, -0.18715712, -0.45879075,\n", + " 0.52656806, -0.61958474, 0.5911607 , 0.5357413 , -0.21355735,\n", + " 0.46179178, -0.9616013 , 0.40954313, 0.03190374, 0.07900023,\n", + " -0.46911833, -0.5529677 , -0.05776388, 0.37696156, 1.1600314 ,\n", + " -0.25023335, 0.17187673, -0.11516114, 0.2507006 , 0.2974227 ,\n", + " -0.86111146, 0.18880947, -0.19892403, -0.07803811, -0.55262804,\n", + " -0.33619475, -1.0156713 , -0.39547104, 0.34914452, -0.3196436 ,\n", + " 0.22786458, -1.0093625 , -0.5776213 , -0.16097093, -0.16830333,\n", + " 0.14450641, -0.55358756, -0.7492669 , 0.4746391 , -0.06093542,\n", + " -0.34565502, 0.7901151 , 0.05678376, -0.7060415 , -0.18196204,\n", + " -0.3229811 , -1.5893629 , 0.09478337, -0.20510434, -1.3950627 ,\n", + " 0.32722515, 0.3905587 , 0.63020974, 0.09946702, -0.3232827 ,\n", + " -0.682954 , -0.06483297, -0.11140213, -1.02714 , -0.44343 ,\n", + " 0.12579179, -0.38595164, -0.34627843, 0.7475713 , -0.2649192 ,\n", + " -0.30398044, 0.19365095, -0.18963574, 0.5207186 , 1.1543729 ,\n", + " 0.75007033, -0.01249778, 0.35474405, 0.8836889 , -0.88478297,\n", + " 0.01541718, 0.240096 , 0.0213764 , 0.3901105 , -0.30235615,\n", + " -0.0050195 , -0.5009409 , -0.4165216 , 0.40415108, 0.41518977,\n", + " -0.32895845, -0.20203578, -0.02666441, -0.02245301, -0.65792453,\n", + " 0.0846795 , -0.5843571 , -0.32807642, 0.33003634, -0.6319264 ,\n", + " 0.10737403, -0.12057446, 1.081935 , 0.4515246 , 1.3490843 ,\n", + " -0.71701515, 0.40456727, -1.0308925 , -1.0852395 , 0.40033525,\n", + " 0.11218191, 0.03853985, 0.07201865, -0.81670254, -0.17411768,\n", + " -1.1390846 , -0.569029 , -0.22762732, -0.75620633, 0.83338004,\n", + " 0.15060794, 0.25235468, 0.24142404, -1.3028564 , 0.07949191,\n", + " -0.91210663, 0.20120366, 0.28240705, 1.1150122 , 0.6442032 ,\n", + " -0.77660626, -0.3913148 , 0.22196582, 0.06334648, 0.1865409 ,\n", + " -0.22735979, 1.0373497 , 0.01361663, -0.44159064, -0.16743961,\n", + " 0.13433474, 0.5473303 , 0.3970922 , 0.35753748, -0.93466735,\n", + " -0.38469347, -0.09695423, -0.37814587, 0.47805113, 0.29930028,\n", + " -0.42230073, 0.26595125, -0.77912045, -0.42805156, -0.02793522,\n", + " -0.5486121 , 0.61128694, 0.17660993, -0.38184646, 0.01282448,\n", + " -0.8701709 , 0.10832139, 0.46352002, 0.09333517, 0.02196137,\n", + " 0.50943524, -0.8320779 , -0.8548014 , -0.7480519 , 0.09349559],\n", + " dtype=float32), memmap([ 0.234722, 0.80981 , 0.074393, -0.211983, -0.20316 , -0.005446,\n", + " -0.026764, -0.400265, -0.084097, -0.273624, 0.515842, 0.1567 ,\n", + " -0.305431, -0.348783, -0.303379, -0.47814 , 0.597299, -0.898253,\n", + " 0.33991 , -0.130709, 0.483949, 0.461116, -0.190227, 0.013129,\n", + " 0.065772, -0.352949, 0.111544, 0.017473, 0.144105, 0.149626,\n", + " 0.008293, -0.169169, -0.444825, 0.479146, 0.06512 , 0.296075,\n", + " 0.710782, 0.587407, -0.433715, 0.304509, 0.006459, -0.289251,\n", + " -0.10277 , -0.198216, -0.141312, 0.231391, 0.64742 , -0.087082,\n", + " 0.422744, -0.108043, 0.526347, -0.141101, -0.018233, -0.112364,\n", + " -0.227426, 0.250347, -0.403164, 0.115159, -0.009349, 0.609969,\n", + " -0.069278, -0.391943, -0.653624, 0.10873 , -0.094347, 0.066627,\n", + " -0.253934, -0.108288, -0.346003, 0.431097, -0.265748, -0.425058,\n", + " -0.025266, 0.290219, 0.106791, 0.087098, -0.447396, -0.673392,\n", + " -0.324899, -0.391382, 0.447569, 0.349118, 0.356815, 0.182235,\n", + " -0.111013, -0.223045, 0.160748, -0.181547, -0.328115, -0.460369,\n", + " -0.442495, 0.429451, 0.397471, 0.381919, 0.02781 , 0.271415,\n", + " 0.5993 , -0.174249, -0.176888, 0.042518, -0.377703, -0.092198,\n", + " -0.438258, 0.109864, -0.077585, 0.167162, 0.194471, -0.008114,\n", + " -0.307463, 0.099702, -0.026789, 0.123125, 0.423148, -0.291795,\n", + " -0.544971, -0.082876, -0.576819, 0.272862, 0.031629, 0.283621,\n", + " -0.342329, 0.334911, -0.27696 , 0.428965, 0.101146, -0.206178,\n", + " -0.274189, 0.060112, 0.570426, -0.107117, 0.37786 , -0.165856,\n", + " -0.270784, -0.614963, 0.484542, -0.137667, 0.461162, 0.122169,\n", + " 0.667988, 0.137872, -0.188582, -0.542727, 0.1241 , 0.027563,\n", + " 0.54114 , 0.047244, 0.634181, -0.653621, -0.361178, 0.36152 ,\n", + " -0.083926, 0.426356, 0.343157, 0.154389, -0.557137, 0.356449,\n", + " -0.174122, -0.090641, -0.247339, -0.361961, 0.179499, -0.158728,\n", + " 0.351486, -0.181382, -0.062844, 0.324505, -0.816371, 0.503514,\n", + " 0.034193, -0.060433, 0.728245, 0.006493, -0.118483, -0.879179,\n", + " -0.143395, -0.492866, -0.789491, 0.38288 , -0.242385, -0.346206,\n", + " -0.482659, -0.523072, 0.800104, -0.39457 , -0.16892 , 0.317939,\n", + " 0.48674 , 0.100542, 0.400315, -0.321421, -0.355529, -0.080892,\n", + " 0.082311, 0.409865, -0.213277, 0.484455, -0.041403, -0.56434 ,\n", + " 0.075854, 0.479876, -0.221461, -0.018248, 0.154643, 0.634272,\n", + " -0.204653, -0.053264, -0.419435, 0.148316, -0.386147, 0.362359,\n", + " -0.516738, -0.022144, 0.195906, 0.36925 , -0.631322, -0.185465,\n", + " -0.150158, 0.29502 , 0.186631, -0.029606, -0.159891, 0.585461,\n", + " -0.305519, 0.679607, -0.289729, 0.300789, -0.409961, -0.014877,\n", + " -0.058152, -0.289599, -0.275716, 0.14194 , -0.417603, -0.219314,\n", + " 0.239415, -0.209425, 0.228551, -0.090276, 0.003584, -0.563514,\n", + " 0.190148, -0.019804, 0.525719, -0.648379, -0.130032, 0.171629,\n", + " -0.285099, 0.501189, -0.28986 , -0.320306, 0.425084, 0.369126,\n", + " 0.486192, -0.806163, 0.46262 , -1.326337, 0.170554, 0.15332 ,\n", + " -0.013065, 0.305223, 0.365505, 0.024582, -0.02012 , -0.008161,\n", + " 0.271429, 0.115404, -0.558071, 0.190464, -0.51834 , 0.307425,\n", + " -0.424621, -0.110702, -0.067658, 0.549403, -0.508167, 0.244493,\n", + " 0.482683, -0.70726 , -0.043798, -0.162574, -0.120331, -0.689316,\n", + " -0.479306, 0.467589, 0.08211 , 0.063808, -0.236574, 0.513354,\n", + " 0.208919, -0.364278, -0.599179, 0.694367, -0.113098, -0.137624,\n", + " 0.178429, -0.249899, 0.177704, -0.383857, -0.012945, 0.063089],\n", + " dtype=float32), memmap([ 4.25750554e-01, -1.44906029e-01, -1.03891052e-01,\n", + " -2.88361520e-01, 3.09437454e-01, -3.73205423e-01,\n", + " -5.34060597e-02, -8.10606718e-01, 4.98223990e-01,\n", + " -1.36323616e-01, -1.89956173e-01, -2.41232924e-02,\n", + " 6.83675587e-01, 1.89345434e-01, 5.25885999e-01,\n", + " -3.08831513e-01, -3.21324170e-02, -6.30293667e-01,\n", + " 9.41303149e-02, -1.36064023e-01, -1.24976680e-01,\n", + " 4.70452249e-01, -5.06320238e-01, 4.46305722e-01,\n", + " 8.39224532e-02, -5.56360185e-01, 5.44480793e-02,\n", + " -2.97736049e-01, 2.10755810e-01, 2.42721047e-02,\n", + " 1.96821988e-01, -2.78171182e-01, 9.76160839e-02,\n", + " 3.34955037e-01, -1.26703724e-01, -2.80070245e-01,\n", + " -5.42247714e-03, 5.66913262e-02, -3.57440680e-01,\n", + " -1.15232475e-01, 5.91550991e-02, -1.86618924e-01,\n", + " -1.70146614e-01, -5.71986027e-02, -4.01463732e-02,\n", + " -9.00624394e-02, -1.42397046e-01, 4.17225242e-01,\n", + " 1.55987278e-01, -2.53479540e-01, 2.47357652e-01,\n", + " -1.25247508e-01, -3.19386363e-01, -6.51077777e-02,\n", + " -5.23198903e-01, 4.67539728e-01, -7.37586990e-02,\n", + " -1.36515945e-02, -9.33016837e-02, -1.23284133e-02,\n", + " -2.41081640e-01, -5.30515313e-01, -2.41322294e-01,\n", + " -2.28916928e-01, -2.18479544e-01, 1.35944843e-01,\n", + " 8.72921422e-02, -2.78946072e-01, 2.46815383e-02,\n", + " -7.14808702e-02, 4.72817570e-01, -5.28021336e-01,\n", + " -8.69194567e-02, 2.40457848e-01, 1.02259025e-01,\n", + " 1.48765184e-02, 6.95583075e-02, -3.79711509e-01,\n", + " -1.59715727e-01, -4.05831605e-01, 4.63549107e-01,\n", + " 4.98835035e-02, -2.19716609e-01, -2.95969158e-01,\n", + " 8.53620097e-02, -6.02161646e-01, -3.22390318e-01,\n", + " -7.59210438e-02, -5.03465533e-01, 8.72356594e-02,\n", + " -5.32781005e-01, 2.94092119e-01, 9.29164141e-03,\n", + " 1.23222262e-01, -3.13054204e-01, 3.35174859e-01,\n", + " -1.01884291e-01, -3.41102123e-01, -1.38404995e-01,\n", + " 4.87858444e-01, -9.39088687e-03, -1.12968273e-01,\n", + " -1.37872711e-01, 1.03885084e-01, -4.10780162e-01,\n", + " 2.37380326e-01, 2.46492177e-01, -4.73199897e-02,\n", + " 1.34807795e-01, -2.18871430e-01, 2.45887250e-01,\n", + " 9.91815254e-02, 2.95145869e-01, -4.81934458e-01,\n", + " -2.57790666e-02, 2.22542793e-01, -3.88982035e-02,\n", + " -3.15040410e-01, 3.87229264e-01, -2.49802768e-01,\n", + " -2.67281026e-01, 4.05594148e-02, 8.61374736e-01,\n", + " 3.67723942e-01, -1.97135165e-01, -1.60418391e-01,\n", + " -2.13820949e-01, -2.19974946e-02, -2.45177522e-01,\n", + " 6.84971630e-04, 1.22145891e-01, 3.80910560e-03,\n", + " 2.19096988e-01, -6.30880356e-01, 1.90297291e-02,\n", + " 1.41488150e-01, 3.29718709e-01, 2.07425833e-01,\n", + " 1.80229947e-01, -3.20699275e-01, 7.24228248e-02,\n", + " -1.09708623e-03, 4.44707066e-01, -4.18925881e-01,\n", + " 3.12439054e-01, -8.04027498e-01, -1.80449471e-01,\n", + " -2.94538289e-01, -2.71387756e-01, 3.22831631e-01,\n", + " -2.52752393e-01, 1.17669508e-01, -1.55494958e-01,\n", + " -1.25974506e-01, 3.10132176e-01, -3.36968456e-03,\n", + " -4.16645348e-01, -1.68400094e-01, -7.30952695e-02,\n", + " -1.37847796e-01, -9.38109215e-03, -6.17799461e-02,\n", + " -3.57294142e-01, 8.67224410e-02, 2.06380427e-01,\n", + " -3.85333002e-01, -4.44512308e-01, -1.98299453e-01,\n", + " -2.58089662e-01, -2.13967651e-01, 3.88148606e-01,\n", + " 1.30149914e-04, 3.94165158e-01, -3.97414744e-01,\n", + " -2.87104368e-01, -3.15382481e-01, 1.16758458e-01,\n", + " -1.68181643e-01, -1.08504403e+00, -2.63383478e-01,\n", + " -4.29468513e-01, 3.13112587e-01, -4.93108518e-02,\n", + " 4.12772730e-04, -3.33309472e-01, 5.83502352e-01,\n", + " 2.04136334e-02, 7.40744248e-02, -1.59861699e-01,\n", + " -4.58843350e-01, -2.48187050e-01, 2.91114897e-01,\n", + " 2.70096153e-01, -3.16815615e-01, 2.33823031e-01,\n", + " -7.75428396e-03, -1.69241428e-01, 2.49805406e-01,\n", + " -8.06642696e-02, 1.37787044e-01, 3.98429543e-01,\n", + " -2.93187089e-02, 1.61894038e-01, 3.01054865e-01,\n", + " 5.28242588e-01, 5.14931023e-01, -1.25819698e-01,\n", + " -4.77335900e-01, -1.81206718e-01, 6.61615551e-01,\n", + " -1.02147090e+00, 3.43526691e-01, 3.01730573e-01,\n", + " 7.10077584e-02, -3.12605232e-01, 4.56228182e-02,\n", + " -6.32001221e-01, -5.26204526e-01, 5.13294190e-02,\n", + " 1.61592558e-01, -5.78216352e-02, 8.95283464e-03,\n", + " -4.61166769e-01, 2.94773579e-01, -2.23560661e-01,\n", + " 4.92346585e-01, -2.11191818e-01, 1.52712345e-01,\n", + " 1.92895055e-01, 8.37244913e-02, 2.09370047e-01,\n", + " 3.65570694e-01, 4.82121974e-01, -5.69163799e-01,\n", + " -1.10894538e-01, -8.56475160e-02, -4.92317915e-01,\n", + " 3.66639465e-01, 3.77745420e-01, 2.88006246e-01,\n", + " 1.07129358e-01, -1.56810477e-01, 2.02181801e-01,\n", + " -1.22563757e-01, -2.90898144e-01, -1.56015202e-01,\n", + " -1.36386916e-01, -5.33366799e-02, 2.77843237e-01,\n", + " 2.41626233e-01, -7.99171552e-02, 2.42322251e-01,\n", + " -3.42781782e-01, 2.17569798e-01, 3.15509677e-01,\n", + " 2.95207113e-01, 1.51273325e-01, 1.12781964e-01,\n", + " 5.57037294e-02, 4.92329061e-01, 8.49575028e-02,\n", + " -4.89813328e-01, 2.83460051e-01, -2.61578053e-01,\n", + " -6.01285338e-01, 1.84555024e-01, 9.62331891e-02,\n", + " 2.61091739e-01, -3.05440724e-01, 1.75247297e-01,\n", + " 3.86141539e-02, -3.40094268e-01, 2.05955997e-01,\n", + " 1.31360844e-01, -2.29192935e-02, 4.18725275e-02,\n", + " -1.53108016e-01, -3.61782521e-01, 1.62163615e-01,\n", + " 2.79950440e-01, -5.36505803e-02, -3.07383120e-01,\n", + " -1.91204160e-01, 6.12407207e-01, 3.68224859e-01,\n", + " -7.81459093e-01, 4.69116941e-02, -7.49986395e-02,\n", + " 4.17151093e-01, 2.30060853e-02, 4.53134269e-01,\n", + " -4.38228220e-01, -3.27670395e-01, 1.63857535e-01,\n", + " -4.24780190e-01, -1.93398342e-01, 4.66528773e-01,\n", + " -1.48015484e-01, -2.01658487e-01, 3.86270493e-01], dtype=float32), memmap([-3.24685067e-01, -8.09570670e-01, -1.03050180e-01,\n", + " -4.36205044e-02, -5.66855133e-01, 2.70377640e-02,\n", + " -4.72028643e-01, -7.35919416e-01, 1.77842200e-01,\n", + " 2.88984448e-01, 3.89561206e-01, -3.75486553e-01,\n", + " 1.18895423e+00, 7.78229237e-01, -7.86323488e-01,\n", + " -1.60766765e-01, 6.31467879e-01, -8.02628636e-01,\n", + " 6.39832914e-01, 1.73263550e-01, 3.37748915e-01,\n", + " -4.08929944e-01, -5.93181908e-01, 4.99565542e-01,\n", + " -4.15923625e-01, -1.29706874e-01, -3.38152409e-01,\n", + " -6.07454419e-01, 4.67318237e-01, 6.81544483e-01,\n", + " -2.35622466e-01, -1.02453053e-01, 1.57846093e-01,\n", + " 1.72784552e-01, -4.91092773e-03, -3.01241904e-01,\n", + " 1.13105559e+00, 5.38298249e-01, -9.74709541e-02,\n", + " -4.58919019e-01, 2.00168900e-02, -5.11729956e-01,\n", + " -1.39294541e+00, 2.99367100e-01, 7.73437798e-01,\n", + " 3.16411778e-02, 3.59324902e-01, 8.06545675e-01,\n", + " -5.45785069e-01, -3.10331434e-01, 8.72977674e-01,\n", + " 5.26150942e-01, -1.02591738e-01, 2.04615578e-01,\n", + " -5.92126250e-01, -6.72684133e-01, 2.89116949e-01,\n", + " 9.18302909e-02, 2.96162844e-01, -1.27545022e-03,\n", + " 2.03249618e-01, 1.80768713e-01, -3.90626967e-01,\n", + " -1.29804322e-02, 4.37790692e-01, -3.64433862e-02,\n", + " -2.92590819e-02, -1.42965168e-01, -3.37275863e-02,\n", + " 8.37169215e-02, 5.95902741e-01, -5.67058742e-01,\n", + " -2.88764983e-01, -3.47298086e-01, 3.70834649e-01,\n", + " -1.22862741e-01, -8.12156856e-01, -3.81230235e-01,\n", + " -1.08798333e-01, -6.44796863e-02, 6.69528365e-01,\n", + " 4.23865050e-01, -7.26647258e-01, -2.64263839e-01,\n", + " 3.98558170e-01, -7.67392218e-01, 1.16265714e+00,\n", + " -2.74666578e-01, 2.24752985e-02, 5.47188282e-01,\n", + " 7.21026003e-01, 4.78942692e-01, -4.41449881e-01,\n", + " 4.27814648e-02, -5.71467340e-01, 1.03153482e-01,\n", + " -6.79021597e-01, 8.02298307e-01, 6.95822418e-01,\n", + " -2.49896720e-01, 1.66734129e-01, -5.09081632e-02,\n", + " 1.49252906e-01, 5.97951770e-01, -2.50706151e-02,\n", + " 1.43053681e-01, 1.60088167e-01, -3.57728064e-01,\n", + " -3.11352789e-01, 2.35706195e-01, -2.43033513e-01,\n", + " 8.59800875e-02, -9.21167359e-02, -4.80178982e-01,\n", + " -6.46969855e-01, 8.07543695e-02, 5.70740402e-01,\n", + " -1.67069748e-01, -3.67175460e-01, -9.43437815e-01,\n", + " -2.94312298e-01, 8.67804885e-01, -7.00006410e-02,\n", + " 5.90139329e-01, 1.67932689e-01, 4.52213854e-01,\n", + " -2.83149958e-01, 4.11131531e-01, 2.02804670e-01,\n", + " 1.76650271e-01, 1.83450937e-01, -4.44364011e-01,\n", + " -1.50030643e-01, 2.94948816e-01, 1.55011669e-01,\n", + " -5.45138419e-01, -4.84053016e-01, 6.39758229e-01,\n", + " 1.03366220e+00, -5.25145173e-01, 2.90294141e-01,\n", + " -7.59942114e-01, 1.43332198e-01, -1.12062111e-01,\n", + " 9.13262069e-01, -4.62342381e-01, -2.26189584e-01,\n", + " 1.18691534e-01, -4.84202474e-01, 5.14343679e-01,\n", + " 2.53771186e-01, 5.31296805e-02, 1.53731480e-01,\n", + " -1.64975315e-01, 2.29725972e-01, 9.07307640e-02,\n", + " -1.34855330e-01, -6.76670671e-01, 2.44544178e-01,\n", + " -4.55914080e-01, -2.21616894e-01, -6.80766115e-03,\n", + " -5.61732173e-01, 3.94695587e-02, -2.98757106e-01,\n", + " 3.24944347e-01, -3.50992322e-01, -3.55250657e-01,\n", + " 4.19133663e-01, -1.81731328e-01, 2.12798685e-01,\n", + " -2.91771386e-02, -4.79145557e-01, 3.54345769e-01,\n", + " -7.77321309e-02, -4.98711914e-01, -5.77231348e-01,\n", + " 7.25057721e-01, -8.98152828e-01, -6.05006576e-01,\n", + " -8.81800890e-01, -1.36045074e+00, 3.45182657e-01,\n", + " -1.31046247e+00, -2.40266323e-02, -2.00349480e-01,\n", + " 1.49414251e-02, 7.24024951e-01, -1.02799916e+00,\n", + " 1.13628261e-01, -3.33850831e-01, 4.42778170e-02,\n", + " 8.73994768e-01, 1.09054953e-01, 1.89671367e-01,\n", + " 1.75990418e-01, 1.09133489e-01, -6.57070398e-01,\n", + " 2.27676824e-01, -6.39706612e-01, -2.86734551e-01,\n", + " 3.32877308e-01, 3.86280268e-01, -4.03546333e-01,\n", + " 1.13617313e+00, -5.50746381e-01, -6.27767146e-01,\n", + " 8.86233926e-01, 9.63478833e-02, -7.49540389e-01,\n", + " -1.07879758e+00, 8.40771079e-01, 1.70423791e-01,\n", + " 2.67693177e-02, -8.25676978e-01, 2.28299946e-01,\n", + " 4.28672463e-01, 4.83920574e-01, 6.78453028e-01,\n", + " -1.04233444e-01, 2.86804557e-01, 3.19179416e-01,\n", + " -1.30276576e-01, 1.59447551e-01, -3.52264524e-01,\n", + " -8.23359117e-02, -1.01699102e+00, 4.77984659e-02,\n", + " -3.29850644e-01, 2.27738515e-01, 2.00626865e-01,\n", + " 3.07913870e-01, -2.62131661e-01, -2.68594563e-01,\n", + " 7.44692922e-01, 6.54206634e-01, -2.78040349e-01,\n", + " 3.83197814e-01, -4.32873905e-01, -2.04653978e-01,\n", + " 1.21546641e-01, -9.08628821e-01, 4.33077306e-01,\n", + " -5.72758801e-02, -4.25418168e-01, 4.29795742e-01,\n", + " -2.54513323e-01, 1.01429045e+00, -4.96600479e-01,\n", + " 4.04355913e-01, 3.93872662e-03, -6.70411527e-01,\n", + " 6.85276747e-01, -1.87186563e+00, 4.82749611e-01,\n", + " -5.83230555e-01, -2.16659829e-01, 2.34310199e-02,\n", + " 1.51459292e-01, 8.54803264e-01, -4.66781080e-01,\n", + " 5.92856348e-01, 3.63355577e-01, 4.70464170e-01,\n", + " -4.47775811e-01, -5.12042880e-01, -1.45977929e-01,\n", + " -3.34089547e-02, -4.39307332e-01, -6.61511183e-01,\n", + " 3.25032175e-01, 8.42535436e-01, 7.31322765e-01,\n", + " 3.00033152e-01, -1.56772852e-01, 7.03861952e-01,\n", + " -6.80940077e-02, 1.15797780e-01, 2.96656072e-01,\n", + " -3.72326449e-02, 1.20023742e-01, -9.93749648e-02,\n", + " -7.42625535e-01, 1.98762670e-01, 3.75849843e-01,\n", + " 1.77410349e-01, -5.82590044e-01, -6.65690377e-02,\n", + " 3.95368934e-01, 1.76351041e-01, 1.78927526e-01,\n", + " 3.79469335e-01, 1.65692866e-02, 3.06543469e-01,\n", + " 3.90689999e-01, 4.71795201e-01, -1.56677037e-01,\n", + " -7.24490643e-01, -2.35413924e-01, -4.19473737e-01], dtype=float32), memmap([-0.319322, -0.276023, 0.17047 , -0.272409, -0.089651, -0.035876,\n", + " -0.321936, -0.243083, -0.08632 , 0.262197, 0.152754, 0.123403,\n", + " 0.284925, 0.620868, 0.391449, 0.129198, -0.433896, -0.228366,\n", + " -0.239171, 0.059878, -0.125017, -0.266126, -0.084336, 0.051063,\n", + " -0.186211, -0.338666, 0.069568, -0.038323, -0.146329, -0.005209,\n", + " 0.188315, -0.452156, 0.100266, 0.394508, 0.211775, -0.06337 ,\n", + " -0.115044, -0.322608, -0.269903, -0.409285, -0.029664, -0.471362,\n", + " -0.124741, -0.058438, 0.039591, -0.229803, 0.234605, 0.561397,\n", + " 0.157197, -0.517922, -0.034207, 0.279725, 0.325539, 0.664788,\n", + " -0.732744, 0.393113, -0.446441, 0.14403 , -0.013707, 0.037361,\n", + " 0.208127, -0.156414, 0.242404, -0.131422, 0.317909, -0.050475,\n", + " -0.505597, 0.236151, -0.111564, 0.118847, 0.085974, 0.079402,\n", + " -0.03174 , -0.200248, -0.276385, 0.443634, -0.086328, -0.209962,\n", + " -0.364376, -0.078553, 0.294191, -0.250487, -0.025672, -0.195253,\n", + " 0.222045, -0.442939, -0.006938, -0.145141, 0.255771, -0.138491,\n", + " 0.15742 , -0.207538, 0.266065, 0.225087, -0.172197, -0.278743,\n", + " 0.236019, 0.330623, -0.405081, -0.234321, -0.25562 , 0.213554,\n", + " 0.36461 , 0.202097, 0.348414, 0.216631, 0.065132, -0.220943,\n", + " -0.069751, 0.081078, 0.104212, 0.055293, -0.260584, -0.071512,\n", + " -0.187548, 0.164944, 0.457141, -0.003227, 0.117823, -0.23556 ,\n", + " -0.431772, 0.143061, -0.156891, -0.10006 , -0.041483, -0.057992,\n", + " 0.077603, -0.472007, 0.162502, 0.527112, 0.110945, -0.289826,\n", + " 0.511473, -0.363867, -0.500553, 0.210739, 0.079695, 0.21336 ,\n", + " -0.247505, -0.212534, -0.33405 , -0.692742, -0.046987, 0.026302,\n", + " -0.126603, -0.276791, -0.366915, -0.160814, 0.213673, 0.126921,\n", + " -0.023278, -0.014274, 0.243754, 0.279842, -0.175139, -0.082161,\n", + " 0.217659, 0.171271, 0.103621, -0.120804, 0.147013, 0.213134,\n", + " 0.138982, -0.517564, -0.245197, 0.196429, 0.026228, 0.062393,\n", + " -0.170902, -0.211561, 0.118573, 0.216315, -0.316547, -0.340282,\n", + " -0.440692, -0.220261, -0.36046 , 0.44887 , -0.379904, -0.751427,\n", + " -0.056138, -0.50819 , 0.451902, -0.194486, -0.669309, 0.427908,\n", + " -0.300476, 0.185786, 0.067941, 0.372861, 0.18312 , 0.172407,\n", + " 0.089558, -0.141367, 0.153089, 0.400673, 0.027633, -0.059931,\n", + " 0.282461, 0.157114, -0.555842, 0.183057, 0.344094, 0.222928,\n", + " 0.351276, 0.024188, 0.34985 , 0.44471 , -0.226333, 0.495887,\n", + " -0.459748, 0.379791, 0.24467 , -0.033447, 0.144172, 0.00683 ,\n", + " -0.152895, -0.061789, -0.010761, -0.302768, 0.277822, -0.121518,\n", + " 0.123097, -0.194106, -0.166223, 0.669986, -0.626135, -0.169148,\n", + " -0.113263, -0.253815, 0.309245, 0.079479, -0.137713, 0.292258,\n", + " 0.033245, 0.159853, 0.033369, -0.51857 , -0.399423, 0.140893,\n", + " 0.195423, -0.316396, 0.457233, -0.500268, 0.009194, 0.575383,\n", + " -0.923461, -0.178141, -0.181492, 0.293164, 0.30538 , 0.25695 ,\n", + " -0.212578, -0.507959, 0.382843, -0.246603, 0.023363, -0.094138,\n", + " -0.195562, 0.565034, -0.348922, -0.020163, 0.32902 , 0.309389,\n", + " -0.146947, 0.051533, -0.022156, -0.08394 , 0.01595 , 0.435747,\n", + " -0.425833, 0.519304, 0.300972, 0.404167, -0.194823, -0.041167,\n", + " 0.152326, -0.147466, 0.313772, -0.119725, -0.267894, -0.152814,\n", + " -0.676218, 0.222469, -0.257001, -0.580406, -0.190509, -0.07152 ,\n", + " 0.32501 , -0.143217, -0.553258, -0.047709, -0.310232, 0.05954 ,\n", + " -0.284619, 0.2116 , 0.307604, -0.006132, -0.096687, 0.256419],\n", + " dtype=float32), memmap([ 0.234722, 0.80981 , 0.074393, -0.211983, -0.20316 , -0.005446,\n", + " -0.026764, -0.400265, -0.084097, -0.273624, 0.515842, 0.1567 ,\n", + " -0.305431, -0.348783, -0.303379, -0.47814 , 0.597299, -0.898253,\n", + " 0.33991 , -0.130709, 0.483949, 0.461116, -0.190227, 0.013129,\n", + " 0.065772, -0.352949, 0.111544, 0.017473, 0.144105, 0.149626,\n", + " 0.008293, -0.169169, -0.444825, 0.479146, 0.06512 , 0.296075,\n", + " 0.710782, 0.587407, -0.433715, 0.304509, 0.006459, -0.289251,\n", + " -0.10277 , -0.198216, -0.141312, 0.231391, 0.64742 , -0.087082,\n", + " 0.422744, -0.108043, 0.526347, -0.141101, -0.018233, -0.112364,\n", + " -0.227426, 0.250347, -0.403164, 0.115159, -0.009349, 0.609969,\n", + " -0.069278, -0.391943, -0.653624, 0.10873 , -0.094347, 0.066627,\n", + " -0.253934, -0.108288, -0.346003, 0.431097, -0.265748, -0.425058,\n", + " -0.025266, 0.290219, 0.106791, 0.087098, -0.447396, -0.673392,\n", + " -0.324899, -0.391382, 0.447569, 0.349118, 0.356815, 0.182235,\n", + " -0.111013, -0.223045, 0.160748, -0.181547, -0.328115, -0.460369,\n", + " -0.442495, 0.429451, 0.397471, 0.381919, 0.02781 , 0.271415,\n", + " 0.5993 , -0.174249, -0.176888, 0.042518, -0.377703, -0.092198,\n", + " -0.438258, 0.109864, -0.077585, 0.167162, 0.194471, -0.008114,\n", + " -0.307463, 0.099702, -0.026789, 0.123125, 0.423148, -0.291795,\n", + " -0.544971, -0.082876, -0.576819, 0.272862, 0.031629, 0.283621,\n", + " -0.342329, 0.334911, -0.27696 , 0.428965, 0.101146, -0.206178,\n", + " -0.274189, 0.060112, 0.570426, -0.107117, 0.37786 , -0.165856,\n", + " -0.270784, -0.614963, 0.484542, -0.137667, 0.461162, 0.122169,\n", + " 0.667988, 0.137872, -0.188582, -0.542727, 0.1241 , 0.027563,\n", + " 0.54114 , 0.047244, 0.634181, -0.653621, -0.361178, 0.36152 ,\n", + " -0.083926, 0.426356, 0.343157, 0.154389, -0.557137, 0.356449,\n", + " -0.174122, -0.090641, -0.247339, -0.361961, 0.179499, -0.158728,\n", + " 0.351486, -0.181382, -0.062844, 0.324505, -0.816371, 0.503514,\n", + " 0.034193, -0.060433, 0.728245, 0.006493, -0.118483, -0.879179,\n", + " -0.143395, -0.492866, -0.789491, 0.38288 , -0.242385, -0.346206,\n", + " -0.482659, -0.523072, 0.800104, -0.39457 , -0.16892 , 0.317939,\n", + " 0.48674 , 0.100542, 0.400315, -0.321421, -0.355529, -0.080892,\n", + " 0.082311, 0.409865, -0.213277, 0.484455, -0.041403, -0.56434 ,\n", + " 0.075854, 0.479876, -0.221461, -0.018248, 0.154643, 0.634272,\n", + " -0.204653, -0.053264, -0.419435, 0.148316, -0.386147, 0.362359,\n", + " -0.516738, -0.022144, 0.195906, 0.36925 , -0.631322, -0.185465,\n", + " -0.150158, 0.29502 , 0.186631, -0.029606, -0.159891, 0.585461,\n", + " -0.305519, 0.679607, -0.289729, 0.300789, -0.409961, -0.014877,\n", + " -0.058152, -0.289599, -0.275716, 0.14194 , -0.417603, -0.219314,\n", + " 0.239415, -0.209425, 0.228551, -0.090276, 0.003584, -0.563514,\n", + " 0.190148, -0.019804, 0.525719, -0.648379, -0.130032, 0.171629,\n", + " -0.285099, 0.501189, -0.28986 , -0.320306, 0.425084, 0.369126,\n", + " 0.486192, -0.806163, 0.46262 , -1.326337, 0.170554, 0.15332 ,\n", + " -0.013065, 0.305223, 0.365505, 0.024582, -0.02012 , -0.008161,\n", + " 0.271429, 0.115404, -0.558071, 0.190464, -0.51834 , 0.307425,\n", + " -0.424621, -0.110702, -0.067658, 0.549403, -0.508167, 0.244493,\n", + " 0.482683, -0.70726 , -0.043798, -0.162574, -0.120331, -0.689316,\n", + " -0.479306, 0.467589, 0.08211 , 0.063808, -0.236574, 0.513354,\n", + " 0.208919, -0.364278, -0.599179, 0.694367, -0.113098, -0.137624,\n", + " 0.178429, -0.249899, 0.177704, -0.383857, -0.012945, 0.063089],\n", + " dtype=float32), memmap([ 4.25750554e-01, -1.44906029e-01, -1.03891052e-01,\n", + " -2.88361520e-01, 3.09437454e-01, -3.73205423e-01,\n", + " -5.34060597e-02, -8.10606718e-01, 4.98223990e-01,\n", + " -1.36323616e-01, -1.89956173e-01, -2.41232924e-02,\n", + " 6.83675587e-01, 1.89345434e-01, 5.25885999e-01,\n", + " -3.08831513e-01, -3.21324170e-02, -6.30293667e-01,\n", + " 9.41303149e-02, -1.36064023e-01, -1.24976680e-01,\n", + " 4.70452249e-01, -5.06320238e-01, 4.46305722e-01,\n", + " 8.39224532e-02, -5.56360185e-01, 5.44480793e-02,\n", + " -2.97736049e-01, 2.10755810e-01, 2.42721047e-02,\n", + " 1.96821988e-01, -2.78171182e-01, 9.76160839e-02,\n", + " 3.34955037e-01, -1.26703724e-01, -2.80070245e-01,\n", + " -5.42247714e-03, 5.66913262e-02, -3.57440680e-01,\n", + " -1.15232475e-01, 5.91550991e-02, -1.86618924e-01,\n", + " -1.70146614e-01, -5.71986027e-02, -4.01463732e-02,\n", + " -9.00624394e-02, -1.42397046e-01, 4.17225242e-01,\n", + " 1.55987278e-01, -2.53479540e-01, 2.47357652e-01,\n", + " -1.25247508e-01, -3.19386363e-01, -6.51077777e-02,\n", + " -5.23198903e-01, 4.67539728e-01, -7.37586990e-02,\n", + " -1.36515945e-02, -9.33016837e-02, -1.23284133e-02,\n", + " -2.41081640e-01, -5.30515313e-01, -2.41322294e-01,\n", + " -2.28916928e-01, -2.18479544e-01, 1.35944843e-01,\n", + " 8.72921422e-02, -2.78946072e-01, 2.46815383e-02,\n", + " -7.14808702e-02, 4.72817570e-01, -5.28021336e-01,\n", + " -8.69194567e-02, 2.40457848e-01, 1.02259025e-01,\n", + " 1.48765184e-02, 6.95583075e-02, -3.79711509e-01,\n", + " -1.59715727e-01, -4.05831605e-01, 4.63549107e-01,\n", + " 4.98835035e-02, -2.19716609e-01, -2.95969158e-01,\n", + " 8.53620097e-02, -6.02161646e-01, -3.22390318e-01,\n", + " -7.59210438e-02, -5.03465533e-01, 8.72356594e-02,\n", + " -5.32781005e-01, 2.94092119e-01, 9.29164141e-03,\n", + " 1.23222262e-01, -3.13054204e-01, 3.35174859e-01,\n", + " -1.01884291e-01, -3.41102123e-01, -1.38404995e-01,\n", + " 4.87858444e-01, -9.39088687e-03, -1.12968273e-01,\n", + " -1.37872711e-01, 1.03885084e-01, -4.10780162e-01,\n", + " 2.37380326e-01, 2.46492177e-01, -4.73199897e-02,\n", + " 1.34807795e-01, -2.18871430e-01, 2.45887250e-01,\n", + " 9.91815254e-02, 2.95145869e-01, -4.81934458e-01,\n", + " -2.57790666e-02, 2.22542793e-01, -3.88982035e-02,\n", + " -3.15040410e-01, 3.87229264e-01, -2.49802768e-01,\n", + " -2.67281026e-01, 4.05594148e-02, 8.61374736e-01,\n", + " 3.67723942e-01, -1.97135165e-01, -1.60418391e-01,\n", + " -2.13820949e-01, -2.19974946e-02, -2.45177522e-01,\n", + " 6.84971630e-04, 1.22145891e-01, 3.80910560e-03,\n", + " 2.19096988e-01, -6.30880356e-01, 1.90297291e-02,\n", + " 1.41488150e-01, 3.29718709e-01, 2.07425833e-01,\n", + " 1.80229947e-01, -3.20699275e-01, 7.24228248e-02,\n", + " -1.09708623e-03, 4.44707066e-01, -4.18925881e-01,\n", + " 3.12439054e-01, -8.04027498e-01, -1.80449471e-01,\n", + " -2.94538289e-01, -2.71387756e-01, 3.22831631e-01,\n", + " -2.52752393e-01, 1.17669508e-01, -1.55494958e-01,\n", + " -1.25974506e-01, 3.10132176e-01, -3.36968456e-03,\n", + " -4.16645348e-01, -1.68400094e-01, -7.30952695e-02,\n", + " -1.37847796e-01, -9.38109215e-03, -6.17799461e-02,\n", + " -3.57294142e-01, 8.67224410e-02, 2.06380427e-01,\n", + " -3.85333002e-01, -4.44512308e-01, -1.98299453e-01,\n", + " -2.58089662e-01, -2.13967651e-01, 3.88148606e-01,\n", + " 1.30149914e-04, 3.94165158e-01, -3.97414744e-01,\n", + " -2.87104368e-01, -3.15382481e-01, 1.16758458e-01,\n", + " -1.68181643e-01, -1.08504403e+00, -2.63383478e-01,\n", + " -4.29468513e-01, 3.13112587e-01, -4.93108518e-02,\n", + " 4.12772730e-04, -3.33309472e-01, 5.83502352e-01,\n", + " 2.04136334e-02, 7.40744248e-02, -1.59861699e-01,\n", + " -4.58843350e-01, -2.48187050e-01, 2.91114897e-01,\n", + " 2.70096153e-01, -3.16815615e-01, 2.33823031e-01,\n", + " -7.75428396e-03, -1.69241428e-01, 2.49805406e-01,\n", + " -8.06642696e-02, 1.37787044e-01, 3.98429543e-01,\n", + " -2.93187089e-02, 1.61894038e-01, 3.01054865e-01,\n", + " 5.28242588e-01, 5.14931023e-01, -1.25819698e-01,\n", + " -4.77335900e-01, -1.81206718e-01, 6.61615551e-01,\n", + " -1.02147090e+00, 3.43526691e-01, 3.01730573e-01,\n", + " 7.10077584e-02, -3.12605232e-01, 4.56228182e-02,\n", + " -6.32001221e-01, -5.26204526e-01, 5.13294190e-02,\n", + " 1.61592558e-01, -5.78216352e-02, 8.95283464e-03,\n", + " -4.61166769e-01, 2.94773579e-01, -2.23560661e-01,\n", + " 4.92346585e-01, -2.11191818e-01, 1.52712345e-01,\n", + " 1.92895055e-01, 8.37244913e-02, 2.09370047e-01,\n", + " 3.65570694e-01, 4.82121974e-01, -5.69163799e-01,\n", + " -1.10894538e-01, -8.56475160e-02, -4.92317915e-01,\n", + " 3.66639465e-01, 3.77745420e-01, 2.88006246e-01,\n", + " 1.07129358e-01, -1.56810477e-01, 2.02181801e-01,\n", + " -1.22563757e-01, -2.90898144e-01, -1.56015202e-01,\n", + " -1.36386916e-01, -5.33366799e-02, 2.77843237e-01,\n", + " 2.41626233e-01, -7.99171552e-02, 2.42322251e-01,\n", + " -3.42781782e-01, 2.17569798e-01, 3.15509677e-01,\n", + " 2.95207113e-01, 1.51273325e-01, 1.12781964e-01,\n", + " 5.57037294e-02, 4.92329061e-01, 8.49575028e-02,\n", + " -4.89813328e-01, 2.83460051e-01, -2.61578053e-01,\n", + " -6.01285338e-01, 1.84555024e-01, 9.62331891e-02,\n", + " 2.61091739e-01, -3.05440724e-01, 1.75247297e-01,\n", + " 3.86141539e-02, -3.40094268e-01, 2.05955997e-01,\n", + " 1.31360844e-01, -2.29192935e-02, 4.18725275e-02,\n", + " -1.53108016e-01, -3.61782521e-01, 1.62163615e-01,\n", + " 2.79950440e-01, -5.36505803e-02, -3.07383120e-01,\n", + " -1.91204160e-01, 6.12407207e-01, 3.68224859e-01,\n", + " -7.81459093e-01, 4.69116941e-02, -7.49986395e-02,\n", + " 4.17151093e-01, 2.30060853e-02, 4.53134269e-01,\n", + " -4.38228220e-01, -3.27670395e-01, 1.63857535e-01,\n", + " -4.24780190e-01, -1.93398342e-01, 4.66528773e-01,\n", + " -1.48015484e-01, -2.01658487e-01, 3.86270493e-01], dtype=float32), memmap([-3.24685067e-01, -8.09570670e-01, -1.03050180e-01,\n", + " -4.36205044e-02, -5.66855133e-01, 2.70377640e-02,\n", + " -4.72028643e-01, -7.35919416e-01, 1.77842200e-01,\n", + " 2.88984448e-01, 3.89561206e-01, -3.75486553e-01,\n", + " 1.18895423e+00, 7.78229237e-01, -7.86323488e-01,\n", + " -1.60766765e-01, 6.31467879e-01, -8.02628636e-01,\n", + " 6.39832914e-01, 1.73263550e-01, 3.37748915e-01,\n", + " -4.08929944e-01, -5.93181908e-01, 4.99565542e-01,\n", + " -4.15923625e-01, -1.29706874e-01, -3.38152409e-01,\n", + " -6.07454419e-01, 4.67318237e-01, 6.81544483e-01,\n", + " -2.35622466e-01, -1.02453053e-01, 1.57846093e-01,\n", + " 1.72784552e-01, -4.91092773e-03, -3.01241904e-01,\n", + " 1.13105559e+00, 5.38298249e-01, -9.74709541e-02,\n", + " -4.58919019e-01, 2.00168900e-02, -5.11729956e-01,\n", + " -1.39294541e+00, 2.99367100e-01, 7.73437798e-01,\n", + " 3.16411778e-02, 3.59324902e-01, 8.06545675e-01,\n", + " -5.45785069e-01, -3.10331434e-01, 8.72977674e-01,\n", + " 5.26150942e-01, -1.02591738e-01, 2.04615578e-01,\n", + " -5.92126250e-01, -6.72684133e-01, 2.89116949e-01,\n", + " 9.18302909e-02, 2.96162844e-01, -1.27545022e-03,\n", + " 2.03249618e-01, 1.80768713e-01, -3.90626967e-01,\n", + " -1.29804322e-02, 4.37790692e-01, -3.64433862e-02,\n", + " -2.92590819e-02, -1.42965168e-01, -3.37275863e-02,\n", + " 8.37169215e-02, 5.95902741e-01, -5.67058742e-01,\n", + " -2.88764983e-01, -3.47298086e-01, 3.70834649e-01,\n", + " -1.22862741e-01, -8.12156856e-01, -3.81230235e-01,\n", + " -1.08798333e-01, -6.44796863e-02, 6.69528365e-01,\n", + " 4.23865050e-01, -7.26647258e-01, -2.64263839e-01,\n", + " 3.98558170e-01, -7.67392218e-01, 1.16265714e+00,\n", + " -2.74666578e-01, 2.24752985e-02, 5.47188282e-01,\n", + " 7.21026003e-01, 4.78942692e-01, -4.41449881e-01,\n", + " 4.27814648e-02, -5.71467340e-01, 1.03153482e-01,\n", + " -6.79021597e-01, 8.02298307e-01, 6.95822418e-01,\n", + " -2.49896720e-01, 1.66734129e-01, -5.09081632e-02,\n", + " 1.49252906e-01, 5.97951770e-01, -2.50706151e-02,\n", + " 1.43053681e-01, 1.60088167e-01, -3.57728064e-01,\n", + " -3.11352789e-01, 2.35706195e-01, -2.43033513e-01,\n", + " 8.59800875e-02, -9.21167359e-02, -4.80178982e-01,\n", + " -6.46969855e-01, 8.07543695e-02, 5.70740402e-01,\n", + " -1.67069748e-01, -3.67175460e-01, -9.43437815e-01,\n", + " -2.94312298e-01, 8.67804885e-01, -7.00006410e-02,\n", + " 5.90139329e-01, 1.67932689e-01, 4.52213854e-01,\n", + " -2.83149958e-01, 4.11131531e-01, 2.02804670e-01,\n", + " 1.76650271e-01, 1.83450937e-01, -4.44364011e-01,\n", + " -1.50030643e-01, 2.94948816e-01, 1.55011669e-01,\n", + " -5.45138419e-01, -4.84053016e-01, 6.39758229e-01,\n", + " 1.03366220e+00, -5.25145173e-01, 2.90294141e-01,\n", + " -7.59942114e-01, 1.43332198e-01, -1.12062111e-01,\n", + " 9.13262069e-01, -4.62342381e-01, -2.26189584e-01,\n", + " 1.18691534e-01, -4.84202474e-01, 5.14343679e-01,\n", + " 2.53771186e-01, 5.31296805e-02, 1.53731480e-01,\n", + " -1.64975315e-01, 2.29725972e-01, 9.07307640e-02,\n", + " -1.34855330e-01, -6.76670671e-01, 2.44544178e-01,\n", + " -4.55914080e-01, -2.21616894e-01, -6.80766115e-03,\n", + " -5.61732173e-01, 3.94695587e-02, -2.98757106e-01,\n", + " 3.24944347e-01, -3.50992322e-01, -3.55250657e-01,\n", + " 4.19133663e-01, -1.81731328e-01, 2.12798685e-01,\n", + " -2.91771386e-02, -4.79145557e-01, 3.54345769e-01,\n", + " -7.77321309e-02, -4.98711914e-01, -5.77231348e-01,\n", + " 7.25057721e-01, -8.98152828e-01, -6.05006576e-01,\n", + " -8.81800890e-01, -1.36045074e+00, 3.45182657e-01,\n", + " -1.31046247e+00, -2.40266323e-02, -2.00349480e-01,\n", + " 1.49414251e-02, 7.24024951e-01, -1.02799916e+00,\n", + " 1.13628261e-01, -3.33850831e-01, 4.42778170e-02,\n", + " 8.73994768e-01, 1.09054953e-01, 1.89671367e-01,\n", + " 1.75990418e-01, 1.09133489e-01, -6.57070398e-01,\n", + " 2.27676824e-01, -6.39706612e-01, -2.86734551e-01,\n", + " 3.32877308e-01, 3.86280268e-01, -4.03546333e-01,\n", + " 1.13617313e+00, -5.50746381e-01, -6.27767146e-01,\n", + " 8.86233926e-01, 9.63478833e-02, -7.49540389e-01,\n", + " -1.07879758e+00, 8.40771079e-01, 1.70423791e-01,\n", + " 2.67693177e-02, -8.25676978e-01, 2.28299946e-01,\n", + " 4.28672463e-01, 4.83920574e-01, 6.78453028e-01,\n", + " -1.04233444e-01, 2.86804557e-01, 3.19179416e-01,\n", + " -1.30276576e-01, 1.59447551e-01, -3.52264524e-01,\n", + " -8.23359117e-02, -1.01699102e+00, 4.77984659e-02,\n", + " -3.29850644e-01, 2.27738515e-01, 2.00626865e-01,\n", + " 3.07913870e-01, -2.62131661e-01, -2.68594563e-01,\n", + " 7.44692922e-01, 6.54206634e-01, -2.78040349e-01,\n", + " 3.83197814e-01, -4.32873905e-01, -2.04653978e-01,\n", + " 1.21546641e-01, -9.08628821e-01, 4.33077306e-01,\n", + " -5.72758801e-02, -4.25418168e-01, 4.29795742e-01,\n", + " -2.54513323e-01, 1.01429045e+00, -4.96600479e-01,\n", + " 4.04355913e-01, 3.93872662e-03, -6.70411527e-01,\n", + " 6.85276747e-01, -1.87186563e+00, 4.82749611e-01,\n", + " -5.83230555e-01, -2.16659829e-01, 2.34310199e-02,\n", + " 1.51459292e-01, 8.54803264e-01, -4.66781080e-01,\n", + " 5.92856348e-01, 3.63355577e-01, 4.70464170e-01,\n", + " -4.47775811e-01, -5.12042880e-01, -1.45977929e-01,\n", + " -3.34089547e-02, -4.39307332e-01, -6.61511183e-01,\n", + " 3.25032175e-01, 8.42535436e-01, 7.31322765e-01,\n", + " 3.00033152e-01, -1.56772852e-01, 7.03861952e-01,\n", + " -6.80940077e-02, 1.15797780e-01, 2.96656072e-01,\n", + " -3.72326449e-02, 1.20023742e-01, -9.93749648e-02,\n", + " -7.42625535e-01, 1.98762670e-01, 3.75849843e-01,\n", + " 1.77410349e-01, -5.82590044e-01, -6.65690377e-02,\n", + " 3.95368934e-01, 1.76351041e-01, 1.78927526e-01,\n", + " 3.79469335e-01, 1.65692866e-02, 3.06543469e-01,\n", + " 3.90689999e-01, 4.71795201e-01, -1.56677037e-01,\n", + " -7.24490643e-01, -2.35413924e-01, -4.19473737e-01], dtype=float32), memmap([-0.23309 , -0.16696 , 0.051647, -0.001091, -0.220123, -0.219046,\n", + " -0.210659, -0.334583, -0.048074, 0.207082, 0.311863, 0.141425,\n", + " -0.047006, 0.502109, 0.210431, 0.09265 , -0.457061, -0.301608,\n", + " -0.093437, 0.105799, -0.029552, -0.316092, 0.051961, 0.237018,\n", + " -0.129676, -0.511262, -0.211181, -0.013333, -0.124993, 0.15629 ,\n", + " 0.304459, -0.085689, 0.063609, 0.260618, 0.322268, 0.107869,\n", + " -0.033317, -0.301256, -0.307679, -0.45489 , -0.026218, -0.339117,\n", + " -0.086075, -0.261996, -0.215277, -0.131351, 0.060531, 0.364382,\n", + " 0.106944, -0.469159, -0.175957, 0.020165, 0.372353, 0.71464 ,\n", + " -0.635794, 0.433469, -0.284922, 0.141907, -0.194802, 0.025444,\n", + " 0.309194, -0.243525, 0.212796, -0.122372, 0.182839, -0.193608,\n", + " -0.312008, 0.454304, -0.272643, 0.179933, -0.031234, -0.124449,\n", + " -0.137704, -0.135041, 0.018345, 0.264799, -0.211687, -0.489783,\n", + " -0.367397, 0.12491 , 0.262723, 0.019521, -0.015258, -0.034482,\n", + " -0.135143, -0.375652, 0.045251, -0.240065, 0.35244 , -0.06184 ,\n", + " 0.014865, -0.027112, 0.44763 , 0.170786, -0.132025, -0.172819,\n", + " -0.004623, 0.310332, -0.389551, -0.148223, -0.078611, 0.210169,\n", + " 0.290566, 0.119298, 0.260509, 0.221422, 0.057856, -0.189797,\n", + " 0.053297, -0.009419, 0.285296, 0.031031, -0.482448, -0.181219,\n", + " -0.359581, -0.11172 , 0.253851, 0.00771 , 0.005927, -0.344459,\n", + " -0.373674, -0.093244, 0.125282, 0.029314, 0.138296, -0.067617,\n", + " -0.008833, -0.40102 , -0.158238, 0.358528, -0.164676, -0.255792,\n", + " 0.526057, -0.283461, -0.444988, 0.197057, 0.071989, 0.06806 ,\n", + " -0.517309, -0.193298, -0.126642, -0.898665, -0.150334, -0.097505,\n", + " -0.225956, -0.330094, -0.579602, -0.229313, 0.083622, 0.058146,\n", + " 0.051087, 0.047915, 0.344636, 0.180668, -0.296002, -0.194295,\n", + " 0.329504, 0.222516, 0.25357 , -0.024258, 0.150495, 0.380248,\n", + " 0.269974, -0.118223, -0.224513, -0.015332, 0.086818, -0.116123,\n", + " 0.047803, -0.107449, 0.100342, 0.539207, -0.048726, -0.520643,\n", + " -0.440864, -0.291647, -0.30904 , 0.264793, -0.323082, -0.878777,\n", + " -0.265229, -0.15706 , 0.158476, -0.278727, -0.697932, 0.475208,\n", + " -0.453244, 0.370588, -0.252721, 0.249449, 0.136374, 0.023166,\n", + " 0.18939 , -0.194528, 0.016915, 0.114813, -0.067616, -0.183564,\n", + " 0.277733, 0.039915, -0.381586, 0.275892, 0.36965 , 0.290699,\n", + " 0.555409, -0.108651, 0.371181, 0.284651, -0.266782, 0.270337,\n", + " -0.389116, 0.243301, 0.03397 , -0.181931, 0.126301, 0.098949,\n", + " -0.031929, 0.023862, -0.265254, -0.317986, 0.261748, -0.124366,\n", + " 0.052828, -0.253874, -0.298921, 0.660471, -0.402143, -0.115865,\n", + " -0.036952, -0.005694, 0.222983, 0.210366, -0.015276, 0.408071,\n", + " 0.064006, 0.12858 , 0.093495, -0.441302, -0.443214, 0.090679,\n", + " 0.082603, -0.021676, 0.245722, -0.437763, -0.094861, 0.456519,\n", + " -0.798534, -0.275137, -0.031673, 0.413362, 0.20703 , 0.145419,\n", + " -0.105149, -0.288334, 0.454169, -0.355168, -0.214771, -0.041133,\n", + " -0.168144, 0.496191, -0.398232, -0.256925, 0.309209, 0.279535,\n", + " -0.453068, 0.021033, -0.341282, -0.188276, -0.105165, 0.487956,\n", + " -0.224292, 0.164762, 0.235226, 0.417424, -0.172181, 0.02383 ,\n", + " 0.194895, -0.047845, 0.34893 , -0.172425, -0.323815, -0.211058,\n", + " -0.587665, 0.470826, -0.246112, -0.687289, -0.277075, -0.184155,\n", + " 0.089196, -0.252971, -0.59115 , -0.215328, -0.415954, -0.064968,\n", + " -0.480383, -0.081329, 0.251836, -0.229285, -0.172558, 0.304665],\n", + " dtype=float32), memmap([ 2.32568458e-01, 1.57943115e-01, 4.32326691e-03,\n", + " -2.22106144e-01, 5.47086075e-02, 3.77114527e-02,\n", + " -5.53809464e-01, -1.72059715e-01, 1.80373698e-01,\n", + " 1.14512116e-01, -5.38545012e-01, 1.06768958e-01,\n", + " 3.58533502e-01, -1.03059359e-01, 3.70504051e-01,\n", + " -3.25200528e-01, -5.85376732e-02, -5.44412255e-01,\n", + " 5.22807121e-01, 3.12694520e-01, -2.53822029e-01,\n", + " 3.06367457e-01, -1.83311235e-02, -8.95658135e-02,\n", + " -8.05703029e-02, -2.96792597e-01, -6.14906251e-02,\n", + " -2.25434139e-01, 4.09706622e-01, 3.18668246e-01,\n", + " 1.89652398e-01, -3.30584228e-01, 2.83952296e-01,\n", + " 1.97281450e-01, -9.47488919e-02, 1.75367281e-01,\n", + " 6.91059008e-02, 2.12301686e-01, -3.17709059e-01,\n", + " -2.66908407e-01, -1.98808522e-03, 7.97648504e-02,\n", + " -3.13576490e-01, -3.46307427e-01, 3.65475923e-01,\n", + " 4.16511625e-01, 1.84790716e-01, 4.73498344e-01,\n", + " -4.79524443e-03, 1.00087896e-02, -4.06765677e-02,\n", + " -1.25053376e-02, -8.54397193e-02, 1.99579552e-01,\n", + " -2.69704242e-03, 6.08325839e-01, -1.36096820e-01,\n", + " 4.80291098e-01, 1.26534805e-01, -7.51183778e-02,\n", + " -2.00080082e-01, -9.86926556e-01, -1.51792049e-01,\n", + " -2.54688025e-01, 1.44167200e-01, 4.95903287e-03,\n", + " -1.53225735e-01, -1.73918262e-01, -2.79830486e-01,\n", + " 5.88657737e-01, 4.94650990e-01, -3.22817087e-01,\n", + " -1.97615132e-01, 3.23753893e-01, -4.49186983e-03,\n", + " 2.66221818e-03, 2.46758923e-01, -5.21548569e-01,\n", + " -3.70917946e-01, -5.89262068e-01, 3.38520318e-01,\n", + " -7.88067430e-02, -6.09705508e-01, -1.38888493e-01,\n", + " -4.10912931e-02, 1.26513541e-02, -1.15141541e-01,\n", + " -1.11443676e-01, 1.18536614e-02, 4.53776211e-01,\n", + " -1.12987190e-01, 3.68858010e-01, -3.39849621e-01,\n", + " -5.09892553e-02, -5.09211719e-01, 3.78678828e-01,\n", + " 3.50591242e-02, 2.01533377e-01, -7.38309100e-02,\n", + " 1.15289748e-01, -1.89946443e-01, 1.37329519e-01,\n", + " 1.59653276e-01, -3.06117952e-01, -1.38643339e-01,\n", + " -6.90807626e-02, -4.27213050e-02, -9.74107310e-02,\n", + " 1.06864095e-01, -2.12378651e-01, 4.67636287e-01,\n", + " -3.00029188e-01, 3.70547533e-01, 2.90667173e-02,\n", + " 1.51017860e-01, 2.65507460e-01, -3.69277239e-01,\n", + " 1.58095628e-01, 7.15709090e-01, -2.03659117e-01,\n", + " -5.51316857e-01, 2.65729167e-02, 1.88119188e-01,\n", + " -1.18521437e-01, 1.61107823e-01, 2.64499217e-01,\n", + " -2.22190306e-01, -8.69244114e-02, 3.17103148e-01,\n", + " 1.47095159e-01, -1.51662230e-01, 5.44894896e-02,\n", + " 1.33317590e-01, -1.21112810e-02, 2.46455923e-01,\n", + " 8.15962926e-02, 3.65240425e-02, -4.79839189e-04,\n", + " 1.10346064e-01, -3.90538573e-01, -1.78514961e-02,\n", + " 2.05885932e-01, 8.30430016e-02, -7.18691573e-02,\n", + " 7.44752288e-01, -1.25405297e-01, -1.41981319e-02,\n", + " -1.79112226e-01, -3.48259360e-01, -1.95858344e-01,\n", + " -1.43813774e-01, 1.36453947e-02, -3.70818883e-01,\n", + " 2.53616452e-01, 3.79089296e-01, -1.12172082e-01,\n", + " -3.13722283e-01, -5.45554340e-01, 2.18065176e-02,\n", + " -2.21042261e-01, -2.77787864e-01, -4.26449388e-01,\n", + " -5.29080987e-01, 1.27472356e-01, 6.50368094e-01,\n", + " 2.43576393e-02, -4.10172433e-01, -2.65574992e-01,\n", + " -3.74130398e-01, 2.32573435e-01, 5.35680890e-01,\n", + " -4.11579728e-01, -5.70417009e-02, -4.74147022e-01,\n", + " 1.00270603e-02, -6.59988582e-01, -2.70968795e-01,\n", + " -2.27726027e-01, -3.57914329e-01, -3.79849970e-01,\n", + " -8.31992999e-02, -1.09826930e-01, -2.00051531e-01,\n", + " -4.08455431e-01, -3.93642783e-01, 2.23183334e-01,\n", + " -3.52738976e-01, 5.29104352e-01, 1.81202307e-01,\n", + " -3.44713986e-01, 1.87122107e-01, 3.37113410e-01,\n", + " -2.19589308e-01, -6.51087686e-02, 4.75562327e-02,\n", + " 4.31206912e-01, -1.89268023e-01, 4.31933969e-01,\n", + " -4.25979942e-01, -6.60467311e-04, 2.59757727e-01,\n", + " 6.53195322e-01, 3.52807730e-01, 6.53610751e-02,\n", + " 5.42899907e-01, 9.14519280e-02, -4.84628379e-02,\n", + " -1.09179936e-01, -1.98072568e-01, 4.33560818e-01,\n", + " -6.49045527e-01, 1.34570420e-01, 1.87291995e-01,\n", + " 3.25823575e-01, 4.53966796e-01, 3.36254507e-01,\n", + " -7.92757645e-02, 3.20697650e-02, -2.19480344e-03,\n", + " -5.40536791e-02, 1.27611324e-01, 3.92806083e-01,\n", + " -6.40995860e-01, 4.03397948e-01, 1.31676495e-01,\n", + " 3.21501553e-01, -1.73276418e-03, 2.30946951e-02,\n", + " -3.59938562e-01, 2.13947650e-02, -2.62580186e-01,\n", + " -2.66757532e-04, 2.76171267e-01, -5.68351150e-01,\n", + " 7.04955980e-02, -2.25271359e-01, -1.38796642e-01,\n", + " 1.05765969e-01, -3.91540200e-01, 3.78928706e-02,\n", + " -2.54817419e-02, 4.14578468e-02, 2.53397107e-01,\n", + " 1.44632399e-01, -4.72769082e-01, -1.91172838e-01,\n", + " -2.00820081e-02, 1.83314502e-01, 1.33331865e-01,\n", + " -1.02825209e-01, 9.60537884e-03, 1.44280106e-01,\n", + " -4.99030724e-02, 2.10222885e-01, 4.45284307e-01,\n", + " 4.72065769e-02, 7.25230128e-02, 4.50440139e-01,\n", + " 3.96559954e-01, 1.72658950e-01, 4.77375686e-01,\n", + " 3.14043671e-01, -1.22348405e-01, -3.36884826e-01,\n", + " -5.54170668e-01, 7.60734528e-02, 2.94232965e-01,\n", + " 1.86795175e-01, 1.38073899e-02, -3.45495939e-02,\n", + " -1.77323574e-03, -1.85175329e-01, 3.49939972e-01,\n", + " 3.08618397e-01, 9.62553322e-02, 9.99206156e-02,\n", + " -4.41181421e-01, -1.27350733e-01, 1.67777345e-01,\n", + " 2.79046744e-01, -1.70613062e-02, -4.77153771e-02,\n", + " -8.98046270e-02, 3.40485096e-01, 3.93445075e-01,\n", + " -3.74358416e-01, 2.96142042e-01, 8.55849981e-02,\n", + " 1.65252699e-04, 3.28553319e-01, 2.30741903e-01,\n", + " 2.70623565e-01, -1.54339567e-01, 3.54038924e-01,\n", + " -7.62324184e-02, -1.56005070e-01, 5.44903517e-01,\n", + " 2.83588152e-02, -3.39782774e-01, 4.49994683e-01], dtype=float32), memmap([-5.15391817e-04, -8.12229293e-04, 1.59661844e-03,\n", + " 2.17980775e-03, 9.95699593e-05, -2.82353326e-03,\n", + " 2.60581262e-03, 1.32749876e-04, 1.50517386e-03,\n", + " -1.88393437e-03, 1.22846442e-03, 1.03021227e-03,\n", + " -2.86312331e-03, -1.25392515e-03, -1.70111971e-03,\n", + " 3.53600975e-04, 8.96920392e-04, 2.42824154e-03,\n", + " -2.42304569e-03, -2.75925791e-04, -5.67579264e-05,\n", + " 1.47945166e-03, -2.39467295e-03, -2.19144276e-03,\n", + " -2.96397437e-03, 2.44010380e-03, -5.63386304e-04,\n", + " -2.41007801e-04, -1.57643959e-03, 2.10084766e-03,\n", + " -2.38016993e-03, 7.12735637e-04, 7.78532820e-04,\n", + " 2.51957099e-03, -1.28267531e-03, 1.97799434e-03,\n", + " 1.83889468e-03, -1.07426092e-03, 2.64045643e-03,\n", + " -9.09320515e-05, 3.16806231e-03, -1.54373015e-03,\n", + " -3.02336062e-03, 3.78595199e-04, -1.76996225e-03,\n", + " 1.68129918e-03, -2.25986645e-04, 3.30069615e-03,\n", + " 2.17767805e-03, 2.41227157e-04, -3.11042462e-03,\n", + " -1.95082102e-03, 1.54834427e-03, 8.20900605e-04,\n", + " 1.58534048e-03, 1.53605069e-03, 4.57952032e-04,\n", + " 2.59839534e-03, -2.55775219e-03, -1.26779880e-04,\n", + " -2.66531389e-03, 1.65703776e-03, -2.34030327e-03,\n", + " 6.67319284e-04, 2.44642113e-04, -2.98145530e-03,\n", + " -1.28212763e-04, 1.91862101e-03, 2.31498806e-03,\n", + " 7.50691863e-04, -1.55490800e-03, 1.12442176e-04,\n", + " 2.72648322e-04, -4.06172272e-04, -3.18437186e-03,\n", + " 1.57685834e-03, -9.27526969e-04, -2.15085270e-03,\n", + " 1.13641506e-03, -2.05029338e-03, 1.48269255e-03,\n", + " -2.67573912e-03, -3.17442650e-03, 2.35267635e-03,\n", + " 1.71343330e-03, 7.00076407e-06, 2.93798279e-03,\n", + " 1.51776790e-03, 2.96048960e-03, -1.60963775e-03,\n", + " -3.86150678e-05, -2.24934984e-03, -2.91305222e-03,\n", + " -2.43507535e-03, -2.26375181e-03, 1.06888218e-03,\n", + " -2.45115749e-04, 2.07492593e-03, -2.00066972e-03,\n", + " -1.31838396e-03, -1.24552404e-03, -1.60546857e-03,\n", + " -2.63111992e-03, -2.45019514e-03, 1.75113603e-03,\n", + " 8.30392819e-04, -1.42526627e-03, 4.42638411e-04,\n", + " -2.06820876e-03, -2.12908420e-03, 8.44965747e-04,\n", + " 8.16432657e-05, 3.07501963e-04, 4.71249426e-04,\n", + " 1.80422619e-03, -1.66152953e-03, 1.08894904e-03,\n", + " 1.27064309e-03, 4.47285973e-04, 6.84160390e-04,\n", + " 2.81703635e-03, 3.00076487e-03, 1.66642503e-03,\n", + " -2.94805365e-03, -8.60923145e-04, -1.99879240e-03,\n", + " -2.71307863e-03, 2.08845944e-03, 1.13757455e-03,\n", + " -3.20444745e-03, -3.07443389e-03, 9.00022205e-05,\n", + " 1.55738031e-03, -4.50938533e-04, 2.09649256e-03,\n", + " 3.33817807e-05, -8.46015639e-04, -9.11499665e-04,\n", + " 2.25041388e-03, -1.80681469e-03, 5.88281946e-05,\n", + " -1.97100476e-03, 2.77061388e-03, 1.02654612e-03,\n", + " 1.07432681e-03, -3.82049882e-04, -3.27729457e-03,\n", + " -2.46347743e-03, -2.42701778e-03, 2.97703664e-03,\n", + " 3.44767584e-04, 9.99985496e-04, -3.71789938e-05,\n", + " -2.80793430e-03, 1.56452414e-03, -1.26327679e-04,\n", + " 5.35879110e-04, 2.52256403e-04, 1.61315443e-03,\n", + " 1.85490295e-03, -8.88882496e-04, -2.90813530e-03,\n", + " 2.67223432e-03, -6.69240981e-05, -2.68971128e-03,\n", + " 1.40580896e-03, -1.12926168e-03, 1.41852698e-03,\n", + " 4.90988896e-04, -1.60833355e-03, 2.50750617e-03,\n", + " 2.72776536e-03, 1.61387282e-03, -2.25565908e-03,\n", + " 3.14607471e-03, -1.28826301e-03, 2.23583382e-04,\n", + " 2.44426401e-03, -6.02093525e-04, 5.66435629e-04,\n", + " 1.75370299e-03, 1.00410148e-03, -1.08356238e-03,\n", + " -5.18684392e-04, -2.67701712e-03, 2.68107257e-03,\n", + " 2.44031753e-03, -1.50248769e-03, -2.72227614e-03,\n", + " -2.14423984e-03, -5.83995192e-04, -2.50567845e-03,\n", + " -3.32792588e-05, 2.15892796e-04, 8.15405045e-04,\n", + " 2.82748300e-03, 3.16632679e-03, 2.53432523e-03,\n", + " -1.24514743e-03, 6.08632574e-04, -2.07523187e-03,\n", + " -9.83668142e-04, 1.69227365e-03, 5.40335986e-06,\n", + " 2.63519282e-03, -1.28237798e-03, -2.96463422e-03,\n", + " 2.86638900e-03, -1.83658756e-03, 3.05579184e-03,\n", + " 2.57752748e-04, 2.66075297e-03, 2.59341649e-03,\n", + " -1.91340293e-03, -1.57696719e-03, 3.04173620e-04,\n", + " -5.84207359e-04, -5.23861265e-04, -1.07896246e-03,\n", + " 2.33099703e-03, 1.71581905e-05, -2.32249891e-04,\n", + " -3.17664375e-03, -2.69629643e-03, 1.33865199e-03,\n", + " 9.12745774e-04, -1.42755825e-03, 2.32963869e-03,\n", + " 2.05383217e-03, 3.06564802e-03, 7.19071249e-04,\n", + " 1.43896416e-03, -5.80584980e-04, -2.86931591e-03,\n", + " -8.82597757e-04, -7.48244929e-05, -8.70594988e-04,\n", + " -3.28865205e-03, -4.22636658e-04, -2.09302269e-03,\n", + " 2.38356204e-03, 2.99137435e-04, 1.99374114e-03,\n", + " -3.29766423e-03, -3.83829261e-04, -6.66522974e-05,\n", + " 1.86359242e-03, -1.18281448e-03, 3.17071029e-03,\n", + " 1.43475528e-03, -5.56531770e-04, -2.99364398e-03,\n", + " -8.49072938e-04, 2.90678977e-03, 1.38175010e-03,\n", + " -3.24120210e-03, 1.73496245e-03, 2.14513144e-04,\n", + " 3.03984474e-04, -2.73339823e-03, -4.92684048e-05,\n", + " -2.98183598e-03, 2.53150612e-03, 1.42910797e-03,\n", + " -3.19766201e-04, 6.87253487e-04, 8.49134114e-04,\n", + " -2.28563696e-03, -1.40933273e-03, 1.24189933e-03,\n", + " -3.09705571e-03, 5.73805941e-04, 9.56805539e-04,\n", + " -1.73228339e-03, 2.32816543e-04, 1.19607452e-04,\n", + " 1.69905031e-03, 7.15173897e-04, 1.78219797e-03,\n", + " 3.89399531e-04, 2.28876108e-03, -2.02320423e-03,\n", + " 1.96936447e-03, -1.55187689e-03, 7.46556907e-04,\n", + " -2.10508914e-03, 2.01053941e-03, -1.14239054e-03,\n", + " -2.59110215e-03, -5.16111846e-04, -1.96155859e-03,\n", + " 2.89981766e-03, -1.50978332e-03, -1.66428485e-03,\n", + " 1.64764715e-04, 2.40476523e-03, 3.12477024e-03,\n", + " -1.51125831e-03, 2.34143739e-03, 1.34975911e-04], dtype=float32)]]\n", + "2 (300,) 2 55 300\n" + ] + } + ], + "metadata": {} + } + ], + "metadata": { + "orig_nbformat": 4, + "language_info": { + "name": "python", + "version": "3.6.13", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.6.13 64-bit ('data': conda)" + }, + "interpreter": { + "hash": "776957673adb719a00031a24ed5efd2fa5ce8a13405e5193f8d278edd3805d55" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/examples/vectorization/total_vector.ipynb b/examples/vectorization/total_vector.ipynb new file mode 100644 index 00000000..4a91634c --- /dev/null +++ b/examples/vectorization/total_vector.ipynb @@ -0,0 +1,557 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# 向量化\r\n", + "\r\n", + "## 简述\r\n", + "\r\n", + "向量化过程是将item转换为向量的过程,其前置步骤为语法解析、成分分解、令牌化,本部分将先后介绍如何获得数据集、如何使用本地的预训练模型、如何直接调用远程提供的预训练模型。" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## 获得数据集\r\n", + "\r\n", + "### 概述\r\n", + "\r\n", + "此部分通过调用 [OpenLUNA.json](http://base.ustc.edu.cn/data/OpenLUNA/OpenLUNA.json) 获得。" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## I2V\r\n", + "\r\n", + "### 概述\r\n", + "\r\n", + "使用自己提供的任一预训练模型(给出模型存放路径即可)将给定的题目文本转成向量。\r\n", + "\r\n", + "- 优点:可以使用自己的模型,另可调整训练参数,灵活性强。" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### D2V" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "#### 导入类" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 1, + "source": [ + "from EduNLP.I2V import D2V" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "D:\\MySoftwares\\Anaconda\\envs\\data\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", + " warnings.warn(msg)\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "#### 输入\r\n", + "\r\n", + "类型:str \r\n", + "内容:题目文本 (text)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 2, + "source": [ + "items = [\r\n", + "r\"1如图几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\",\r\n", + "r\"2如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\"\r\n", + "]" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "#### 输出" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 3, + "source": [ + "model_path = \"./d2v/test_d2v_256.bin\"\r\n", + "i2v = D2V(\"pure_text\",\"d2v\",filepath=model_path, pretrained_t2v = False)\r\n", + "\r\n", + "item_vectors, token_vectors = i2v(items)\r\n", + "print(item_vectors[0])\r\n", + "print(token_vectors) # For d2v, token_vector is None\r\n", + "print(\"shape of item_vector: \",len(item_vectors), item_vectors[0].shape) " + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[ 0.10603202 -0.10537548 -0.04773913 0.15573525 0.25898772 -0.06423073\n", + " -0.02817309 0.0068187 -0.07323898 0.06517941 0.07943465 0.14800762\n", + " -0.06772996 -0.23892336 0.04638071 0.1539897 0.17565852 0.02895202\n", + " -0.18859927 0.2180874 0.00909669 0.06621908 -0.02090263 -0.13006955\n", + " -0.21020882 0.00618349 0.00531093 -0.04877732 -0.06709669 -0.04705636\n", + " 0.09211092 0.13896106 -0.07455818 0.06019318 -0.09071473 0.12701215\n", + " 0.13018885 -0.02784999 0.10064025 -0.07757548 -0.05522636 -0.02657779\n", + " -0.04159601 -0.03008493 0.10995369 -0.00587291 0.05902484 0.06532726\n", + " 0.04887666 0.01902074 0.03713945 0.03691795 0.12516327 0.07410683\n", + " -0.14467879 0.05678609 0.02574336 -0.1320522 0.07502684 0.07929367\n", + " -0.06655917 -0.0144536 0.02595847 0.04403471 0.21743318 -0.02525017\n", + " -0.0416184 0.21441495 -0.09308876 -0.09418222 0.08030997 0.00492512\n", + " -0.04921608 -0.07808654 -0.03323801 0.0879296 -0.04668022 -0.0696011\n", + " 0.06708417 0.06555629 -0.07418457 -0.13050951 -0.01802611 0.11730465\n", + " -0.0479078 0.06389603 0.12324224 -0.17746696 -0.09874132 -0.07683054\n", + " 0.06596514 -0.04210603 0.03182372 -0.1455575 0.03900012 0.13290605\n", + " -0.07672353 -0.02826704 -0.00803517 -0.09681892 -0.15212329 -0.10524812\n", + " 0.03367848 0.10413344 -0.0089777 0.0583192 -0.01553376 0.02675472\n", + " 0.12278829 0.01667286 0.01958599 -0.06468913 0.08307286 0.07304061\n", + " -0.10451686 -0.04367925 0.0143903 0.11394493 0.00759796 -0.03158598\n", + " -0.01733392 -0.12918264 0.1761386 -0.02913121 -0.01364522 0.01497996\n", + " 0.09318532 -0.03958051 0.00465893 -0.01766865 -0.03531685 0.01445563\n", + " 0.05919004 -0.10480376 -0.08359206 -0.08283877 -0.04920156 0.0486405\n", + " 0.0059151 -0.03783213 -0.01815955 -0.0157437 0.2334638 0.15233137\n", + " -0.2698607 -0.04492244 0.03728078 0.06730984 0.09165722 0.07212968\n", + " -0.1418279 -0.10517611 -0.0469548 -0.01878718 -0.08850995 0.07481015\n", + " 0.15206474 0.0923347 -0.08849481 0.01736124 0.12647657 -0.03515046\n", + " 0.07980374 -0.06639698 0.00411603 0.0479564 0.04197159 0.0854824\n", + " 0.103918 -0.01195896 0.05059687 -0.03206704 0.0277859 0.05210226\n", + " -0.15160614 -0.01996467 -0.00720571 -0.01154042 0.10944121 -0.00173247\n", + " 0.11439639 -0.04765575 0.05989955 -0.05265343 0.11914644 0.0085329\n", + " -0.13220952 -0.1538407 -0.07261448 0.04143476 0.15447438 0.02005473\n", + " 0.14354227 0.10015973 0.12290012 0.05011315 0.0425972 -0.13731483\n", + " 0.02323116 -0.1031343 -0.17960383 -0.04875064 0.14352156 0.04516263\n", + " -0.04433561 0.11548021 -0.2057457 -0.02778868 -0.06643672 0.05604808\n", + " 0.04864014 -0.03015646 0.07734285 0.00573904 0.01155302 0.02486293\n", + " 0.16259493 0.05099423 -0.15283771 -0.01909443 -0.12749314 0.06718695\n", + " 0.08334705 -0.05442797 0.03448674 -0.00542413 0.00832719 0.02702984\n", + " -0.02359959 -0.00855793 -0.19381124 -0.13036375 -0.0351354 -0.03983364\n", + " 0.0133928 0.07395492 0.04119737 0.05661048 0.08151852 -0.1529391\n", + " 0.00742581 0.05521343 0.02089992 -0.00824985 -0.00211842 -0.05555268\n", + " 0.05448649 -0.02032894 -0.0760811 -0.01713146 -0.16146915 0.10822926\n", + " -0.1240218 -0.03639562 -0.20028785 -0.02452293]\n", + "None\n", + "shape of item_vector: 2 (256,)\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### W2V" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 4, + "source": [ + "from EduNLP.I2V import W2V" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 5, + "source": [ + "model_path = \"./w2v/general_literal_300/general_literal_300.kv\"\r\n", + "i2v = W2V(\"pure_text\",\"w2v\",filepath=model_path, pretrained_t2v = False)\r\n", + "\r\n", + "item_vectors, token_vectors = i2v(items)\r\n", + "\r\n", + "print(item_vectors[0])\r\n", + "print(token_vectors[0][0])\r\n", + "print(\"shape of item_vectors: \", len(item_vectors), item_vectors[0].shape)\r\n", + "print(\"shape of token_vectors: \", len(token_vectors), len(token_vectors[0]), len(token_vectors[0][0]))" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[-1.34266680e-03 5.19845746e-02 -1.98070258e-02 -4.17470075e-02\n", + " 4.92814295e-02 -1.70883536e-01 -2.16597781e-01 -3.12069029e-01\n", + " 8.96430463e-02 -1.31331667e-01 9.16494895e-03 -3.22572999e-02\n", + " 3.07940125e-01 1.92060292e-01 1.31043345e-02 6.10962026e-02\n", + " 2.21019030e-01 -3.53541046e-01 1.34150490e-01 1.14867561e-01\n", + " 1.17448963e-01 2.27990672e-01 -1.65213019e-01 2.78246611e-01\n", + " -4.36594114e-02 -1.37816787e-01 -1.07707813e-01 -1.80805102e-01\n", + " 1.20028563e-01 -1.14409983e-01 6.19181581e-02 -1.79836392e-01\n", + " 7.68677965e-02 2.41688967e-01 6.20721914e-02 -7.59824514e-02\n", + " 1.79465964e-01 1.69306010e-01 -1.99512452e-01 -9.75036696e-02\n", + " 1.02485821e-01 -1.59723386e-01 -1.67252243e-01 1.52240042e-02\n", + " -5.98842278e-03 6.47612512e-02 8.48228261e-02 2.67874986e-01\n", + " -1.73656959e-02 -4.40101810e-02 9.11948457e-02 1.40905827e-01\n", + " 6.33735815e-03 2.03221604e-01 -1.97303146e-01 1.32987842e-01\n", + " -1.80283263e-01 3.64040211e-02 2.49624569e-02 7.49479085e-02\n", + " -2.05568615e-02 -4.02397066e-02 -1.08619891e-01 -1.04757406e-01\n", + " -8.36341307e-02 6.61163032e-02 -1.11632387e-03 3.96131463e-02\n", + " -3.51454802e-02 9.09155831e-02 1.87938929e-01 -2.40521863e-01\n", + " -5.97307160e-02 1.74426511e-01 1.56350788e-02 -4.20243442e-02\n", + " -1.90285146e-02 -3.85696471e-01 -1.01543151e-01 -1.42145246e-01\n", + " 2.33298853e-01 1.85939763e-02 -2.68633634e-01 -3.60178575e-02\n", + " 3.64447385e-02 -1.70443758e-01 1.03326524e-02 -1.47003353e-01\n", + " -9.38110873e-02 1.63190335e-01 1.20674491e-01 -2.36976147e-02\n", + " -6.52602538e-02 1.29773334e-01 -4.23593611e-01 2.43276700e-01\n", + " -8.00978579e-03 -9.39133018e-03 1.17623486e-01 1.16482794e-01\n", + " -9.27330479e-02 6.17316999e-02 1.51295820e-02 2.25901395e-01\n", + " 7.31975585e-02 2.29724105e-02 9.95925292e-02 -1.10697523e-01\n", + " 2.28960160e-02 8.65939483e-02 1.16645083e-01 -7.00058565e-02\n", + " 1.13389529e-01 -5.30471019e-02 1.43660516e-01 1.61379650e-02\n", + " 6.77419230e-02 8.09707418e-02 2.09957212e-01 -6.64654151e-02\n", + " -1.81450248e-01 2.21659631e-01 -4.53737518e-03 4.69567403e-02\n", + " 8.59350115e-02 1.17934339e-01 -1.98988736e-01 -4.13361974e-02\n", + " 1.26167178e-01 3.84825058e-02 1.64396539e-01 -1.63344927e-02\n", + " 9.12889242e-02 -1.13650873e-01 -1.37156844e-02 2.06742659e-02\n", + " -9.15742964e-02 7.41296187e-02 2.50813574e-01 -1.35987863e-01\n", + " -1.11708120e-01 -1.52451068e-01 1.08608082e-01 4.99855466e-02\n", + " 1.68440521e-01 -2.47063249e-01 -2.21773341e-01 4.81536575e-02\n", + " -7.66365305e-02 2.55189091e-01 -5.60788438e-03 -2.69066542e-02\n", + " 2.07698755e-02 1.36008840e-02 1.33086294e-01 -3.80828045e-02\n", + " -7.03251585e-02 -6.18199483e-02 9.03518647e-02 -1.89310908e-01\n", + " -5.30523732e-02 -2.04426926e-02 -2.27697566e-01 7.68405125e-02\n", + " 1.28568143e-01 1.07449636e-01 -1.98028013e-01 -2.67155319e-01\n", + " -5.17064631e-02 -1.62200809e-01 1.87425911e-01 4.74511087e-02\n", + " -4.24213745e-02 -2.71449953e-01 -2.83543557e-01 -2.36278087e-01\n", + " -4.38764729e-02 1.67618364e-01 -2.51966029e-01 -2.73265123e-01\n", + " -1.68406263e-01 -3.58684808e-01 2.44145632e-01 -2.55741596e-01\n", + " -2.28520826e-01 2.39279866e-01 -1.68833986e-01 1.66422993e-01\n", + " -3.53969544e-01 -1.10907286e-01 -6.29489049e-02 -4.55605611e-02\n", + " 1.46765754e-01 1.95176788e-02 -3.80197394e-04 3.36615089e-03\n", + " -1.42359287e-01 -1.06109239e-01 -3.36164385e-02 3.16832401e-02\n", + " 1.09924652e-01 2.10711379e-02 1.58359021e-01 1.71957895e-01\n", + " 4.08717275e-01 -4.28679548e-02 -6.48310632e-02 1.27063962e-02\n", + " 5.73479272e-02 1.40002951e-01 -3.66613895e-01 8.07148069e-02\n", + " 2.11823225e-01 -1.10516161e-01 -2.01001287e-01 3.22122797e-02\n", + " 5.47345541e-02 2.30176803e-02 -9.94866490e-02 -4.44128877e-03\n", + " 6.64432272e-02 1.28168091e-01 -2.34743133e-01 3.17057431e-01\n", + " -8.75139013e-02 2.66474396e-01 -3.12204093e-01 7.78969377e-03\n", + " 6.21694922e-02 7.64596611e-02 -8.79013091e-02 1.01901866e-01\n", + " 3.23867425e-02 -2.27650225e-01 9.44062844e-02 -5.54776154e-02\n", + " -7.03687780e-03 5.66167049e-02 -1.87480077e-01 9.11692008e-02\n", + " 1.51293352e-01 -1.92774653e-01 2.23165095e-01 2.26982050e-02\n", + " -2.70489484e-01 1.25889871e-02 -2.30410039e-01 1.40989587e-01\n", + " 2.20341813e-02 2.70313285e-02 6.07572980e-02 8.79322216e-02\n", + " 7.42911696e-02 -2.76499927e-01 2.05189809e-01 -1.84953049e-01\n", + " -1.68468937e-01 1.85525760e-01 -3.32091609e-03 2.29632735e-01\n", + " 7.13749304e-02 -2.75445748e-02 2.74335817e-02 1.65132031e-01\n", + " -1.64373592e-01 -1.14925921e-01 4.98081557e-02 2.10796613e-02\n", + " -2.07561441e-02 5.90056814e-02 -1.25214513e-02 3.78197022e-02\n", + " 3.62618983e-01 1.72744930e-01 -8.75385627e-02 1.52320743e-01\n", + " 1.29331559e-01 -1.34815618e-01 6.12287596e-02 7.30569959e-02\n", + " 5.37401363e-02 -1.46815628e-01 -2.61263877e-01 2.18300954e-01\n", + " 8.95068944e-02 -6.59529120e-02 -8.52308050e-02 2.63195664e-01\n", + " 2.09921718e-01 -1.73417434e-01 2.11869497e-02 7.06950724e-02\n", + " -7.89924189e-02 1.11086138e-01 -1.29149273e-01 1.16233543e-01\n", + " 2.16104537e-01 -3.05427730e-01 -2.46336535e-01 7.59556964e-02]\n", + "[-9.74057533e-04 1.39671087e-03 -2.67836265e-04 3.15364590e-03\n", + " 2.96666636e-04 2.81736051e-04 -2.63743475e-03 1.52303779e-03\n", + " 1.01379235e-03 1.57282199e-03 -1.71113803e-04 8.02559836e-04\n", + " 2.57097790e-03 1.81893981e-03 2.63088616e-03 3.40178027e-04\n", + " -2.11292668e-03 -2.50976160e-03 -1.20709895e-03 1.67239667e-03\n", + " -2.58512655e-03 -1.26207829e-03 1.39700493e-03 1.95603608e-03\n", + " 2.89038429e-03 -2.39552581e-03 -3.91247275e-04 -3.21114226e-03\n", + " 9.58531688e-04 8.29325523e-04 -1.59795280e-03 1.25081465e-03\n", + " 3.81096208e-04 1.59411912e-03 -8.54889571e-04 -3.06331483e-03\n", + " 1.97919217e-04 -9.37395904e-04 2.09570490e-03 1.22304517e-03\n", + " -2.73981970e-03 1.85640890e-03 -8.50516954e-04 2.05107126e-03\n", + " 3.25771095e-03 -2.02651741e-03 -2.99406121e-03 -2.29128683e-03\n", + " 7.10814027e-04 -2.45556026e-03 3.29233892e-03 -1.30950764e-03\n", + " -1.89368729e-03 1.27877074e-03 2.70718103e-03 -2.21936312e-03\n", + " 1.69272022e-03 7.79648602e-04 2.15323060e-03 -1.90569717e-03\n", + " -2.24422058e-03 -7.12279463e-04 1.38582790e-03 2.27209576e-03\n", + " -2.48074066e-03 -1.57340372e-03 -2.78435787e-03 2.53080134e-03\n", + " 9.29941365e-04 9.57158394e-04 -4.04856197e-04 7.77039502e-04\n", + " 2.93451315e-03 1.50868180e-03 -2.39667180e-03 1.94984837e-03\n", + " -1.30266906e-03 -3.10783624e-03 2.75730062e-03 6.42884581e-04\n", + " -5.66801231e-04 7.95386615e-04 -2.41047610e-03 1.00338063e-03\n", + " 2.82178726e-03 -2.43772753e-03 5.73688361e-04 1.23452744e-03\n", + " -3.01872566e-03 -1.07384368e-03 3.28231254e-03 -5.47548116e-04\n", + " 2.18831864e-03 -3.27980524e-04 1.68147963e-03 2.44990899e-03\n", + " -2.45229807e-03 1.02455064e-03 -2.29938584e-03 2.91304989e-03\n", + " 1.60753564e-03 1.12590473e-03 3.00752558e-03 1.44218525e-03\n", + " 3.16225761e-03 -1.64008932e-04 -5.27421653e-04 1.06547831e-03\n", + " 1.11937604e-03 4.77150286e-04 -2.42268969e-03 -3.12998053e-03\n", + " 4.55578178e-04 2.90129334e-03 -3.05265025e-03 -1.28805637e-03\n", + " -2.08641519e-03 3.26466886e-03 -2.95106089e-03 -2.08173040e-03\n", + " -1.99576933e-03 4.53641405e-04 -2.70907651e-03 -2.34400504e-03\n", + " 1.16086320e-03 -2.44718627e-03 9.25636268e-05 9.73496411e-04\n", + " -1.01899146e-03 -3.02827288e-03 9.58363991e-04 -3.27257067e-03\n", + " 2.40717572e-03 1.20117664e-04 1.10580446e-03 -4.41495577e-05\n", + " -2.85318610e-03 1.54357916e-03 3.11869616e-03 6.44255488e-04\n", + " -1.31027703e-03 -1.52749463e-03 8.79097788e-04 7.01892364e-04\n", + " 1.34046946e-03 -8.91715696e-04 -1.93791394e-03 -4.34041809e-04\n", + " 1.12010317e-03 -2.24535773e-03 -1.76302914e-03 -1.11521804e-03\n", + " -2.68377946e-03 -2.55486579e-03 2.67607206e-03 -2.09635729e-03\n", + " 4.45536774e-04 4.23340796e-04 -2.36946181e-03 1.01201690e-03\n", + " 2.53369007e-03 -8.69231240e-04 -2.23573043e-05 4.58726077e-04\n", + " 9.46683111e-04 -1.58690137e-03 1.31600059e-03 2.19468423e-03\n", + " -1.69886113e-03 1.71214901e-03 -1.43307843e-04 -1.10225752e-03\n", + " 3.13180522e-03 1.78616366e-03 -4.65679186e-05 -1.40959187e-03\n", + " -6.96717121e-04 -5.70511795e-04 -1.54102559e-03 -2.30318774e-03\n", + " 2.54784338e-03 -1.62216101e-03 3.14650533e-04 -2.94532534e-03\n", + " -1.02099183e-03 2.99499906e-03 -6.38728146e-04 -2.72372481e-03\n", + " 3.22340080e-03 -1.49127806e-03 2.27723271e-03 2.73366761e-03\n", + " 2.62600114e-03 2.68271845e-03 3.20440996e-03 -4.97240224e-04\n", + " -1.02938886e-03 3.26999027e-04 9.46711691e-04 1.76053529e-03\n", + " 1.74157624e-03 1.49760721e-03 -3.09546776e-05 2.48821010e-03\n", + " 2.15774146e-03 2.42709951e-03 -2.46135960e-03 1.82637456e-03\n", + " -3.11999000e-03 -2.49591586e-03 -3.27967643e-03 -1.17016002e-03\n", + " 6.43555308e-04 3.32132494e-03 -2.58475146e-03 -7.75608991e-04\n", + " 3.30572366e-03 6.71840506e-04 -2.23828160e-04 2.99876463e-03\n", + " 3.10293835e-05 -1.25048554e-03 2.48837401e-03 -4.16146126e-04\n", + " -8.01149989e-04 -2.19148802e-04 -2.70171487e-03 1.73141161e-04\n", + " -2.53586681e-03 3.11773620e-03 1.13646187e-04 2.82005151e-03\n", + " -3.23787535e-04 1.52152695e-03 3.21076158e-03 -2.29426223e-04\n", + " -2.22376501e-03 -3.26833175e-03 5.72812569e-04 3.06089874e-03\n", + " 8.33402446e-04 1.29480439e-03 1.32911524e-03 2.61883345e-03\n", + " -2.53178203e-03 6.48000219e-04 2.66361074e-03 -3.05172289e-03\n", + " -9.23413434e-04 -2.13261833e-03 8.54914193e-04 -1.48963137e-03\n", + " -1.95632223e-03 -7.69955339e-04 -3.29735363e-03 1.98830920e-03\n", + " 1.31162966e-03 1.10320176e-03 -3.22533771e-03 2.04978790e-03\n", + " -5.25970478e-04 -1.89223525e-03 2.42309878e-03 8.27315671e-04\n", + " 9.63741913e-04 8.84156208e-04 1.02529768e-03 -1.41616585e-03\n", + " 6.75518531e-04 -6.47147477e-04 2.71809031e-03 2.17319001e-03\n", + " 9.71910951e-04 -2.93364283e-03 2.43404706e-04 1.14709849e-03\n", + " -1.99730392e-04 3.82491737e-04 -3.08531453e-03 -2.20424891e-03\n", + " 2.87708524e-03 1.51069486e-03 9.24036489e-04 -1.09619542e-03\n", + " 1.36686012e-03 -2.61674239e-03 -1.52974128e-04 -2.72300956e-03\n", + " 1.70241436e-03 -6.61658472e-04 -2.15324806e-03 -2.46914220e-03\n", + " 1.41488796e-03 -3.25874239e-03 -2.29610526e-03 -2.22696620e-03\n", + " -2.09132349e-03 -2.79461709e-03 -3.24834906e-03 -1.12362858e-03]\n", + "shape of item_vectors: 2 (300,)\n", + "shape of token_vectors: 2 55 300\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## get_pretrained_i2v\r\n", + "\r\n", + "### 概述\r\n", + "\r\n", + "使用 EduNLP 项目组给定的预训练模型将给定的题目文本转成向量。\r\n", + "\r\n", + "- 优点:简单方便。\r\n", + "- 缺点:只能使用项目中给定的模型,局限性较大。\r\n" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### 导入功能块" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 6, + "source": [ + "from EduNLP import get_pretrained_i2v" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### 输入\r\n", + "\r\n", + "类型:str \r\n", + "内容:题目文本 (text)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 7, + "source": [ + "items = [\r\n", + "\"如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形$ABC$的斜边$BC$, 直角边$AB$, $AC$.$\\bigtriangleup ABC$的三边所围成的区域记为$I$,黑色部分记为$II$, 其余部分记为$III$.在整个图形中随机取一点,此点取自$I,II,III$的概率分别记为$p_1,p_2,p_3$,则$\\SIFChoice$$\\FigureID{1}$\"\r\n", + "]\r\n" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### 模型选择与使用" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "根据题目所属学科选择预训练模型: \r\n", + "\r\n", + " 预训练模型名称 | 模型训练数据的所属学科 \r\n", + " -------------- | ---------------------- \r\n", + " d2v_all_256 | 全学科 \r\n", + " d2v_sci_256 | 理科 \r\n", + " d2v_eng_256 | 英语 \r\n", + " d2v_lit_256 | 文科 \r\n", + " w2v_eng_300 | 英语 \r\n", + " w2v_lit_300 | 文科 " + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 8, + "source": [ + "i2v = get_pretrained_i2v(\"d2v_sci_256\", model_dir=\"./d2v\")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "EduNLP, INFO Use pretrained t2v model d2v_sci_256\n", + "downloader, INFO http://base.ustc.edu.cn/data/model_zoo/EduNLP/d2v/general_science_256.zip is saved as d2v\\general_science_256.zip\n", + "downloader, INFO file existed, skipped\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "- 注意:\n", + " 默认的 EduNLP 项目存储地址为根目录(`~/.EduNLP`),模型存储地址为项目存储地址下的 `model` 文件夹。您可以通过修改下面的环境变量来修改模型存储地址:\n", + " - EduNLP 项目存储地址:`EDUNLPPATH = xx/xx/xx`\n", + " - 模型存储地址:`EDUNLPMODELPATH = xx/xx/xx`" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 9, + "source": [ + "item_vectors, token_vectors = i2v(items)\r\n", + "print(item_vectors)\r\n", + "print(token_vectors)" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[array([-0.23861311, 0.06892798, -0.27065727, 0.16547263, 0.02818857,\n", + " -0.18185084, 0.09226187, 0.01612627, 0.0921795 , 0.3134312 ,\n", + " 0.09265023, -0.22529641, -0.25788078, 0.06702194, 0.09765045,\n", + " -0.19932257, 0.08527228, -0.22684543, -0.1776405 , -0.03682012,\n", + " 0.6210964 , -0.26637274, 0.08060682, -0.15860714, -0.17825642,\n", + " -0.13271384, 0.27331072, 0.18202724, 0.08430962, 0.23299456,\n", + " 0.179898 , 0.1571772 , -0.1406754 , -0.19508898, -0.11265783,\n", + " 0.11396482, 0.0223774 , 0.07824919, -0.2421433 , 0.06195279,\n", + " -0.04763965, -0.02037446, 0.07481094, -0.1908799 , 0.09688905,\n", + " 0.3995564 , 0.28225863, 0.30547026, -0.46538818, -0.02891348,\n", + " -0.19343005, 0.01966276, -0.21590087, 0.09774096, -0.26137134,\n", + " -0.23963049, 0.34259936, 0.14825426, -0.2987728 , -0.38039675,\n", + " -0.12087625, 0.05897354, 0.06351897, 0.10188989, 0.12092843,\n", + " 0.13229063, 0.12786968, -0.15378596, 0.00724137, -0.13644631,\n", + " -0.15164569, 0.11535735, -0.24394232, -0.08835315, 0.05014084,\n", + " -0.05980775, 0.03040357, -0.05804552, -0.04122322, 0.31905708,\n", + " -0.02468318, 0.06953011, -0.1299219 , 0.01482821, -0.00126122,\n", + " -0.20185567, -0.00784766, -0.28023243, -0.16416278, -0.04939609,\n", + " -0.22619021, -0.17099814, 0.1434735 , -0.13193442, -0.18329675,\n", + " -0.06873035, -0.21638975, -0.0767743 , 0.17778671, 0.0459166 ,\n", + " 0.0719557 , 0.0797654 , -0.15445784, -0.20094277, 0.11860424,\n", + " 0.09521067, -0.10993416, -0.01273298, -0.0857757 , -0.05475522,\n", + " -0.09463413, 0.00845256, 0.06638184, -0.22701578, 0.06599791,\n", + " 0.1323833 , 0.2227748 , 0.13431212, -0.08537175, 0.14300612,\n", + " 0.24459998, 0.00735889, -0.07123663, 0.24863936, 0.10320719,\n", + " -0.06399037, 0.0537433 , 0.00862593, -0.10747737, -0.01009098,\n", + " 0.01707896, 0.07951383, -0.2245529 , 0.03152119, 0.19090259,\n", + " 0.27611575, -0.16507478, 0.05977706, 0.09740735, 0.32154247,\n", + " -0.02540598, -0.20875612, 0.11484967, 0.12112009, -0.00937327,\n", + " -0.03855037, -0.03728763, 0.13645649, 0.42706412, 0.14456204,\n", + " -0.1542145 , 0.07858715, 0.14076898, 0.01195827, 0.16896723,\n", + " -0.0516856 , 0.05795754, 0.09602529, 0.02058077, 0.14346235,\n", + " 0.3984762 , 0.06770886, -0.5524451 , -0.18779868, 0.11151859,\n", + " -0.06967582, 0.09465033, 0.2242416 , -0.17179447, 0.20837718,\n", + " 0.43269685, -0.33945957, 0.00746959, -0.14856125, -0.04883511,\n", + " 0.0790235 , 0.18130969, -0.06500382, -0.05761597, 0.15247819,\n", + " 0.22402437, 0.33508143, -0.02544755, 0.10404763, -0.0392291 ,\n", + " 0.14048643, -0.39408255, -0.04759403, -0.09290893, -0.10062248,\n", + " 0.3836949 , -0.04212417, 0.04195033, -0.34143335, 0.02139966,\n", + " 0.00748172, 0.09670173, 0.11287135, 0.07313446, -0.06884305,\n", + " -0.27654266, -0.02745902, 0.11782443, -0.05509072, -0.02731109,\n", + " 0.02932139, 0.20647307, -0.09912065, 0.08175386, 0.04051739,\n", + " -0.13783188, 0.2178767 , 0.01360986, -0.11862064, 0.02632025,\n", + " 0.01305837, -0.07418288, -0.11537156, 0.07784148, -0.02828423,\n", + " 0.0152778 , -0.27535534, -0.26457086, -0.2426946 , 0.17839569,\n", + " 0.41153124, -0.06237097, 0.28373018, 0.09847705, -0.2693095 ,\n", + " 0.15109962, 0.02665104, 0.12224031, 0.0053689 , 0.08057593,\n", + " 0.0029663 , -0.01309686, 0.04294159, -0.26014623, -0.09540065,\n", + " -0.19017759, -0.02596658, -0.21918078, -0.04269371, 0.09444954,\n", + " -0.05112423, 0.21732539, 0.2555126 , 0.06598321, -0.00912136,\n", + " 0.01300732, -0.02216252, 0.16752972, 0.00181198, 0.02385568,\n", + " -0.0017939 ], dtype=float32)]\n", + "None\n" + ] + } + ], + "metadata": {} + } + ], + "metadata": { + "orig_nbformat": 4, + "language_info": { + "name": "python", + "version": "3.6.3", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.6.3 64-bit" + }, + "interpreter": { + "hash": "6f23ddf1f0697a8f0c43dd2435bdb82528077c79e9967f824fba6a3b52b05faf" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/setup.py b/setup.py index 1d38042d..0e39d81d 100644 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ ml_pytorch_deps = [] logging.warning("Current python version %s is not supported by pytorch", str(sys.version_info[:2])) -vec_deps = ['gensim'] + ml_pytorch_deps +vec_deps = ['gensim'] + ml_pytorch_deps + ['transformers'] setup( name='EduNLP', diff --git a/tests/test_i2v/test_pretrained.py b/tests/test_i2v/test_pretrained.py index 53825ba8..30e60bae 100644 --- a/tests/test_i2v/test_pretrained.py +++ b/tests/test_i2v/test_pretrained.py @@ -24,5 +24,7 @@ def test_pretrained_i2v(tmp_path): get_pretrained_i2v("test_w2v", d) + get_pretrained_i2v("luna_bert", d) + with pytest.raises(KeyError): get_pretrained_i2v("error") diff --git a/tests/test_sif/test_sif.py b/tests/test_sif/test_sif.py index 210441d2..02d30132 100644 --- a/tests/test_sif/test_sif.py +++ b/tests/test_sif/test_sif.py @@ -31,6 +31,12 @@ def test_to_sif(): siftext = to_sif(text) print(siftext) + ret = is_sif(text, return_parser=True) + assert ret[0] == 0 + if ret[0] is not True: + siftext = to_sif(text, parser=ret[1]) + print(siftext) + def test_sci4sif(figure0, figure1, figure0_base64, figure1_base64): repr(sif4sci( @@ -57,3 +63,17 @@ def test_sci4sif(figure0, figure1, figure0_base64, figure1_base64): "figure_params": {"figure_instance": True} } )) + repr(sif4sci( + r"如图所示,则$\bigtriangleup ABC$的面积是$\SIFBlank$。$\FigureID{1}$", mode=0 + )) + repr(sif4sci( + r"如图所示,则$\bigtriangleup ABC$的面积是$\SIFBlank$。$\FigureID{1}$", mode=1 + )) + repr(sif4sci( + r"如图所示,则$\bigtriangleup ABC$的面积是$\SIFBlank$。$\FigureID{1}$", mode=2 + )) + + with pytest.raises(KeyError): + repr(sif4sci( + r"如图所示,则$\bigtriangleup ABC$的面积是$\SIFBlank$。$\FigureID{1}$", mode=3 + )) diff --git a/tests/test_sif/test_tokenization.py b/tests/test_sif/test_tokenization.py index b904a71b..43dfde02 100644 --- a/tests/test_sif/test_tokenization.py +++ b/tests/test_sif/test_tokenization.py @@ -3,7 +3,7 @@ import pytest from EduNLP.SIF.constants import Symbol -from EduNLP.SIF.segment.segment import SegmentList +from EduNLP.SIF.segment.segment import SegmentList, LatexFormulaSegment from EduNLP.SIF.tokenization import text from EduNLP.SIF.tokenization import formula from EduNLP.SIF.tokenization.tokenization import TokenList @@ -32,3 +32,5 @@ def test_tokenization(): with pytest.raises(TypeError): tl.append("[Unknown]") + + tl.append(LatexFormulaSegment('x+y'), False) diff --git a/tests/test_vec/test_bert.py b/tests/test_vec/test_bert.py new file mode 100644 index 00000000..3046a9ea --- /dev/null +++ b/tests/test_vec/test_bert.py @@ -0,0 +1,74 @@ +import torch +import numpy as np +import pytest +from EduNLP.Pretrain import BertTokenizer, finetune_bert +from EduNLP.Vector import BertModel, T2V +from EduNLP.I2V import Bert, get_pretrained_i2v + + +@pytest.fixture(scope="module") +def stem_data_bert(data): + test_items = [ + {'stem': '有公式$\\FormFigureID{wrong1?}$和公式$\\FormFigureBase64{wrong2?}$,\ + 如图$\\FigureID{088f15ea-8b7c-11eb-897e-b46bfc50aa29}$,若$x,y$满足约束条件$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$'}, + {'stem': '如图$\\FigureID{088f15ea-8b7c-11eb-897e-b46bfc50aa29}$, \ + 若$x,y$满足约束条件$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$'} + ] + data = test_items + data + _data = [] + tokenizer = BertTokenizer() + for e in data[:10]: + d = tokenizer(e["stem"]) + if d is not None: + _data.append(d) + assert _data + return _data + + +def test_bert_without_param(stem_data_bert, tmpdir): + output_dir = str(tmpdir.mkdir('finetuneBert')) + finetune_bert( + stem_data_bert, + output_dir + ) + tokenizer = BertTokenizer(output_dir) + model = BertModel(output_dir) + item = {'stem': '如图$\\FigureID{088f15ea-8b7c-11eb-897e-b46bfc50aa29}$, \ + 若$x,y$满足约束条件$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$'} + inputs = tokenizer(item['stem'], return_tensors='pt') + output = model(inputs) + assert model.vector_size > 0 + assert output.shape[-1] == model.vector_size + t2v = T2V('bert', output_dir) + assert t2v(inputs).shape[-1] == t2v.vector_size + assert t2v.infer_vector(inputs).shape[-1] == t2v.vector_size + assert t2v.infer_tokens(inputs).shape[-1] == t2v.vector_size + + +def test_bert_i2v(stem_data_bert, tmpdir): + output_dir = str(tmpdir.mkdir('finetuneBert')) + train_params = { + 'epochs': 1, + 'save_steps': 100, + 'batch_size': 8, + 'logging_steps': 3 + } + finetune_bert( + stem_data_bert, + output_dir, + train_params=train_params + ) + + item = {'stem': '如图$\\FigureID{088f15ea-8b7c-11eb-897e-b46bfc50aa29}$, \ + 若$x,y$满足约束条件$\\SIFSep$,则$z=x+7 y$的最大值为$\\SIFBlank$'} + tokenizer_kwargs = {"pretrain_model": output_dir} + i2v = Bert('bert', 'bert', output_dir, tokenizer_kwargs=tokenizer_kwargs) + i_vec, t_vec = i2v([item['stem'], item['stem']]) + assert len(i_vec[0]) == i2v.vector_size + assert len(t_vec[0][0]) == i2v.vector_size + + i_vec = i2v.infer_item_vector([item['stem'], item['stem']]) + assert len(i_vec[0]) == i2v.vector_size + + t_vec = i2v.infer_token_vector([item['stem'], item['stem']]) + assert len(t_vec[0][0]) == i2v.vector_size diff --git a/tests/test_vec/test_vec.py b/tests/test_vec/test_vec.py index d97210d8..d6ae1a44 100644 --- a/tests/test_vec/test_vec.py +++ b/tests/test_vec/test_vec.py @@ -86,6 +86,7 @@ def test_w2v(stem_tokens, tmpdir, method, binary): assert w2v.vectors.shape == (len(w2v.wv.vectors) + len(w2v.constants), w2v.vector_size) assert w2v.key_to_index("[UNK]") == 0 assert w2v.key_to_index("OOV") == 0 + assert np.array_equal(w2v["OOV"], np.zeros((10,))) t2v = T2V("w2v", filepath=filepath, method=method, binary=binary) assert len(t2v(stem_tokens[:1])[0]) == t2v.vector_size @@ -110,7 +111,7 @@ def test_w2v_i2v(stem_text_tokens, tmpdir, stem_data): ) i2v = I_W2V("pure_text", "w2v", filepath) - i_vec, t_vec = i2v(stem_data[:1]) + i_vec, t_vec = i2v(stem_data[:2]) assert len(i_vec[0]) == i2v.vector_size assert len(t_vec[0][0]) == i2v.vector_size @@ -187,7 +188,7 @@ def test_d2v(stem_text_tokens, tmpdir, stem_data): assert len(t2v(stem_text_tokens[:1])[0]) == t2v.vector_size i2v = I_D2V("pure_text", "d2v", filepath) - i_vec, t_vec = i2v(stem_data[:1]) + i_vec, t_vec = i2v(stem_data[:2]) assert len(i_vec[0]) == i2v.vector_size assert t_vec is None