From d6c0ca4085158079ec729e2e184495d192214c46 Mon Sep 17 00:00:00 2001 From: Guillem Duran Date: Fri, 26 Apr 2019 18:45:26 +0200 Subject: [PATCH 1/5] Copy code from src-d/ml Signed-off-by: Guillem Duran --- sourced/ml/__main__.py | 358 +++++++++++++ sourced/ml/algorithms/__init__.py | 10 + sourced/ml/algorithms/id_embedding.py | 42 ++ sourced/ml/algorithms/id_splitter/README.md | 128 +++++ sourced/ml/algorithms/id_splitter/__init__.py | 0 sourced/ml/algorithms/id_splitter/features.py | 118 +++++ sourced/ml/algorithms/id_splitter/nn_model.py | 243 +++++++++ sourced/ml/algorithms/id_splitter/pipeline.py | 222 ++++++++ sourced/ml/algorithms/swivel.py | 491 ++++++++++++++++++ sourced/ml/algorithms/tf_idf.py | 5 + sourced/ml/algorithms/token_parser.py | 135 +++++ sourced/ml/algorithms/uast_id_distance.py | 122 +++++ sourced/ml/algorithms/uast_ids_to_bag.py | 110 ++++ .../algorithms/uast_inttypes_to_graphlets.py | 59 +++ .../ml/algorithms/uast_inttypes_to_nodes.py | 64 +++ sourced/ml/algorithms/uast_struct_to_bag.py | 181 +++++++ sourced/ml/algorithms/uast_to_bag.py | 34 ++ sourced/ml/algorithms/uast_to_id_sequence.py | 30 ++ .../ml/algorithms/uast_to_role_id_pairs.py | 69 +++ sourced/ml/extractors/__init__.py | 12 + sourced/ml/extractors/bags_extractor.py | 94 ++++ sourced/ml/extractors/children.py | 48 ++ sourced/ml/extractors/graphlets.py | 24 + sourced/ml/extractors/helpers.py | 32 ++ sourced/ml/extractors/id_sequence.py | 32 ++ sourced/ml/extractors/identifier_distance.py | 48 ++ sourced/ml/extractors/identifiers.py | 18 + sourced/ml/extractors/literals.py | 66 +++ sourced/ml/extractors/uast_random_walk.py | 23 + sourced/ml/extractors/uast_seq.py | 23 + sourced/ml/modelforgecfg.py | 8 + sourced/ml/models/__init__.py | 12 + sourced/ml/models/bow.py | 131 +++++ sourced/ml/models/coocc.py | 62 +++ sourced/ml/models/df.py | 169 ++++++ sourced/ml/models/id2vec.py | 66 +++ sourced/ml/models/license.py | 3 + .../ml/models/model_converters/__init__.py | 0 sourced/ml/models/model_converters/base.py | 115 ++++ .../ml/models/model_converters/merge_bow.py | 69 +++ .../ml/models/model_converters/merge_df.py | 42 ++ sourced/ml/models/ordered_df.py | 60 +++ sourced/ml/models/quant.py | 62 +++ sourced/ml/models/tensorflow.py | 50 ++ sourced/ml/models/topics.py | 86 +++ sourced/ml/utils/__init__.py | 3 + sourced/ml/utils/bblfsh.py | 19 + sourced/ml/utils/bblfsh_roles.py | 14 + sourced/ml/utils/bigartm.py | 58 +++ sourced/ml/utils/pickleable_logger.py | 35 ++ sourced/ml/utils/projector.py | 108 ++++ 51 files changed, 4013 insertions(+) create mode 100644 sourced/ml/__main__.py create mode 100644 sourced/ml/algorithms/__init__.py create mode 100644 sourced/ml/algorithms/id_embedding.py create mode 100644 sourced/ml/algorithms/id_splitter/README.md create mode 100644 sourced/ml/algorithms/id_splitter/__init__.py create mode 100644 sourced/ml/algorithms/id_splitter/features.py create mode 100644 sourced/ml/algorithms/id_splitter/nn_model.py create mode 100644 sourced/ml/algorithms/id_splitter/pipeline.py create mode 100644 sourced/ml/algorithms/swivel.py create mode 100644 sourced/ml/algorithms/tf_idf.py create mode 100644 sourced/ml/algorithms/token_parser.py create mode 100644 sourced/ml/algorithms/uast_id_distance.py create mode 100644 sourced/ml/algorithms/uast_ids_to_bag.py create mode 100644 sourced/ml/algorithms/uast_inttypes_to_graphlets.py create mode 100644 sourced/ml/algorithms/uast_inttypes_to_nodes.py create mode 100644 sourced/ml/algorithms/uast_struct_to_bag.py create mode 100644 sourced/ml/algorithms/uast_to_bag.py create mode 100644 sourced/ml/algorithms/uast_to_id_sequence.py create mode 100644 sourced/ml/algorithms/uast_to_role_id_pairs.py create mode 100644 sourced/ml/extractors/__init__.py create mode 100644 sourced/ml/extractors/bags_extractor.py create mode 100644 sourced/ml/extractors/children.py create mode 100644 sourced/ml/extractors/graphlets.py create mode 100644 sourced/ml/extractors/helpers.py create mode 100644 sourced/ml/extractors/id_sequence.py create mode 100644 sourced/ml/extractors/identifier_distance.py create mode 100644 sourced/ml/extractors/identifiers.py create mode 100644 sourced/ml/extractors/literals.py create mode 100644 sourced/ml/extractors/uast_random_walk.py create mode 100644 sourced/ml/extractors/uast_seq.py create mode 100644 sourced/ml/modelforgecfg.py create mode 100644 sourced/ml/models/__init__.py create mode 100644 sourced/ml/models/bow.py create mode 100644 sourced/ml/models/coocc.py create mode 100644 sourced/ml/models/df.py create mode 100644 sourced/ml/models/id2vec.py create mode 100644 sourced/ml/models/license.py create mode 100644 sourced/ml/models/model_converters/__init__.py create mode 100644 sourced/ml/models/model_converters/base.py create mode 100644 sourced/ml/models/model_converters/merge_bow.py create mode 100644 sourced/ml/models/model_converters/merge_df.py create mode 100644 sourced/ml/models/ordered_df.py create mode 100644 sourced/ml/models/quant.py create mode 100644 sourced/ml/models/tensorflow.py create mode 100644 sourced/ml/models/topics.py create mode 100644 sourced/ml/utils/__init__.py create mode 100644 sourced/ml/utils/bblfsh.py create mode 100644 sourced/ml/utils/bblfsh_roles.py create mode 100644 sourced/ml/utils/bigartm.py create mode 100644 sourced/ml/utils/pickleable_logger.py create mode 100644 sourced/ml/utils/projector.py diff --git a/sourced/ml/__main__.py b/sourced/ml/__main__.py new file mode 100644 index 0000000..eff77a6 --- /dev/null +++ b/sourced/ml/__main__.py @@ -0,0 +1,358 @@ +import argparse +import logging +import os +import sys + +from modelforge import slogging + +from sourced.ml import cmd +from sourced.ml import extractors +from sourced.ml.cmd import args +from sourced.ml.cmd.run_swivel import mirror_tf_args +from sourced.ml.transformers import Moder +from sourced.ml.utils import install_bigartm +from sourced.ml.utils.spark import add_spark_args + + +def get_parser() -> argparse.ArgumentParser: + """ + Create the cmdline argument parser. + """ + parser = argparse.ArgumentParser(formatter_class=args.ArgumentDefaultsHelpFormatterNoNone) + parser.add_argument("--log-level", default="INFO", + choices=logging._nameToLevel, + help="Logging verbosity.") + # Create and construct subparsers + subparsers = parser.add_subparsers(help="Commands", dest="command") + + def add_parser(name, help_message): + return subparsers.add_parser( + name, help=help_message, formatter_class=args.ArgumentDefaultsHelpFormatterNoNone) + + # ------------------------------------------------------------------------ + preprocessing_parser = subparsers.add_parser( + "preprocrepos", help="Convert siva to parquet files with extracted information.") + preprocessing_parser.set_defaults(handler=cmd.preprocess_repos) + preprocessing_parser.add_argument("-x", "--mode", choices=Moder.Options.__all__, + default="file", help="What to extract from repositories.") + args.add_repo2_args(preprocessing_parser) + preprocessing_parser.add_argument( + "-o", "--output", required=True, + help="[OUT] Path to the parquet files with bag batches.") + default_fields = ("blob_id", "repository_id", "content", "path", "commit_hash", "uast", "lang") + preprocessing_parser.add_argument( + "-f", "--fields", nargs="+", default=default_fields, + help="Fields to save.") + # ------------------------------------------------------------------------ + repos2bow_parser = add_parser( + "repos2bow", "Convert source code to the bag-of-words model.") + repos2bow_parser.set_defaults(handler=cmd.repos2bow) + args.add_df_args(repos2bow_parser) + args.add_repo2_args(repos2bow_parser) + args.add_feature_args(repos2bow_parser) + args.add_bow_args(repos2bow_parser) + args.add_repartitioner_arg(repos2bow_parser) + args.add_cached_index_arg(repos2bow_parser) + # ------------------------------------------------------------------------ + repos2bow_index_parser = add_parser( + "repos2bow_index", "Creates the index, quant and docfreq model of the bag-of-words model.") + repos2bow_index_parser.set_defaults(handler=cmd.repos2bow_index) + args.add_df_args(repos2bow_index_parser) + args.add_repo2_args(repos2bow_index_parser) + args.add_feature_args(repos2bow_index_parser) + args.add_repartitioner_arg(repos2bow_index_parser) + args.add_cached_index_arg(repos2bow_index_parser, create=True) + # ------------------------------------------------------------------------ + repos2df_parser = add_parser( + "repos2df", "Calculate document frequencies of features extracted from source code.") + repos2df_parser.set_defaults(handler=cmd.repos2df) + args.add_df_args(repos2df_parser) + args.add_repo2_args(repos2df_parser) + args.add_feature_args(repos2df_parser) + # ------------------------------------------------------------------------ + repos2ids_parser = subparsers.add_parser( + "repos2ids", help="Convert source code to a bag of identifiers.") + repos2ids_parser.set_defaults(handler=cmd.repos2ids) + args.add_repo2_args(repos2ids_parser) + args.add_split_stem_arg(repos2ids_parser) + args.add_repartitioner_arg(repos2ids_parser) + repos2ids_parser.add_argument( + "-o", "--output", required=True, + help="[OUT] output path to the CSV file with identifiers.") + repos2ids_parser.add_argument( + "--idfreq", action="store_true", + help="Adds identifier frequencies to the output CSV file." + "num_repos is the number of repositories where the identifier appears in." + "num_files is the number of files where the identifier appears in." + "num_occ is the total number of occurrences of the identifier.") + # ------------------------------------------------------------------------ + repos2coocc_parser = add_parser( + "repos2coocc", "Convert source code to the sparse co-occurrence matrix of identifiers.") + repos2coocc_parser.set_defaults(handler=cmd.repos2coocc) + args.add_df_args(repos2coocc_parser) + args.add_repo2_args(repos2coocc_parser) + args.add_split_stem_arg(repos2coocc_parser) + args.add_repartitioner_arg(repos2coocc_parser) + repos2coocc_parser.add_argument( + "-o", "--output", required=True, + help="[OUT] Path to the Cooccurrences model.") + + # ------------------------------------------------------------------------ + repos2roles_and_ids = add_parser( + "repos2roleids", "Converts a UAST to a list of pairs, where pair is a role and " + "identifier. Role is merged generic roles where identifier was found.") + repos2roles_and_ids.set_defaults(handler=cmd.repos2roles_and_ids) + args.add_repo2_args(repos2roles_and_ids) + args.add_split_stem_arg(repos2roles_and_ids) + repos2roles_and_ids.add_argument( + "-o", "--output", required=True, + help="[OUT] Path to the directory where spark should store the result. " + "Inside the directory you find result is csv format, status file and sumcheck files.") + # ------------------------------------------------------------------------ + repos2identifier_distance = add_parser( + "repos2id_distance", "Converts a UAST to a list of identifier pairs " + "and distance between them.") + repos2identifier_distance.set_defaults(handler=cmd.repos2id_distance) + args.add_repo2_args(repos2identifier_distance) + args.add_split_stem_arg(repos2identifier_distance) + repos2identifier_distance.add_argument( + "-t", "--type", required=True, choices=extractors.IdentifierDistance.DistanceType.All, + help="Distance type.") + repos2identifier_distance.add_argument( + "--max-distance", default=extractors.IdentifierDistance.DEFAULT_MAX_DISTANCE, type=int, + help="Maximum distance to save.") + repos2identifier_distance.add_argument( + "-o", "--output", required=True, + help="[OUT] Path to the directory where spark should store the result. " + "Inside the directory you find result is csv format, status file and sumcheck files.") + # ------------------------------------------------------------------------ + repos2id_sequence = add_parser( + "repos2idseq", "Converts a UAST to sequence of identifiers sorted by order of appearance.") + repos2id_sequence.set_defaults(handler=cmd.repos2id_sequence) + args.add_repo2_args(repos2id_sequence) + args.add_split_stem_arg(repos2id_sequence) + repos2id_sequence.add_argument( + "--skip-docname", default=False, action="store_true", + help="Do not save document name in CSV file, only identifier sequence.") + repos2id_sequence.add_argument( + "-o", "--output", required=True, + help="[OUT] Path to the directory where spark should store the result. " + "Inside the directory you find result is csv format, status file and sumcheck files.") + # ------------------------------------------------------------------------ + preproc_parser = add_parser( + "id2vec-preproc", "Convert a sparse co-occurrence matrix to the Swivel shards.") + preproc_parser.set_defaults(handler=cmd.id2vec_preprocess) + args.add_df_args(preproc_parser) + preproc_parser.add_argument("-s", "--shard-size", default=4096, type=int, + help="The shard (submatrix) size.") + preproc_parser.add_argument( + "-i", "--input", + help="Concurrence model produced by repos2coocc.") + preproc_parser.add_argument("-o", "--output", required=True, help="Output directory.") + # ------------------------------------------------------------------------ + train_parser = add_parser( + "id2vec-train", "Train identifier embeddings using Swivel.") + train_parser.set_defaults(handler=cmd.run_swivel) + mirror_tf_args(train_parser) + # ------------------------------------------------------------------------ + id2vec_postproc_parser = add_parser( + "id2vec-postproc", + "Combine row and column embeddings produced by Swivel and write them to an .asdf.") + id2vec_postproc_parser.set_defaults(handler=cmd.id2vec_postprocess) + id2vec_postproc_parser.add_argument( + "-i", "--swivel-data", required=True, + help="Folder with swivel row and column embeddings data. " + "You can get it using id2vec_train subcommand.") + id2vec_postproc_parser.add_argument( + "-o", "--output", required=True, + help="Output directory for Id2Vec model.") + # ------------------------------------------------------------------------ + id2vec_project_parser = add_parser( + "id2vec-project", "Present id2vec model in Tensorflow Projector.") + id2vec_project_parser.set_defaults(handler=cmd.id2vec_project) + args.add_df_args(id2vec_project_parser, required=False) + id2vec_project_parser.add_argument("-i", "--input", required=True, + help="id2vec model to present.") + id2vec_project_parser.add_argument("-o", "--output", required=True, + help="Projector output directory.") + id2vec_project_parser.add_argument("--no-browser", action="store_true", + help="Do not open the browser.") + # ------------------------------------------------------------------------ + train_id_split_parser = add_parser( + "train-id-split", "Train a neural network to split identifiers.") + train_id_split_parser.set_defaults(handler=cmd.train_id_split) + # common arguments for CNN/RNN models + train_id_split_parser.add_argument("-i", "--input", required=True, + help="Path to the input data in CSV format:" + "num_files,num_occ,num_repos,token,token_split") + train_id_split_parser.add_argument("-e", "--epochs", type=int, default=10, + help="Number of training epochs. The more the better" + "but the training time is proportional.") + train_id_split_parser.add_argument("-b", "--batch-size", type=int, default=500, + help="Batch size. Higher values better utilize GPUs" + "but may harm the convergence.") + train_id_split_parser.add_argument("-l", "--length", type=int, default=40, + help="RNN sequence length.") + train_id_split_parser.add_argument("-o", "--output", required=True, + help="Path to store the trained model.") + train_id_split_parser.add_argument("-t", "--test-ratio", type=float, default=0.2, + help="Fraction of the dataset to use for evaluation.") + train_id_split_parser.add_argument("-p", "--padding", default="post", choices=("pre", "post"), + help="Whether to pad before or after each sequence.") + train_id_split_parser.add_argument("--optimizer", default="Adam", choices=("RMSprop", "Adam"), + help="Algorithm to use as an optimizer for the neural net.") + train_id_split_parser.add_argument("--lr", default=0.001, type=float, + help="Initial learning rate.") + train_id_split_parser.add_argument("--final-lr", default=0.00001, type=float, + help="Final learning rate. The decrease from " + "the initial learning rate is done linearly.") + train_id_split_parser.add_argument("--samples-before-report", type=int, default=5*10**6, + help="Number of samples between each validation report" + "and training updates.") + train_id_split_parser.add_argument("--val-batch-size", type=int, default=2000, + help="Batch size for validation." + "It can be increased to speed up the pipeline but" + "it proportionally increases the memory consumption.") + train_id_split_parser.add_argument("--seed", type=int, default=1989, + help="Random seed.") + train_id_split_parser.add_argument("--devices", default="0", + help="Device(s) to use. '-1' means CPU.") + train_id_split_parser.add_argument("--csv-identifier", default=3, + help="Column name in the CSV file for the raw identifier.") + train_id_split_parser.add_argument("--csv-identifier-split", default=4, + help="Column name in the CSV file for the split" + "identifier.") + train_id_split_parser.add_argument("--include-csv-header", action="store_true", + help="Treat the first line of the input CSV as a regular" + "line.") + train_id_split_parser.add_argument("--model", type=str, choices=("RNN", "CNN"), required=True, + help="Neural Network model to use to learn the identifier" + "splitting task.") + train_id_split_parser.add_argument("-s", "--stack", default=2, type=int, + help="Number of layers stacked on each other.") + # RNN specific arguments + train_id_split_parser.add_argument("--type-cell", default="LSTM", + choices=("GRU", "LSTM", "CuDNNLSTM", "CuDNNGRU"), + help="Recurrent layer type to use.") + train_id_split_parser.add_argument("-n", "--neurons", default=256, type=int, + help="Number of neurons on each layer.") + # CNN specific arguments + train_id_split_parser.add_argument("-f", "--filters", default="64,32,16,8", + help="Number of filters for each kernel size.") + train_id_split_parser.add_argument("-k", "--kernel-sizes", default="2,4,8,16", + help="Sizes for sliding windows.") + train_id_split_parser.add_argument("--dim-reduction", default=32, type=int, + help="Number of 1-d kernels to reduce dimensionality" + "after each layer.") + # ------------------------------------------------------------------------ + bow2vw_parser = add_parser( + "bow2vw", "Convert a bag-of-words model to the dataset in Vowpal Wabbit format.") + bow2vw_parser.set_defaults(handler=cmd.bow2vw) + bow2vw_parser.add_argument( + "--bow", help="URL or path to a bag-of-words model.") + bow2vw_parser.add_argument( + "--id2vec", help="URL or path to the identifier embeddings.") + bow2vw_parser.add_argument( + "-o", "--output", required=True, help="Path to the output file.") + # ------------------------------------------------------------------------ + bigartm_postproc_parser = add_parser( + "bigartm2asdf", "Convert a human-readable BigARTM model to Modelforge format.") + bigartm_postproc_parser.set_defaults(handler=cmd.bigartm2asdf) + bigartm_postproc_parser.add_argument("input") + bigartm_postproc_parser.add_argument("output") + # ------------------------------------------------------------------------ + bigartm_parser = add_parser( + "bigartm", "Install bigartm/bigartm to the current working directory.") + bigartm_parser.set_defaults(handler=install_bigartm) + bigartm_parser.add_argument( + "--tmpdir", help="Store intermediate files in this directory instead of /tmp.") + bigartm_parser.add_argument("--output", default=os.getcwd(), help="Output directory.") + + # ------------------------------------------------------------------------ + merge_df = add_parser("merge-df", "Merge DocumentFrequencies models to a single one.") + merge_df.set_defaults(handler=cmd.merge_df) + args.add_min_docfreq(merge_df) + args.add_vocabulary_size_arg(merge_df) + merge_df.add_argument( + "-o", "--output", required=True, + help="Path to the merged DocumentFrequencies model.") + merge_df.add_argument( + "-i", "--input", required=True, nargs="+", + help="DocumentFrequencies models input files." + "Use `-i -` to read input files from stdin.") + merge_df.add_argument( + "--ordered", action="store_true", default=False, + help="Save OrderedDocumentFrequencies. " + "If not specified DocumentFrequencies model will be saved") + # ------------------------------------------------------------------------ + merge_coocc = add_parser("merge-coocc", "Merge several Cooccurrences models together.") + merge_coocc.set_defaults(handler=cmd.merge_coocc) + add_spark_args(merge_coocc) + merge_coocc.add_argument( + "-o", "--output", required=True, + help="Path to the merged Cooccurrences model.") + merge_coocc.add_argument( + "-i", "--input", required=True, + help="Cooccurrences models input files." + "Use `-i -` to read input files from stdin.") + merge_coocc.add_argument( + "--docfreq", required=True, + help="[IN] Specify OrderedDocumentFrequencies model. " + "Identifiers that are not present in the model will be ignored.") + merge_coocc.add_argument( + "--no-spark", action="store_true", default=False, + help="Use the local reduction instead of PySpark. " + "Can be faster and consume less memory if the data fits into RAM.") + # ------------------------------------------------------------------------ + merge_bow = add_parser("merge-bow", "Merge BOW models to a single one.") + merge_bow.set_defaults(handler=cmd.merge_bow) + merge_bow.add_argument( + "-i", "--input", required=True, nargs="+", + help="BOW models input files." + "Use `-i -` to read input files from stdin.") + merge_bow.add_argument( + "-o", "--output", required=True, + help="Path to the merged BOW model.") + merge_bow.add_argument( + "-f", "--features", nargs="+", + choices=[ex.NAME for ex in extractors.__extractors__.values()], + default=None, help="To keep only specific features, if not specified all will be kept.") + # ------------------------------------------------------------------------ + id2role_eval = add_parser("id2role-eval", + "Compare the embeddings quality on role prediction problem.") + id2role_eval.set_defaults(handler=cmd.id2role_eval) + id2role_eval.add_argument( + "-m", "--models", required=True, nargs="+", + help="Id2Vec models to compare." + "Use `-i -` to read input files from stdin.") + id2role_eval.add_argument( + "-d", "--dataset", required=True, + help="Dataset directory. You can collect dataset via repos2roleids command.") + id2role_eval.add_argument( + "-s", "--seed", default=420, + help="Random seed for reproducible results.") + return parser + + +def main(): + """ + Create all the argparse-rs and invokes the function from set_defaults(). + + :return: The result of the function from set_defaults(). + """ + parser = get_parser() + args = parser.parse_args() + args.log_level = logging._nameToLevel[args.log_level] + slogging.setup(args.log_level, False) + try: + handler = args.handler + except AttributeError: + def print_usage(_): + parser.print_usage() + + handler = print_usage + return handler(args) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/sourced/ml/algorithms/__init__.py b/sourced/ml/algorithms/__init__.py new file mode 100644 index 0000000..d40df21 --- /dev/null +++ b/sourced/ml/algorithms/__init__.py @@ -0,0 +1,10 @@ +# flake8: noqa +from sourced.ml.algorithms.tf_idf import log_tf_log_idf +from sourced.ml.algorithms.token_parser import TokenParser, NoopTokenParser +from sourced.ml.algorithms.uast_ids_to_bag import UastIds2Bag, uast2sequence +from sourced.ml.algorithms.uast_struct_to_bag import UastRandomWalk2Bag, UastSeq2Bag +from sourced.ml.algorithms.uast_inttypes_to_nodes import Uast2QuantizedChildren +from sourced.ml.algorithms.uast_inttypes_to_graphlets import Uast2GraphletBag +from sourced.ml.algorithms.uast_to_role_id_pairs import Uast2RoleIdPairs +from sourced.ml.algorithms.uast_id_distance import Uast2IdLineDistance, Uast2IdTreeDistance +from sourced.ml.algorithms.uast_to_id_sequence import Uast2IdSequence diff --git a/sourced/ml/algorithms/id_embedding.py b/sourced/ml/algorithms/id_embedding.py new file mode 100644 index 0000000..2a8ac40 --- /dev/null +++ b/sourced/ml/algorithms/id_embedding.py @@ -0,0 +1,42 @@ +import numpy + + +def extract_coocc_matrix(global_shape, word_indices, model): + # Stage 1 - extract the tokens, map them to the global vocabulary + indices = [] + mapped_indices = [] + for i, w in enumerate(model.tokens): + gi = word_indices.get(w) + if gi is not None: + indices.append(i) + mapped_indices.append(gi) + indices = numpy.array(indices) + mapped_indices = numpy.array(mapped_indices) + # Stage 2 - sort the matched tokens by the index in the vocabulary + order = numpy.argsort(mapped_indices) + indices = indices[order] + mapped_indices = mapped_indices[order] + # Stage 3 - produce the csr_matrix with the matched tokens **only** + matrix = model.matrix.tocsr()[indices][:, indices] + # Stage 4 - convert this matrix to the global (ccmatrix) coordinates + csr_indices = matrix.indices + for i, v in enumerate(csr_indices): + # Here we use the fact that indices and mapped_indices are in the same order + csr_indices[i] = mapped_indices[v] + csr_indptr = matrix.indptr + new_indptr = [0] + for i, v in enumerate(mapped_indices): + prev_ptr = csr_indptr[i] + ptr = csr_indptr[i + 1] + + # Handle missing rows + prev = (mapped_indices[i - 1] + 1) if i > 0 else 0 + for _ in range(prev, v): + new_indptr.append(prev_ptr) + + new_indptr.append(ptr) + for _ in range(mapped_indices[-1] + 1, global_shape[0]): + new_indptr.append(csr_indptr[-1]) + matrix.indptr = numpy.array(new_indptr) + matrix._shape = global_shape + return matrix diff --git a/sourced/ml/algorithms/id_splitter/README.md b/sourced/ml/algorithms/id_splitter/README.md new file mode 100644 index 0000000..695225b --- /dev/null +++ b/sourced/ml/algorithms/id_splitter/README.md @@ -0,0 +1,128 @@ +# Neural Identifier Splitter +Article [Splitting source code identifiers using Bidirectional LSTM Recurrent Neural Network](https://arxiv.org/abs/1805.11651). + +### Agenda +* Data +* Training pipeline +* How to launch + +### Data +You can download the dataset [here](https://drive.google.com/open?id=1wZR5zF1GL1fVcA1gZuAN_9rSLd5ssqKV). More information about the dataset is available [here](https://github.com/src-d/datasets/tree/master/Identifiers). +#### Data format +* format of file: `.csv.gz`. +* the `csv` structure: + +|num_files|num_occ|num_repos|token|token_split| +|:--|:--|:--|:--|:--| +|1|2|1|quesesSet|queses set| +|...|...|...|...|...| + +#### Data stats +* 49 millions of identifiers +* 1 GB + +### Training pipeline +Training pipeline consists of several steps +* [prepare features](https://github.com/src-d/ml/blob/master/sourced/ml/algorithms/id_splitter/features.py#L44-#L118) - read data, extract features, train/test split +* [prepare generators for keras](https://github.com/src-d/ml/blob/master/sourced/ml/cmd/train_id_split.py#L34-#L48) +* [prepare model - RNN or CNN](https://github.com/src-d/ml/blob/master/sourced/ml/cmd/train_id_split.py#L53-#L76) +* [training](https://github.com/src-d/ml/blob/master/sourced/ml/cmd/train_id_split.py#L78-#L89) +* [quality report and save the model](https://github.com/src-d/ml/blob/master/sourced/ml/cmd/train_id_split.py#L91-#L96) + +### How to launch +First of all you need to download data using link above. + +Usage: +```console +usage: srcml train-id-split [-h] -i INPUT [-e EPOCHS] [-b BATCH_SIZE] + [-l LENGTH] -o OUTPUT [-t TEST_RATIO] + [-p {pre,post}] [--optimizer {RMSprop,Adam}] + [--lr LR] [--final-lr FINAL_LR] + [--samples-before-report SAMPLES_BEFORE_REPORT] + [--val-batch-size VAL_BATCH_SIZE] [--seed SEED] + [--devices DEVICES] + [--csv-identifier CSV_IDENTIFIER] + [--csv-identifier-split CSV_IDENTIFIER_SPLIT] + [--include-csv-header] --model {RNN,CNN} + [-s STACK] + [--type-cell {GRU,LSTM,CuDNNLSTM,CuDNNGRU}] + [-n NEURONS] [-f FILTERS] [-k KERNEL_SIZES] + [--dim-reduction DIM_REDUCTION] + +optional arguments: + -h, --help show this help message and exit + -i INPUT, --input INPUT + Path to the input data in CSV + format:num_files,num_occ,num_repos,token,token_split + -e EPOCHS, --epochs EPOCHS + Number of training epochs. The more the betterbut the + training time is proportional. (default: 10) + -b BATCH_SIZE, --batch-size BATCH_SIZE + Batch size. Higher values better utilize GPUsbut may + harm the convergence. (default: 500) + -l LENGTH, --length LENGTH + RNN sequence length. (default: 40) + -o OUTPUT, --output OUTPUT + Path to store the trained model. + -t TEST_RATIO, --test-ratio TEST_RATIO + Fraction of the dataset to use for evaluation. + (default: 0.2) + -p {pre,post}, --padding {pre,post} + Whether to pad before or after each sequence. + (default: post) + --optimizer {RMSprop,Adam} + Algorithm to use as an optimizer for the neural net. + (default: Adam) + --lr LR Initial learning rate. (default: 0.001) + --final-lr FINAL_LR Final learning rate. The decrease from the initial + learning rate is done linearly. (default: 1e-05) + --samples-before-report SAMPLES_BEFORE_REPORT + Number of samples between each validation reportand + training updates. (default: 5000000) + --val-batch-size VAL_BATCH_SIZE + Batch size for validation.It can be increased to speed + up the pipeline butit proportionally increases the + memory consumption. (default: 2000) + --seed SEED Random seed. (default: 1989) + --devices DEVICES Device(s) to use. '-1' means CPU. (default: 0) + --csv-identifier CSV_IDENTIFIER + Column name in the CSV file for the raw identifier. + (default: 3) + --csv-identifier-split CSV_IDENTIFIER_SPLIT + Column name in the CSV file for the splitidentifier. + (default: 4) + --include-csv-header Treat the first line of the input CSV as a + regularline. (default: False) + --model {RNN,CNN} Neural Network model to use to learn the + identifiersplitting task. + -s STACK, --stack STACK + Number of layers stacked on each other. (default: 2) + --type-cell {GRU,LSTM,CuDNNLSTM,CuDNNGRU} + Recurrent layer type to use. (default: LSTM) + -n NEURONS, --neurons NEURONS + Number of neurons on each layer. (default: 256) + -f FILTERS, --filters FILTERS + Number of filters for each kernel size. (default: + 64,32,16,8) + -k KERNEL_SIZES, --kernel-sizes KERNEL_SIZES + Sizes for sliding windows. (default: 2,4,8,16) + --dim-reduction DIM_REDUCTION + Number of 1-d kernels to reduce dimensionalityafter + each layer. (default: 32) +``` + + +Examples of commands: +1) Train RNN with LSTM cells +```console +srcml train-id-split --model RNN --input /path/to/input.csv.gz --output /path/to/output +``` +2) Train RNN with CuDNNLSTM cells +```console +srcml train-id-split --model RNN --input /path/to/input.csv.gz --output /path/to/output \ +--type-cell CuDNNLSTM +``` +3) Train CNN +```console +srcml train-id-split --model CNN --input /path/to/input.csv.gz --output /path/to/output +``` diff --git a/sourced/ml/algorithms/id_splitter/__init__.py b/sourced/ml/algorithms/id_splitter/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/sourced/ml/algorithms/id_splitter/features.py b/sourced/ml/algorithms/id_splitter/features.py new file mode 100644 index 0000000..0333dd8 --- /dev/null +++ b/sourced/ml/algorithms/id_splitter/features.py @@ -0,0 +1,118 @@ +import logging +import string +import tarfile +from typing import List, Tuple + +from modelforge.progress_bar import progress_bar +import numpy + + +def read_identifiers(csv_path: str, use_header: bool, max_identifier_len: int, identifier_col: int, + split_identifier_col: int, shuffle: bool = True) -> List[str]: + """ + Reads and filters too long identifiers in the CSV file. + + :param csv_path: path to the CSV file. + :param use_header: uses header as normal line (True) or treat as header line with column names. + :param max_identifier_len: maximum length of raw identifiers. Skip identifiers that are longer. + :param identifier_col: column name in the CSV file for the raw identifier. + :param split_identifier_col: column name in the CSV file for the split identifier lowercase. + :param shuffle: indicates whether to reorder the list of identifiers + at random after reading it. + :return: list of split identifiers. + """ + log = logging.getLogger("read_identifiers") + log.info("Reading data from the CSV file %s", csv_path) + identifiers = [] + # TODO: Update dataset loading as soon as https://github.com/src-d/backlog/issues/1212 done + # Think about dataset download step + with tarfile.open(csv_path, encoding="utf-8") as f: + assert len(f.members) == 1, "One archived file is expected, got: %s" % len(f.members) + content = f.extractfile(f.members[0]) + if not use_header: + content.readline() + for line in progress_bar(content.readlines(), log): + row = line.decode("utf-8").strip().split(",") + if len(row[identifier_col]) <= max_identifier_len: + identifiers.append(row[split_identifier_col]) + if shuffle: + numpy.random.shuffle(identifiers) + log.info("Number of identifiers after filtering: %s." % len(identifiers)) + return identifiers + + +def prepare_features(csv_path: str, use_header: bool, max_identifier_len: int, + identifier_col: int, split_identifier_col: int, test_ratio: float, + padding: str, shuffle: bool = True) -> Tuple[numpy.array]: + """ + Prepare the features to train the identifier splitting task. + + :param csv_path: path to the CSV file. + :param use_header: uses header as normal line (True) or treat as header line with column names. + :param max_identifier_len: maximum length of raw identifiers. Skip identifiers that are longer. + :param identifier_col: column in the CSV file for the raw identifier. + :param split_identifier_col: column in the CSV file for the split identifier. + :param shuffle: indicates whether to reorder the list of identifiers + at random after reading it. + :param test_ratio: Proportion of test samples used for evaluation. + :param padding: position where to add padding values: + after the intput sequence if "post", before if "pre". + :return: training and testing features to train the neural net for the splitting task. + """ + from keras.preprocessing.sequence import pad_sequences + log = logging.getLogger("prepare_features") + + # read data from the input file + identifiers = read_identifiers(csv_path=csv_path, use_header=use_header, + max_identifier_len=max_identifier_len, + identifier_col=identifier_col, + split_identifier_col=split_identifier_col, shuffle=shuffle) + + log.info("Converting identifiers to character indices") + log.info("Number of identifiers: %d, Average length: %d characters" % + (len(identifiers), numpy.mean([len(i) for i in identifiers]))) + + char2ind = {c: i + 1 for i, c in enumerate(sorted(string.ascii_lowercase))} + + char_id_seq = [] + splits = [] + for identifier in identifiers: + # iterate through the identifier and convert to array of char indices & boolean split array + index_arr = [] + split_arr = [] + skip_char = False + for char in identifier.strip(): + if char in char2ind: + index_arr.append(char2ind[char]) + if skip_char: + skip_char = False + continue + split_arr.append(0) + elif char == " ": + split_arr.append(1) + skip_char = True + else: + log.warning("Unexpected symbol %s in identifier", char) + assert len(index_arr) == len(split_arr) + char_id_seq.append(index_arr) + splits.append(split_arr) + + log.info("Number of subtokens: %d, Number of distinct characters: %d" % + (sum(sum(split_arr) for split_arr in splits) + len(identifiers), + len({i for index_arr in char_id_seq for i in index_arr}))) + + log.info("Train/test splitting...") + n_train = int((1 - test_ratio) * len(char_id_seq)) + X_train = char_id_seq[:n_train] + X_test = char_id_seq[n_train:] + y_train = splits[:n_train] + y_test = splits[n_train:] + log.info("Number of train samples: %s, number of test samples: %s" % (len(X_train), + len(X_test))) + log.info("Padding the sequences...") + X_train = pad_sequences(X_train, maxlen=max_identifier_len, padding=padding) + X_test = pad_sequences(X_test, maxlen=max_identifier_len, padding=padding) + y_train = pad_sequences(y_train, maxlen=max_identifier_len, padding=padding) + y_test = pad_sequences(y_test, maxlen=max_identifier_len, padding=padding) + + return X_train, X_test, y_train[:, :, None], y_test[:, :, None] diff --git a/sourced/ml/algorithms/id_splitter/nn_model.py b/sourced/ml/algorithms/id_splitter/nn_model.py new file mode 100644 index 0000000..e917493 --- /dev/null +++ b/sourced/ml/algorithms/id_splitter/nn_model.py @@ -0,0 +1,243 @@ +import string +from typing import Callable, List, Tuple, Union +import warnings + +import keras +from keras import backend as kbackend +from keras.layers import ( + BatchNormalization, Concatenate, Conv1D, Dense, Embedding, Input, TimeDistributed) +from keras.models import Model +import numpy +try: + import tensorflow as tf +except ImportError: + warnings.warn("Tensorflow is not installed, dependent functionality is unavailable.") + + +LOSS = "binary_crossentropy" +METRICS = ["accuracy"] +# Number of unique characters and dimension of the embedding layer +NUM_CHARS = len(string.ascii_lowercase) + + +def register_metric(metric: Union[str, Callable]) -> Union[str, Callable]: + """ + Decorator function to register the metrics in the METRICS constant. + + :param metric: name of the tensorflow metric or custom function metric. + :return: the metric. + """ + assert isinstance(metric, str) or callable(metric) + METRICS.append(metric) + return metric + + +def prepare_devices(devices: str) -> Tuple[str]: + """ + Extract devices from arguments. + + :param devices: devices to use passed as one string argument. + :return: split devices. + """ + devices = devices.split(",") + if len(devices) == 2: + dev0, dev1 = ("/gpu:" + dev for dev in devices) + elif len(devices) == 1: + if int(devices[0]) != -1: + dev0 = dev1 = "/gpu:" + devices[0] + else: + dev0 = dev1 = "/cpu:0" + else: + raise ValueError("Expected 1 or 2 devices but got %d from the devices argument %s" % + (len(devices), devices)) + return dev0, dev1 + + +def prepare_input_emb(maxlen: int) -> Tuple[tf.Tensor]: + """ + Builds character embeddings, a dense representation of characters to feed the RNN with. + + :param maxlen: maximum length of the input sequence. + :return: input and one-hot character embedding layer. + """ + char_seq = Input((maxlen,)) + emb = Embedding(input_dim=NUM_CHARS + 1, output_dim=NUM_CHARS + 1, input_length=maxlen, + mask_zero=False, weights=[numpy.eye(NUM_CHARS + 1)], trainable=False)(char_seq) + return char_seq, emb + + +def add_output_layer(hidden_layer: tf.Tensor) -> keras.layers.wrappers.TimeDistributed: + """ + Applies a Dense layer to each of the timestamps of a hidden layer, independently. + The output layer has 1 sigmoid per character which predicts if there is a space or not + before the character. + + :param hidden_layer: hidden layer before the output layer. + :return: output layer. + """ + norm_input = BatchNormalization()(hidden_layer) + return TimeDistributed(Dense(1, activation="sigmoid"))(norm_input) + + +def add_rnn(X: tf.Tensor, units: int, rnn_layer: str, dev0: str = "/gpu:0", + dev1: str = "/gpu:1") -> tf.Tensor: + """ + Adds a bidirectional RNN layer with the specified parameters. + + :param X: input layer. + :param units: number of neurons in the output layer. + :param rnn_layer: type of cell in the RNN. + :param dev0: device that will be used as forward pass of RNN and concatenation. + :param dev1: device that will be used as backward pass. + :return: output bidirectional RNN layer. + """ + # select the type of RNN layer + rnn_layer = getattr(keras.layers, rnn_layer) + + # add the forward & backward RNN + with tf.device(dev0): + forward = rnn_layer(units=units, return_sequences=True)(X) + with tf.device(dev1): + backward = rnn_layer(units=units, return_sequences=True, go_backwards=True)(X) + + # concatenate + with tf.device(dev1): + bidi = Concatenate(axis=-1)([forward, backward]) + return bidi + + +def build_rnn(maxlen: int, units: int, stack: int, optimizer: str, dev0: str, + dev1: str, rnn_layer: str) -> keras.engine.training.Model: + """ + Builds a RNN model with the parameters specified as arguments. + + :param maxlen: maximum length of the input sequence. + :param units: number of neurons or dimensionality of the output RNN. + :param stack: number of RNN layers to stack. + :param optimizer: algorithm to use as an optimizer for the RNN. + :param rnn_layer: recurrent layer type to use. + :param dev0: first device to use when running specific operations. + :param dev1: second device to use when running specific operations. + :return: compiled RNN model. + """ + # prepare the model + with tf.device(dev0): + char_seq, hidden_layer = prepare_input_emb(maxlen) + + # stack the BiDi-RNN layers + for _ in range(stack): + hidden_layer = add_rnn(hidden_layer, units=units, rnn_layer=rnn_layer, + dev0=dev0, dev1=dev1) + output = add_output_layer(hidden_layer) + + # compile the model + model = Model(inputs=char_seq, outputs=output) + model.compile(optimizer=optimizer, loss=LOSS, metrics=METRICS) + return model + + +def add_conv(X: tf.Tensor, filters: List[int], kernel_sizes: List[int], + output_n_filters: int) -> tf.Tensor: + """ + Builds a single convolutional layer. + + :param X: input layer. + :param filters: number of output filters in the convolution. + :param kernel_sizes: list of lengths of the 1D convolution window. + :param output_n_filters: number of 1D output filters. + :return: output layer. + """ + # normalize the input + X = BatchNormalization()(X) + + # add convolutions + convs = [] + + for n_filters, kernel_size in zip(filters, kernel_sizes): + conv = Conv1D(filters=n_filters, kernel_size=kernel_size, padding="same", + activation="relu") + convs.append(conv(X)) + + # concatenate all convolutions + conc = Concatenate(axis=-1)(convs) + conc = BatchNormalization()(conc) + + # dimensionality reduction + conv = Conv1D(filters=output_n_filters, kernel_size=1, padding="same", activation="relu") + return conv(conc) + + +def build_cnn(maxlen: int, filters: List[int], output_n_filters: int, stack: int, + kernel_sizes: List[int], optimizer: str, device: str) -> keras.engine.training.Model: + """ + Builds a CNN model with the parameters specified as arguments. + + :param maxlen: maximum length of the input sequence. + :param filters: number of output filters in the convolution. + :param output_n_filters: number of 1d output filters. + :param stack: number of CNN layers to stack. + :param kernel_sizes: list of lengths of the 1D convolution window. + :param optimizer: algorithm to use as an optimizer for the CNN. + :param device: device to use when running specific operations. + :return: compiled CNN model. + """ + # prepare the model + with tf.device(device): + char_seq, hidden_layer = prepare_input_emb(maxlen) + + # stack the CNN layers + for _ in range(stack): + hidden_layer = add_conv(hidden_layer, filters=filters, kernel_sizes=kernel_sizes, + output_n_filters=output_n_filters) + output = add_output_layer(hidden_layer) + + # compile the model + model = Model(inputs=char_seq, outputs=output) + model.compile(optimizer=optimizer, loss=LOSS, metrics=METRICS) + return model + + +@register_metric +def precision(y_true: tf.Tensor, y_pred: tf.Tensor) -> tf.Tensor: + """ + Computes the precision, a metric for multi-label classification of + how many selected items are relevant. + + :param y_true: tensor of true labels. + :param y_pred: tensor of predicted labels. + :return: a tensor batch-wise average of precision. + """ + true_positives = kbackend.sum(kbackend.round(kbackend.clip(y_true * y_pred, 0, 1))) + predicted_positives = kbackend.sum(kbackend.round(kbackend.clip(y_pred, 0, 1))) + precision = true_positives / (predicted_positives + kbackend.epsilon()) + return precision + + +@register_metric +def recall(y_true: tf.Tensor, y_pred: tf.Tensor) -> tf.Tensor: + """ + Computes the recall, a metric for multi-label classification of + how many relevant items are selected. + + :param y_true: tensor of true labels. + :param y_pred: tensor of predicted labels. + :return: a tensor batch-wise average of recall. + """ + true_positives = kbackend.sum(kbackend.round(kbackend.clip(y_true * y_pred, 0, 1))) + possible_positives = kbackend.sum(kbackend.round(kbackend.clip(y_true, 0, 1))) + recall = true_positives / (possible_positives + kbackend.epsilon()) + return recall + + +@register_metric +def f1score(y_true: tf.Tensor, y_pred: tf.Tensor) -> tf.Tensor: + """ + Computes the F1 score, the harmonic average of precision and recall. + + :param y_true: tensor of true labels. + :param y_pred: tensor of predicted labels. + :return: a tensor batch-wise average of F1 score. + """ + prec = precision(y_true, y_pred) + rec = recall(y_true, y_pred) + return 2 * prec * rec / (prec + rec + kbackend.epsilon()) diff --git a/sourced/ml/algorithms/id_splitter/pipeline.py b/sourced/ml/algorithms/id_splitter/pipeline.py new file mode 100644 index 0000000..debe27a --- /dev/null +++ b/sourced/ml/algorithms/id_splitter/pipeline.py @@ -0,0 +1,222 @@ +from datetime import datetime +import logging +import os +import random +from typing import Callable, Iterable, List, Tuple +import warnings + +import keras +from keras import backend as kbackend +from keras.callbacks import CSVLogger, LearningRateScheduler, ModelCheckpoint, TensorBoard +import numpy +try: + import tensorflow as tf +except ImportError: + warnings.warn("Tensorflow is not installed, dependent functionality is unavailable.") + + +# additional variable to avoid any division by zero when computing the precision and recall metrics +EPSILON = 10 ** -8 +# threshold that is used to binarize predictions of the model +DEFAULT_THRESHOLD = 0.5 + + +def set_random_seed(seed: int) -> None: + """ + Fixes a random seed for reproducibility. + + :param seed: seed value. + """ + numpy.random.seed(seed) + random.seed(seed) + tf.set_random_seed(seed) + + +def binarize(matrix: numpy.array, threshold: float, inplace: bool = True) -> numpy.array: + """ + Helper function to binarize a matrix. + + :param matrix: matrix as a numpy.array. + :param threshold: if value >= threshold then the value will be 1, else 0. + :param inplace: whether to modify the matrix inplace or not. + :return: the binarized matrix. + """ + mask = matrix >= threshold + if inplace: + matrix_ = matrix + else: + matrix_ = matrix.copy() + matrix_[mask] = 1 + matrix_[numpy.logical_not(mask)] = 0 + return matrix_ + + +def str2ints(params: str) -> List[int]: + """ + Convert a string with integer parameters to a list of integers. + + :param params: string that contains integer parameters separated by commas. + :return: list of integers. + """ + return list(map(int, params.split(","))) + + +def precision_np(y_true: numpy.array, y_pred: numpy.array, epsilon: float = EPSILON) -> float: + """ + Computes the precision metric, a metric for multi-label classification of + how many selected items are relevant. + + :param y_true: ground truth labels - expect binary values. + :param y_pred: predicted labels - expect binary values. + :param epsilon: added to the denominator to avoid any division by zero. + :return: precision metric. + """ + true_positives = numpy.sum(y_true * y_pred) + predicted_positives = numpy.sum(y_pred) + return true_positives / (predicted_positives + epsilon) + + +def recall_np(y_true: numpy.array, y_pred: numpy.array, epsilon: float = EPSILON) -> float: + """ + Computes the recall metric, a metric for multi-label classification of + how many relevant items are selected. + + :param y_true: matrix with ground truth labels - expect binary values. + :param y_pred: matrix with predicted labels - expect binary values. + :param epsilon: added to the denominator to avoid any division by zero. + :return: recall metric. + """ + true_positives = numpy.sum(y_true * y_pred) + possible_positives = numpy.sum(y_true) + return true_positives / (possible_positives + epsilon) + + +def report(model: keras.engine.training.Model, X: numpy.array, y: numpy.array, batch_size: int, + threshold: float = DEFAULT_THRESHOLD, epsilon: float = EPSILON) -> None: + """ + Prints a metric report of the `model` on the data `X` & `y`. + The metrics printed are precision, recall, F1 score. + + :param model: model considered. + :param X: features. + :param y: labels (expected binary labels). + :param batch_size: batch size that will be used for prediction. + :param threshold: threshold to binarize the predictions. + :param epsilon: added to the denominator to avoid any division by zero. + """ + log = logging.getLogger("report") + + # predict & skip the last dimension & binarize + predictions = model.predict(X, batch_size=batch_size, verbose=1)[:, :, 0] + predictions = binarize(predictions, threshold) + + # report + pr = precision_np(y[:, :, 0], predictions, epsilon=epsilon) + rec = recall_np(y[:, :, 0], predictions, epsilon=epsilon) + f1 = 2 * pr * rec / (pr + rec + epsilon) + log.info("precision: %.3f, recall: %.3f, f1: %.3f" % (pr, rec, f1)) + + +def config_keras() -> None: + """ + Initializes keras backend session. + """ + config = tf.ConfigProto() + config.gpu_options.allow_growth = True + kbackend.tensorflow_backend.set_session(tf.Session(config=config)) + + +def build_train_generator(X: numpy.array, y: numpy.array, + batch_size: int = 500) -> Iterable[Tuple[numpy.array]]: + """ + Builds the generator that yields features and their labels. + + :param X: features. + :param y: binary labels. + :param batch_size: higher values better utilize GPUs. + :return: generator of features and their labels. + """ + assert X.shape[0] == y.shape[0], "Number of samples mismatch in X and y." + + def xy_generator(): + while True: + n_batches = X.shape[0] // batch_size + if n_batches * batch_size < X.shape[0]: + n_batches += 1 # to yield last samples + for i in range(n_batches): + start = i * batch_size + end = min((i + 1) * batch_size, X.shape[0]) + yield X[start:end], y[start:end] + return xy_generator() + + +def build_schedule(lr: float, final_lr: float, n_epochs: int) -> Callable: + """ + Builds the schedule of which the learning rate decreases. + The schedule makes the learning rate decrease linearly. + + :param lr: initial learning rate. + :param final_lr: final learning rate. + :param n_epochs: number of training epochs. + :return: the schedule of the learning rate. + """ + delta = (lr - final_lr) / n_epochs + + def schedule(epoch: int) -> float: + assert 0 <= epoch < n_epochs + return lr - delta * epoch + return schedule + + +def make_lr_scheduler(lr: float, final_lr: float, n_epochs: int, + verbose: int = 1) -> keras.callbacks.LearningRateScheduler: + """ + Prepares the scheduler to decrease the learning rate while training. + + :param lr: initial learning rate. + :param final_lr: final learning rate. + :param n_epochs: number of training epochs. + :param verbose: level of verbosity. + :return: LearningRateScheduler with linear schedule of the learning rate. + """ + schedule = build_schedule(lr, final_lr, n_epochs) + return LearningRateScheduler(schedule=schedule, verbose=verbose) + + +def prepare_callbacks(output_dir: str) -> Tuple[Callable]: + """ + Prepares logging, tensorboard, model checkpoint callbacks and stores the outputs in output_dir. + + :param output_dir: path to the results. + :return: list of callbacks. + """ + time = datetime.now().strftime("%y%m%d-%H%M") + log_dir = os.path.join(output_dir, "tensorboard" + time) + logging.info("Tensorboard directory: %s" % log_dir) + tensorboard = TensorBoard(log_dir=log_dir, batch_size=1000, write_images=True, + write_graph=True) + csv_path = os.path.join(output_dir, "csv_logger_" + time + ".txt") + logging.info("CSV logs: %s" % csv_path) + csv_logger = CSVLogger(csv_path) + + filepath = os.path.join(output_dir, "best_" + time + ".model") + model_saver = ModelCheckpoint(filepath, monitor="val_recall", verbose=1, save_best_only=True, + mode="max") + return tensorboard, csv_logger, model_saver + + +def create_generator_params(batch_size: int, samples_per_epoch: int, n_samples: int, + epochs: int) -> Tuple[int]: + """ + Helper function to split a huge dataset into smaller ones to enable more frequent reports. + + :param batch_size: batch size. + :param samples_per_epoch: number of samples per mini-epoch or before each report. + :param n_samples: total number of samples. + :param epochs: number of epochs over the full dataset. + :return: number of steps per epoch (should be used with the generator) and number of sub-epochs + where during sub-epoch only samples_per_epoch will be generated. + """ + steps_per_epoch = samples_per_epoch // batch_size + n_epochs = numpy.ceil(epochs * n_samples / samples_per_epoch) + return steps_per_epoch, n_epochs diff --git a/sourced/ml/algorithms/swivel.py b/sourced/ml/algorithms/swivel.py new file mode 100644 index 0000000..bfd126f --- /dev/null +++ b/sourced/ml/algorithms/swivel.py @@ -0,0 +1,491 @@ +#!/usr/bin/env python3 +# +# Copyright 2016 Google Inc. All Rights Reserved. +# Copyright 2017 Sourced Technologies S. L. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Submatrix-wise Vector Embedding Learner. + +Implementation of SwiVel algorithm described at: +http://arxiv.org/abs/1602.02215 + +This program expects an input directory that contains the following files. + + row_vocab.txt, col_vocab.txt + + The row an column vocabulary files. Each file should contain one token per + line; these will be used to generate a tab-separate file containing the + trained embeddings. + + row_sums.txt, col_sum.txt + + The matrix row and column marginal sums. Each file should contain one + decimal floating point number per line which corresponds to the marginal + count of the matrix for that row or column. + + shards.recs + + A file containing the sub-matrix shards, stored as TFRecords. Each shard is + expected to be a serialzed tf.Example protocol buffer with the following + properties: + + global_row: the global row indices contained in the shard + global_col: the global column indices contained in the shard + sparse_local_row, sparse_local_col, sparse_value: three parallel arrays + that are a sparse representation of the submatrix counts. + +It will generate embeddings, training from the input directory for +the specified number of epochs. When complete, it will output the trained +vectors to a tab-separated file that contains one line per embedding. Row and +column embeddings are stored in separate files. + +""" + +import glob +import math +import os +import threading +import time + +import numpy +import tensorflow as tf +from tensorflow.python.client import device_lib + +flags = tf.app.flags + +flags.DEFINE_string("input_base_path", None, + "Directory containing input shards, vocabularies, " + "and marginals.") +flags.DEFINE_string("output_base_path", None, + "Path where to write the trained embeddings.") +flags.DEFINE_integer("embedding_size", 300, "Size of the embeddings") +flags.DEFINE_boolean("trainable_bias", False, "Biases are trainable") +flags.DEFINE_integer("submatrix_rows", 4096, + "Rows in each training submatrix. This must match " + "the training data.") +flags.DEFINE_integer("submatrix_cols", 4096, + "Rows in each training submatrix. This must match " + "the training data.") +flags.DEFINE_float("loss_multiplier", 1.0 / 4096, + "constant multiplier on loss.") +flags.DEFINE_float("confidence_exponent", 0.5, + "Exponent for l2 confidence function") +flags.DEFINE_float("confidence_scale", 0.25, + "Scale for l2 confidence function") +flags.DEFINE_float("confidence_base", 0.1, "Base for l2 confidence function") +flags.DEFINE_float("learning_rate", 1.0, "Initial learning rate") +flags.DEFINE_string("optimizer", "Adagrad", + "SGD optimizer (tf.train.*Optimizer)") +flags.DEFINE_integer("num_concurrent_steps", 2, + "Number of threads to train with") +flags.DEFINE_integer("num_readers", 4, + "Number of threads to read the input data and feed it") +flags.DEFINE_float("num_epochs", 40, "Number epochs to train for") +flags.DEFINE_float("per_process_gpu_memory_fraction", 0, + "Fraction of GPU memory to use, 0 means allow_growth") +flags.DEFINE_integer("num_gpus", 0, + "Number of GPUs to use, 0 means all available") +flags.DEFINE_string("logs", "", + "Path for TensorBoard logs (empty value disables them)") + +FLAGS = flags.FLAGS + + +def log(message, *args, **kwargs): + tf.logging.info(message, *args, **kwargs) + + +def get_available_gpus(): + return [d.name for d in device_lib.list_local_devices() + if d.device_type == "GPU"] + + +def embeddings_with_init(vocab_size, embedding_dim, name): + """Creates and initializes the embedding tensors.""" + return tf.get_variable(name=name, + shape=[vocab_size, embedding_dim], + initializer=tf.random_normal_initializer( + stddev=math.sqrt(1.0 / embedding_dim))) + + +def count_matrix_input(filenames, submatrix_rows, submatrix_cols): + """Reads submatrix shards from disk.""" + filename_queue = tf.train.string_input_producer(filenames) + reader = tf.WholeFileReader() + _, serialized_example = reader.read(filename_queue) + features = tf.parse_single_example( + serialized_example, + features={ + "global_row": tf.FixedLenFeature([submatrix_rows], dtype=tf.int64), + "global_col": tf.FixedLenFeature([submatrix_cols], dtype=tf.int64), + "sparse_local_row": tf.VarLenFeature(dtype=tf.int64), + "sparse_local_col": tf.VarLenFeature(dtype=tf.int64), + "sparse_value": tf.VarLenFeature(dtype=tf.float32) + }) + + global_row = features["global_row"] + global_col = features["global_col"] + + sparse_local_row = features["sparse_local_row"].values + sparse_local_col = features["sparse_local_col"].values + sparse_count = features["sparse_value"].values + + sparse_indices = tf.concat(axis=1, values=[tf.expand_dims(sparse_local_row, 1), + tf.expand_dims(sparse_local_col, 1)]) + count = tf.sparse_to_dense(sparse_indices, [submatrix_rows, submatrix_cols], + sparse_count, validate_indices=False) + + queued_global_row, queued_global_col, queued_count = tf.train.batch( + [global_row, global_col, count], + batch_size=1, + num_threads=FLAGS.num_readers, + capacity=32) + + queued_global_row = tf.reshape(queued_global_row, [submatrix_rows]) + queued_global_col = tf.reshape(queued_global_col, [submatrix_cols]) + queued_count = tf.reshape(queued_count, [submatrix_rows, submatrix_cols]) + + return queued_global_row, queued_global_col, queued_count + + +def read_marginals_file(filename): + """Reads text file with one number per line to an array.""" + with open(filename) as lines: + return [float(line) for line in lines] + + +def write_embedding_tensor_to_disk(vocab_path, output_path, sess, embedding): + """Writes tensor to output_path as tsv""" + # Fetch the embedding values from the model + embeddings = sess.run(embedding) + + with open(output_path, "w") as out_f: + with open(vocab_path) as vocab_f: + for index, word in enumerate(vocab_f): + word = word.strip() + embedding = embeddings[index] + out_f.write(word + "\t" + "\t".join( + [str(x) for x in embedding]) + "\n") + + +def write_embeddings_to_disk(config, model, sess): + """Writes row and column embeddings disk""" + # Row Embedding + row_vocab_path = config.input_base_path + "/row_vocab.txt" + row_embedding_output_path = config.output_base_path + "/row_embedding.tsv" + log("Writing row embeddings to: %s", row_embedding_output_path) + write_embedding_tensor_to_disk(row_vocab_path, row_embedding_output_path, + sess, model.row_embedding) + + # Column Embedding + col_vocab_path = config.input_base_path + "/col_vocab.txt" + col_embedding_output_path = config.output_base_path + "/col_embedding.tsv" + log("Writing column embeddings to: %s", col_embedding_output_path) + write_embedding_tensor_to_disk(col_vocab_path, col_embedding_output_path, + sess, model.col_embedding) + + +class SwivelModel: + """Small class to gather needed pieces from a Graph being built.""" + + def __init__(self, config): + """Construct graph for dmc.""" + self._config = config + + # Create paths to input data files + log("Reading model from: %s", config.input_base_path) + count_matrix_files = glob.glob(os.path.join(config.input_base_path, "shard-*.pb")) + row_sums_path = os.path.join(config.input_base_path, "row_sums.txt") + col_sums_path = os.path.join(config.input_base_path, "col_sums.txt") + + # Read marginals + row_sums = read_marginals_file(row_sums_path) + col_sums = read_marginals_file(col_sums_path) + + self.n_rows = len(row_sums) + self.n_cols = len(col_sums) + log("Matrix dim: (%d,%d) SubMatrix dim: (%d,%d)", + self.n_rows, self.n_cols, config.submatrix_rows, + config.submatrix_cols) + if self.n_cols < config.submatrix_cols: + raise ValueError( + "submatrix_cols={0} can not be bigger than columns number={1} " + "(specify submatrix_cols={1})".format(config.submatrix_cols, self.n_cols)) + if self.n_rows < config.submatrix_rows: + raise ValueError( + "submatrix_rows={0} can not be bigger than rows number={1} " + "(specify submatrix_rows={1})".format(config.submatrix_rows, self.n_cols)) + self.n_submatrices = (self.n_rows * self.n_cols / + (config.submatrix_rows * config.submatrix_cols)) + log("n_submatrices: %d", self.n_submatrices) + + with tf.device("/cpu:0"): + # ===== CREATE VARIABLES ====== + # Get input + global_row, global_col, count = count_matrix_input( + count_matrix_files, config.submatrix_rows, + config.submatrix_cols) + + # Embeddings + self.row_embedding = embeddings_with_init( + embedding_dim=config.embedding_size, + vocab_size=self.n_rows, + name="row_embedding") + self.col_embedding = embeddings_with_init( + embedding_dim=config.embedding_size, + vocab_size=self.n_cols, + name="col_embedding") + tf.summary.histogram("row_emb", self.row_embedding) + tf.summary.histogram("col_emb", self.col_embedding) + + matrix_log_sum = math.log(numpy.sum(row_sums) + 1) + row_bias_init = [math.log(x + 1) for x in row_sums] + col_bias_init = [math.log(x + 1) for x in col_sums] + self.row_bias = tf.Variable( + row_bias_init, trainable=config.trainable_bias) + self.col_bias = tf.Variable( + col_bias_init, trainable=config.trainable_bias) + tf.summary.histogram("row_bias", self.row_bias) + tf.summary.histogram("col_bias", self.col_bias) + + # Add optimizer + l2_losses = [] + sigmoid_losses = [] + self.global_step = tf.Variable(0, name="global_step") + learning_rate = tf.Variable(config.learning_rate, + name="learning_rate") + opt = getattr(tf.train, FLAGS.optimizer + "Optimizer")( + learning_rate) + tf.summary.scalar("learning_rate", learning_rate) + + all_grads = [] + + devices = ["/gpu:%d" % i for i in range(FLAGS.num_gpus)] \ + if FLAGS.num_gpus > 0 else get_available_gpus() + self.devices_number = len(devices) + if not self.devices_number: + devices = ["/cpu:0"] + self.devices_number = 1 + for dev in devices: + with tf.device(dev): + with tf.name_scope(dev[1:].replace(":", "_")): + # ===== CREATE GRAPH ===== + # Fetch embeddings. + selected_row_embedding = tf.nn.embedding_lookup( + self.row_embedding, global_row) + selected_col_embedding = tf.nn.embedding_lookup( + self.col_embedding, global_col) + + # Fetch biases. + selected_row_bias = tf.nn.embedding_lookup( + [self.row_bias], global_row) + selected_col_bias = tf.nn.embedding_lookup( + [self.col_bias], global_col) + + # Multiply the row and column embeddings to generate + # predictions. + predictions = tf.matmul( + selected_row_embedding, selected_col_embedding, + transpose_b=True) + + # These binary masks separate zero from non-zero values. + count_is_nonzero = tf.to_float(tf.cast(count, tf.bool)) + count_is_zero = 1 - count_is_nonzero + + objectives = count_is_nonzero * tf.log(count + 1e-30) + objectives -= tf.reshape( + selected_row_bias, [config.submatrix_rows, 1]) + objectives -= selected_col_bias + objectives += matrix_log_sum + + err = predictions - objectives + + # The confidence function scales the L2 loss based on + # the raw co-occurrence count. + l2_confidence = ( + config.confidence_base + + config.confidence_scale * tf.pow( + count, config.confidence_exponent)) + + l2_loss = config.loss_multiplier * tf.reduce_sum( + 0.5 * l2_confidence * err * err * count_is_nonzero) + l2_losses.append(tf.expand_dims(l2_loss, 0)) + + sigmoid_loss = config.loss_multiplier * tf.reduce_sum( + tf.nn.softplus(err) * count_is_zero) + sigmoid_losses.append(tf.expand_dims(sigmoid_loss, 0)) + + loss = l2_loss + sigmoid_loss + grads = opt.compute_gradients(loss) + all_grads.append(grads) + + with tf.device("/cpu:0"): + # ===== MERGE LOSSES ===== + l2_loss = tf.reduce_mean(tf.concat(axis=0, values=l2_losses), 0, + name="l2_loss") + sigmoid_loss = tf.reduce_mean( + tf.concat(axis=0, values=sigmoid_losses), 0, + name="sigmoid_loss") + overall_loss = l2_loss + sigmoid_loss + average = tf.train.ExponentialMovingAverage(0.999) + loss_average_op = average.apply( + (overall_loss, l2_loss, sigmoid_loss)) + self.loss = average.average(overall_loss) + tf.summary.scalar("overall_loss", self.loss) + tf.summary.scalar("l2_loss", average.average(l2_loss)) + tf.summary.scalar("sigmoid_loss", average.average(sigmoid_loss)) + + # Apply the gradients to adjust the shared variables. + apply_gradient_ops = [] + for grads in all_grads: + apply_gradient_ops.append(opt.apply_gradients( + grads, global_step=self.global_step)) + + self.train_op = tf.group(loss_average_op, *apply_gradient_ops) + self.saver = tf.train.Saver(sharded=True) + + def initialize_summary(self, sess): + log("creating TensorBoard stuff...") + self.summary = tf.summary.merge_all() + self.writer = tf.summary.FileWriter(FLAGS.logs, sess.graph) + projector_config = \ + tf.contrib.tensorboard.plugins.projector.ProjectorConfig() + embedding_config = projector_config.embeddings.add() + length = min(10000, self.n_rows, self.n_cols) + self.embedding10k = tf.Variable( + tf.zeros((length, self._config.embedding_size)), + name="top10k_embedding") + embedding_config.tensor_name = self.embedding10k.name + embedding_config.metadata_path = os.path.join( + self._config.input_base_path, "row_vocab.txt") + tf.contrib.tensorboard.plugins.projector.visualize_embeddings( + self.writer, projector_config) + self.saver = tf.train.Saver((self.embedding10k,), max_to_keep=1) + + def write_summary(self, sess): + log("writing the summary...") + length = min(10000, self.n_rows, self.n_cols) + assignment = self.embedding10k.assign( + (self.row_embedding[:length] + self.col_embedding[:length]) / 2) + summary, _, global_step = sess.run( + (self.summary, assignment, self.global_step)) + self.writer.add_summary(summary, global_step) + self.saver.save( + sess, os.path.join(FLAGS.logs, "embeddings10k.checkpoint"), + global_step) + + +def main(_): + tf.logging.set_verbosity(tf.logging.INFO) + start_time = time.time() + + omitted = {"handler", "command"} + + log("Swivel parameters:\n" + "\n".join( + "\t{:20} {}".format(key, value) for key, value in + sorted(FLAGS.__dict__.items()) if key not in omitted)) + # Create the output path. If this fails, it really ought to fail now. :) + if not os.path.isdir(FLAGS.output_base_path): + os.makedirs(FLAGS.output_base_path) + + # Create and run model + with tf.Graph().as_default(): + log("creating the model...") + model = SwivelModel(FLAGS) + + # Create a session for running Ops on the Graph. + gpu_opts = {} + if FLAGS.per_process_gpu_memory_fraction > 0: + gpu_opts["per_process_gpu_memory_fraction"] = \ + FLAGS.per_process_gpu_memory_fraction + else: + gpu_opts["allow_growth"] = True + gpu_options = tf.GPUOptions(**gpu_opts) + sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) + if FLAGS.logs: + model.initialize_summary(sess) + + # Run the Op to initialize the variables. + log("initializing the variables...") + sess.run(tf.global_variables_initializer()) + + # Start feeding input + log("starting the input threads...") + coord = tf.train.Coordinator() + threads = tf.train.start_queue_runners(sess=sess, coord=coord) + + # Calculate how many steps each thread should run + n_total_steps = int(FLAGS.num_epochs * model.n_rows * model.n_cols) / ( + FLAGS.submatrix_rows * FLAGS.submatrix_cols) + n_steps_per_thread = n_total_steps / ( + FLAGS.num_concurrent_steps * model.devices_number) + n_submatrices_to_train = model.n_submatrices * FLAGS.num_epochs + t0 = [time.time()] + n_steps_between_status_updates = 100 + n_steps_between_summary_updates = 10000 + status_i = [0, 0] + status_lock = threading.Lock() + msg = ("%%%dd/%%d submatrices trained (%%.1f%%%%), " + "%%5.1f submatrices/sec | loss %%f") % \ + len(str(n_submatrices_to_train)) + + def TrainingFn(): + for _ in range(int(n_steps_per_thread)): + _, global_step, loss = sess.run(( + model.train_op, model.global_step, model.loss)) + + show_status = False + update_summary = False + with status_lock: + new_i = global_step // n_steps_between_status_updates + if new_i > status_i[0]: + status_i[0] = new_i + show_status = True + new_i = global_step // n_steps_between_summary_updates + if new_i > status_i[1]: + status_i[1] = new_i + update_summary = True + if show_status: + elapsed = float(time.time() - t0[0]) + log(msg, global_step, n_submatrices_to_train, + 100.0 * global_step / n_submatrices_to_train, + n_steps_between_status_updates / elapsed, loss) + t0[0] = time.time() + if update_summary and FLAGS.logs: + model.write_summary(sess) + + # Start training threads + train_threads = [] + for _ in range(FLAGS.num_concurrent_steps): + t = threading.Thread(target=TrainingFn) + train_threads.append(t) + t.start() + + # Wait for threads to finish. + for t in train_threads: + t.join() + + coord.request_stop() + coord.join(threads) + + # Write out vectors + write_embeddings_to_disk(FLAGS, model, sess) + + # Shutdown + sess.close() + log("Elapsed: %s", time.time() - start_time) + + +if __name__ == "__main__": + tf.app.run() diff --git a/sourced/ml/algorithms/tf_idf.py b/sourced/ml/algorithms/tf_idf.py new file mode 100644 index 0000000..7cbc21a --- /dev/null +++ b/sourced/ml/algorithms/tf_idf.py @@ -0,0 +1,5 @@ +import numpy + + +def log_tf_log_idf(tf, df, ndocs): + return numpy.log(1 + tf) * numpy.log(ndocs / df) diff --git a/sourced/ml/algorithms/token_parser.py b/sourced/ml/algorithms/token_parser.py new file mode 100644 index 0000000..fb26f1f --- /dev/null +++ b/sourced/ml/algorithms/token_parser.py @@ -0,0 +1,135 @@ +import re + +import Stemmer + + +class TokenParser: + """ + Common utilities for splitting and stemming tokens. + """ + NAME_BREAKUP_RE = re.compile(r"[^a-zA-Z]+") #: Regexp to split source code identifiers. + STEM_THRESHOLD = 6 #: We do not stem split parts shorter than or equal to this size. + MAX_TOKEN_LENGTH = 256 #: We cut identifiers longer than this value. + MIN_SPLIT_LENGTH = 3 #: We do not split source code identifiers shorter than this value. + DEFAULT_SINGLE_SHOT = False #: True if we do not want to join small identifiers to next one. + # Example: 'sourced.ml.algorithms' -> ["sourc", "sourcedml", "algorithm", "mlalgorithm"]. + # if True we have only ["sourc", "algorithm"]. + # if you do not want to filter small tokens set min_split_length=1. + + def __init__(self, stem_threshold=STEM_THRESHOLD, max_token_length=MAX_TOKEN_LENGTH, + min_split_length=MIN_SPLIT_LENGTH, single_shot=DEFAULT_SINGLE_SHOT): + self._stemmer = Stemmer.Stemmer("english") + self._stemmer.maxCacheSize = 0 + self._stem_threshold = stem_threshold + self._max_token_length = max_token_length + self._min_split_length = min_split_length + self._single_shot = single_shot + + @property + def stem_threshold(self): + return self._stem_threshold + + @stem_threshold.setter + def stem_threshold(self, value): + if not isinstance(value, int): + raise TypeError("stem_threshold must be an integer - got %s" % type(value)) + if value < 1: + raise ValueError("stem_threshold must be greater than 0 - got %d" % value) + self._stem_threshold = value + + @property + def max_token_length(self): + return self._max_token_length + + @max_token_length.setter + def max_token_length(self, value): + if not isinstance(value, int): + raise TypeError("max_token_length must be an integer - got %s" % type(value)) + if value < 1: + raise ValueError("max_token_length must be greater than 0 - got %d" % value) + self._max_token_length = value + + @property + def min_split_length(self): + return self._min_split_length + + @min_split_length.setter + def min_split_length(self, value): + if not isinstance(value, int): + raise TypeError("min_split_length must be an integer - got %s" % type(value)) + if value < 1: + raise ValueError("min_split_length must be greater than 0 - got %d" % value) + self._min_split_length = value + + def __call__(self, token): + return self.process_token(token) + + def process_token(self, token): + for word in self.split(token): + yield self.stem(word) + + def stem(self, word): + if len(word) <= self.stem_threshold: + return word + return self._stemmer.stemWord(word) + + def split(self, token): + token = token.strip()[:self.max_token_length] + + def ret(name): + r = name.lower() + if len(name) >= self.min_split_length: + ret.last_subtoken = r + yield r + if ret.prev_p and not self._single_shot: + yield ret.prev_p + r + ret.prev_p = "" + elif not self._single_shot: + ret.prev_p = r + yield ret.last_subtoken + r + ret.last_subtoken = "" + ret.prev_p = "" + ret.last_subtoken = "" + + for part in self.NAME_BREAKUP_RE.split(token): + if not part: + continue + prev = part[0] + pos = 0 + for i in range(1, len(part)): + this = part[i] + if prev.islower() and this.isupper(): + yield from ret(part[pos:i]) + pos = i + elif prev.isupper() and this.islower(): + if 0 < i - 1 - pos <= self.min_split_length: + yield from ret(part[pos:i]) + pos = i + elif i - 1 > pos: + yield from ret(part[pos:i]) + pos = i + prev = this + last = part[pos:] + if last: + yield from ret(last) + + def __getstate__(self): + state = self.__dict__.copy() + del state["_stemmer"] + return state + + def __setstate__(self, state): + self.__dict__ = state + self._stemmer = Stemmer.Stemmer("english") + + +class NoopTokenParser: + """ + One can use this class if he or she does not want to do any parsing. + """ + + def process_token(self, token): + yield token + + def __call__(self, token): + return self.process_token(token) diff --git a/sourced/ml/algorithms/uast_id_distance.py b/sourced/ml/algorithms/uast_id_distance.py new file mode 100644 index 0000000..fcb9434 --- /dev/null +++ b/sourced/ml/algorithms/uast_id_distance.py @@ -0,0 +1,122 @@ +from itertools import combinations +from typing import Iterable, Tuple, Union + +import bblfsh + +from sourced.ml.algorithms.uast_ids_to_bag import UastIds2Bag +from sourced.ml.utils import bblfsh_roles + + +class Uast2IdDistance(UastIds2Bag): + """ + Converts a UAST to a list of identifiers pair and UAST distance between. + Distance metric must be defined in the inheritors. + + __call__ is overridden here and return list instead of bag-of-words (dist). + """ + + DEFAULT_MAX_DISTANCE = 10 # to avoid collecting all distances we skip too big ones + + def __init__(self, token2index=None, token_parser=None, max_distance=DEFAULT_MAX_DISTANCE): + """ + :param token2index: The mapping from tokens to token key. If None, no mapping is performed. + :param token_parser: Specify token parser if you want to use a custom one. \ + :class:'TokenParser' is used if it is not specified. + :param max_distance: specify to skip too distant identifiers + """ + super().__init__(token2index=token2index, token_parser=token_parser) + self.max_distance = max_distance + + def __call__(self, uast: bblfsh.Node) -> Iterable[Tuple[str, str, int]]: + """ + Converts a UAST to a list of identifiers pair and UAST distance between. + The tokens are preprocessed by _token_parser. + + :param uast: The UAST root node. + :return: a list of (from identifier, to identifier) and distance pairs. + """ + for point1, point2 in combinations(self._process_uast(uast), 2): + if point1[0] == point2[0]: + continue # We do not want to calculate distance between the same identifiers + distance = self.distance(point1, point2) + if distance < self.max_distance: + yield ((point1[0], point2[0]) if point1[0] > point2[0] else + (point2[0], point1[0])), distance + + def distance(self, point1, point2) -> Union[int, float]: + """ + Calculate distance between two points. A point can be anything. self._process_uast returns + list of points in the specific class. + + :return: Distance between two points. + """ + raise NotImplementedError + + def _process_uast(self, node: bblfsh.Node) -> Iterable: + """ + Converts uast to points list. A point can be anything you need to calculate distance. + """ + raise NotImplementedError + + def _process_point(self, node, info): + if bblfsh_roles.IDENTIFIER in node.roles and node.token: + for sub in self._token_parser.process_token(node.token): + try: + yield (self._token2index[sub], info) + except KeyError: + continue + + +class Uast2IdTreeDistance(Uast2IdDistance): + """ + Converts a UAST to a list of identifiers pair and UAST tree distance between. + + __call__ is overridden here and return list instead of bag-of-words (dist). + """ + def _process_uast(self, uast: bblfsh.Node) -> Iterable: + stack = [(uast, [])] + while stack: + node, ancestors = stack.pop() + yield from self._process_point(node, ancestors) + ancestors = list(ancestors) + ancestors.append(node) + stack.extend([(child, ancestors) for child in node.children]) + + def distance(self, point1, point2) -> int: + i = 0 + ancestors1 = point1[1] + ancestors2 = point2[1] + for i, (ancestor1, ancestor2) in enumerate(zip(ancestors1, ancestors2)): # noqa: B007 + if ancestor1 != ancestor2: + break + distance = self.calc_tree_distance(i, len(ancestors1), len(ancestors2)) + return distance + + @staticmethod + def calc_tree_distance(last_common_level, level1, level2): + return level1 + level2 - 2 * last_common_level + + +class Uast2IdLineDistance(Uast2IdDistance): + """ + Converts a UAST to a list of identifiers pair and code line distance between where applicable. + + __call__ is overridden here and return list instead of bag-of-words (dist). + """ + + def _process_uast(self, uast): + stack = [(uast, [0, 0])] + while stack: + node, last_position = stack.pop() + if node.start_position.line != 0: + # A lot of Nodes do not have position + # It is good heuristic to take the last Node in tree with a position. + last_position[0] = node.start_position.line + last_position[1] = 0 + if node.start_position.col != 0: + last_position[1] = node.start_position.col + yield from self._process_point(node, last_position) + stack.extend([(child, list(last_position)) for child in node.children]) + + def distance(self, point1, point2): + return abs(point1[1][0] - point2[1][0]) # subtract line numbers diff --git a/sourced/ml/algorithms/uast_ids_to_bag.py b/sourced/ml/algorithms/uast_ids_to_bag.py new file mode 100644 index 0000000..13ffbf2 --- /dev/null +++ b/sourced/ml/algorithms/uast_ids_to_bag.py @@ -0,0 +1,110 @@ +from collections import defaultdict, deque + +import bblfsh + +from sourced.ml.algorithms import NoopTokenParser, TokenParser +from sourced.ml.algorithms.uast_to_bag import Uast2BagBase +from sourced.ml.utils import bblfsh_roles + + +def uast2sequence(root): + sequence = [] + nodes = defaultdict(deque) + stack = [root] + nodes[id(root)].extend(root.children) + while stack: + if nodes[id(stack[-1])]: + child = nodes[id(stack[-1])].popleft() + nodes[id(child)].extend(child.children) + stack.append(child) + else: + sequence.append(stack.pop()) + return sequence + + +class FakeVocabulary: + # FIXME(zurk): change to simple function. Vadim Markovtsev comments: + # > would rather made this a simple function and change roles2index + # type from [] to callable. Saves time to understand. + def __getitem__(self, item): + return item + + +class UastTokens2Bag(Uast2BagBase): + """ + Converts a UAST to a weighed bag of tokens via xpath. + """ + + XPATH = None # Should be overridden in child class + + def __init__(self, token2index=None, token_parser=None): + """ + :param token2index: The mapping from tokens to bag keys. If None, no mapping is performed. + :param token_parser: Specify token parser if you want to use a custom one. \ + :class:'NoopTokenParser' is used if it is not specified. + """ + self._token2index = FakeVocabulary() if token2index is None else token2index + self._token_parser = NoopTokenParser() if token_parser is None else token_parser + + @property + def token_parser(self): + return self._token_parser + + @property + def token2index(self): + return self._token2index + + def __call__(self, uast): + """ + Converts a UAST to a weighed bag-of-words. The weights are words frequencies. + The tokens are preprocessed by _token_parser. + + :param uast: The UAST root node. + :return: + """ + nodes = bblfsh.filter(uast, self.XPATH) + bag = defaultdict(int) + for node in nodes: + for sub in self._token_parser.process_token(node.token): + try: + bag[self._token2index[sub]] += 1 + except KeyError: + continue + return bag + + +class UastIds2Bag(UastTokens2Bag): + """ + Converts a UAST to a bag-of-identifiers. + """ + + XPATH = "//*[@roleIdentifier]" + + def __init__(self, token2index=None, token_parser=None): + """ + :param token2index: The mapping from tokens to bag keys. If None, no mapping is performed. + :param token_parser: Specify token parser if you want to use a custom one. \ + :class:'TokenParser' is used if it is not specified. + """ + token_parser = TokenParser() if token_parser is None else token_parser + super().__init__(token2index, token_parser) + + def __call__(self, uast): + """ + HOTFIX for https://github.com/bblfsh/client-python/issues/92 + Converts a UAST to a weighed bag-of-identifiers. The weights are identifiers frequencies. + The tokens are preprocessed by _token_parser. + Overwrite __call__ to avoid issues with `bblfsh.filter`. + + :param uast: The UAST root node. + :return: bag + """ + nodes = [node for node in uast2sequence(uast) if bblfsh_roles.IDENTIFIER in node.roles] + bag = defaultdict(int) + for node in nodes: + for sub in self._token_parser.process_token(node.token): + try: + bag[self._token2index[sub]] += 1 + except KeyError: + continue + return bag diff --git a/sourced/ml/algorithms/uast_inttypes_to_graphlets.py b/sourced/ml/algorithms/uast_inttypes_to_graphlets.py new file mode 100644 index 0000000..23b3d7c --- /dev/null +++ b/sourced/ml/algorithms/uast_inttypes_to_graphlets.py @@ -0,0 +1,59 @@ +from collections import defaultdict + +from sourced.ml.algorithms.uast_ids_to_bag import Uast2BagBase +from sourced.ml.algorithms.uast_struct_to_bag import Node + + +class Uast2GraphletBag(Uast2BagBase): + """ + Converts a UAST to a bag of graphlets. + The graphlet of a UAST node is composed from the node itself, its parent and its children. + Each node is represented by the internal role string. + """ + @staticmethod + def _extract_node(node, parent): + return Node(parent=parent, internal_type=node.internal_type) + + def uast2graphlets(self, uast): + """ + :param uast: The UAST root node. + :generate: The nodes which compose the UAST. + :class: 'Node' is used to access the nodes of the graphlets. + """ + root = self._extract_node(uast, None) + stack = [(root, uast)] + while stack: + parent, parent_uast = stack.pop() + children_nodes = [self._extract_node(child, parent) for child in parent_uast.children] + parent.children = children_nodes + stack.extend(zip(children_nodes, parent_uast.children)) + yield parent + + def node2key(self, node): + """ + Builds the string joining internal types of all the nodes + in the node's graphlet in the following order: + parent_node_child1_child2_child3. The children are sorted by alphabetic order. + str format is required for BagsExtractor. + + :param node: a node of UAST + :return: The string key of node + """ + try: + parent_type = node.parent.internal_type + except AttributeError: + parent_type = None + key = [parent_type, node.internal_type] + key.extend(sorted(ch.internal_type for ch in node.children)) + return "_".join(map(str, key)) + + def __call__(self, uast): + """ + Converts a UAST to a weighed bag of graphlets. The weights are graphlets frequencies. + :param uast: The UAST root node. + :return: bag of graphlets. + """ + bag = defaultdict(int) + for node in self.uast2graphlets(uast): + bag[self.node2key(node)] += 1 + return bag diff --git a/sourced/ml/algorithms/uast_inttypes_to_nodes.py b/sourced/ml/algorithms/uast_inttypes_to_nodes.py new file mode 100644 index 0000000..3fbaf9f --- /dev/null +++ b/sourced/ml/algorithms/uast_inttypes_to_nodes.py @@ -0,0 +1,64 @@ +from typing import Iterable, Tuple, Union + +from bblfsh import Node +import numpy + +from sourced.ml.algorithms.uast_to_bag import Uast2BagThroughSingleScan + + +class Uast2QuantizedChildren(Uast2BagThroughSingleScan): + """ + Converts a UAST to a bag of children counts. + """ + + def __init__(self, npartitions: int = 20): + self.npartitions = npartitions + self.levels = {} + + def node2key(self, node: Node) -> Union[str, Tuple[str, int]]: + """ + :param node: a node in UAST. + :return: The string which consists of the internal type of the node and its number of + children. + """ + if not self.levels: + return node.internal_type, len(node.children) + qm = self.levels[node.internal_type] + quant_index = numpy.searchsorted(qm, len(node.children), side="right") - 1 + return "%s_%d" % (node.internal_type, quant_index) + + def quantize(self, frequencies: Iterable[Tuple[str, Iterable[Tuple[int, int]]]]): + for key, vals in frequencies: + self.levels[key] = self.quantize_unwrapped(vals) + + def quantize_unwrapped(self, children_freq: Iterable[Tuple[int, int]]) -> numpy.ndarray: + """ + Builds the quantization partition P that is a vector of length nb_partitions \ + whose entries are in strictly ascending order. + Quantization of x is defined as: + 0 if x <= P[0] + m if P[m-1] < x <= P[m] + n if P[n] <= x + + :param children_freq: distribution of the number of children. + :return: The array with quantization levels. + """ + levels = numpy.zeros(self.npartitions + 1, dtype=numpy.int32) + children_freq = sorted(children_freq) + max_nodes_per_bin = sum(i[1] for i in children_freq) / self.npartitions + levels[0] = children_freq[0][0] + accum = children_freq[0][1] + i = 1 + for v, f in children_freq[1:]: + accum += f + if accum > max_nodes_per_bin: + accum = f + if i < len(levels): + levels[i] = v + i += 1 + last = children_freq[-1][0] + if i < len(levels): + levels[i:] = last + else: + levels[-1] = last + return levels diff --git a/sourced/ml/algorithms/uast_struct_to_bag.py b/sourced/ml/algorithms/uast_struct_to_bag.py new file mode 100644 index 0000000..9a92403 --- /dev/null +++ b/sourced/ml/algorithms/uast_struct_to_bag.py @@ -0,0 +1,181 @@ +from collections import defaultdict +import random + +from sourced.ml.algorithms import uast2sequence +from sourced.ml.algorithms.uast_ids_to_bag import FakeVocabulary, Uast2BagBase + + +class Uast2StructBagBase(Uast2BagBase): + SEP = ">" + + def __init__(self, stride, seq_len, node2index=None): + self._node2index = node2index if node2index is not None else FakeVocabulary() + self._stride = stride + if not isinstance(seq_len, (int, tuple, list)): + raise TypeError("Unexpected type of seq_len: %s" % type(seq_len)) + self._seq_lens = [seq_len] if isinstance(seq_len, int) else seq_len + + @property + def node2index(self): + return self._node2index + + +class Node2InternalType: + # FIXME(zurk): change to simple function. Vadim Markovtsev comments: + # > would rather made this a simple function and change roles2index + # type from [] to callable. Saves time to understand. + def __getitem__(self, item): + return item.internal_type + + +class UastSeq2Bag(Uast2StructBagBase): + """ + DFS traversal + preserves the order of node children. + """ + + def __init__(self, stride=1, seq_len=(3, 4), node2index=None): + _node2index = Node2InternalType() if node2index is None else node2index + super().__init__(stride, seq_len, _node2index) + + def __call__(self, uast): + bag = defaultdict(int) + node_sequence = uast2sequence(uast) + + # convert to str - requirement from wmhash.BagsExtractor + node_sequence = [self.node2index[n] for n in node_sequence] + + for seq_len in self._seq_lens: + for i in range(0, len(node_sequence) - seq_len + 1, self._stride): + key = self.SEP.join(node_sequence[i:i + seq_len]) + bag[key] += 1 + return bag + + +class Node: + def __init__(self, parent=None, internal_type=None): + self.parent = parent + self.internal_type = internal_type + self.children = [] + + @property + def neighbours(self): + neighbours = [] + if self.parent is not None: + neighbours.append(self.parent) + neighbours.extend(self.children) + return neighbours + + +class Uast2RandomWalks: + """ + Generation of random walks for UAST. + """ + + def __init__(self, p_explore_neighborhood, q_leave_neighborhood, n_walks, n_steps, + node2index=None, seed=None): + """ + Related article: https://arxiv.org/abs/1607.00653 + + :param p_explore_neighborhood: return parameter, p. Parameter p controls the likelihood of\ + immediately revisiting a node in the walk. Setting it to a\ + high value (> max(q, 1)) ensures that we are less likely to\ + sample an already visited node in the following two steps\ + (unless the next node in the walk had no other neighbor).\ + This strategy encourages moderate exploration and avoids\ + 2-hop redundancy in sampling. + :param q_leave_neighborhood: in-out parameter, q. Parameter q allows the search to\ + differentiate between “inward” and “outward” nodes. Such \ + walks obtain a local view of the underlying graph with \ + respect to the start node in the walk and approximate BFS \ + behavior in the sense that our samples comprise of nodes \ + within a small locality. + :param n_walks: Number of walks from each node. + :param n_steps: Number of steps in walk. + :param node2index: Specify node2index transformation. Node2InternalType() is used as \ + default. + :param seed: Random seed. + """ + self.p_explore_neighborhood = p_explore_neighborhood + self.q_leave_neighborhood = q_leave_neighborhood + self.n_walks = n_walks + self.n_steps = n_steps + self.node2index = node2index if node2index is not None else Node2InternalType() + if seed is not None: + random.seed(seed) + + def __call__(self, uast): + starting_nodes = self.prepare_starting_nodes(uast) + for _ in range(self.n_walks): + for start_node in starting_nodes: + yield self.random_walk(start_node) + + @staticmethod + def _extract_node(node, parent): + return Node(parent=parent, internal_type=node.internal_type) + + def prepare_starting_nodes(self, uast): + starting_nodes = [] + root = self._extract_node(uast, None) + stack = [(root, uast)] + while stack: + parent, parent_uast = stack.pop() + children_nodes = [self._extract_node(child, parent) for child in parent_uast.children] + parent.children = children_nodes + stack.extend(zip(children_nodes, parent_uast.children)) + starting_nodes.append(parent) + + return starting_nodes + + def random_walk(self, node): + walk = [node] + while len(walk) < self.n_steps: + walk.append(self.alias_sample(walk)) + + walk = [self.node2index[n] for n in walk] + return walk + + def alias_sample(self, walk): + """ + Compare to node2vec this sampling is a bit simpler because there is no loop in tree -> + so there are only 2 options with unnormalized probabilities 1/p & 1/q + Related article: https://arxiv.org/abs/1607.00653 + + :param walk: list of visited nodes + :return: next node to visit + """ + last_node = walk[-1] # correspond to node v in article + + if len(walk) == 1: + choice_list = last_node.children + if last_node.parent is not None: + choice_list.append(last_node.parent) + if len(choice_list) == 0: + return last_node + return random.choice(last_node.children) + + threshold = (1 / self.p_explore_neighborhood) + threshold /= (threshold + len(last_node.children) / self.q_leave_neighborhood) + + if random.random() <= threshold: + # With threshold probability we need to return back to previous node. + return walk[-2] # Node from previous step. Correspond to node t in article. + + return random.choice(last_node.neighbours) + + +class UastRandomWalk2Bag(Uast2StructBagBase): + def __init__(self, p_explore_neighborhood=0.79, q_leave_neighborhood=0.82, n_walks=2, + n_steps=10, stride=1, seq_len=(2, 3), seed=42): + super().__init__(stride, seq_len) + self.uast2walks = Uast2RandomWalks(p_explore_neighborhood=p_explore_neighborhood, + q_leave_neighborhood=q_leave_neighborhood, + n_walks=n_walks, n_steps=n_steps, seed=seed) + + def __call__(self, uast): + bag = defaultdict(int) + for walk in self.uast2walks(uast): + for seq_len in self._seq_lens: + for i in range(0, len(walk) - seq_len + 1, self._stride): + # convert to str - requirement from wmhash.BagsExtractor + bag[self.SEP.join(walk[i:i + seq_len])] += 1 + return bag diff --git a/sourced/ml/algorithms/uast_to_bag.py b/sourced/ml/algorithms/uast_to_bag.py new file mode 100644 index 0000000..2d78ad5 --- /dev/null +++ b/sourced/ml/algorithms/uast_to_bag.py @@ -0,0 +1,34 @@ +from collections import defaultdict +from typing import Dict + +from bblfsh import Node + + +class Uast2BagBase: + """ + Base class to convert UAST to a bag of anything. + """ + def __call__(self, uast: Node): + """ + Inheritors must implement this function. + + :param uast: The UAST root node. + """ + raise NotImplementedError + + +class Uast2BagThroughSingleScan(Uast2BagBase): + """ + Constructs the bag by doing a single tree traversal and turning every node into a string. + """ + def __call__(self, uast: Node) -> Dict[str, int]: + result = defaultdict(int) + stack = [uast] + while stack: + node = stack.pop() + stack.extend(node.children) + result[self.node2key(node)] += 1 + return result + + def node2key(self, node) -> str: + raise NotImplementedError diff --git a/sourced/ml/algorithms/uast_to_id_sequence.py b/sourced/ml/algorithms/uast_to_id_sequence.py new file mode 100644 index 0000000..13365d6 --- /dev/null +++ b/sourced/ml/algorithms/uast_to_id_sequence.py @@ -0,0 +1,30 @@ +from typing import Iterable + +import bblfsh + +from sourced.ml.algorithms.uast_id_distance import Uast2IdLineDistance + + +class Uast2IdSequence(Uast2IdLineDistance): + """ + Converts a UAST to a sorted sequence of identifiers. + Identifiers are sorted by position in code. + We do not change the order if positions are not present. + + __call__ is overridden here and return list instead of bag-of-words (dist). + """ + + def __call__(self, uast: bblfsh.Node) -> str: + """ + Converts a UAST to a sorted sequence of identifiers. + Identifiers are sorted by position in code. + We do not change the order if positions are not present. + + :param uast: The UAST root node. + :return: string with a sequence of identifiers + """ + return self.concat(id for id, pos in sorted(self._process_uast(uast), key=lambda x: x[1])) + + @staticmethod + def concat(id_sequence: Iterable): + return " ".join(id_sequence) diff --git a/sourced/ml/algorithms/uast_to_role_id_pairs.py b/sourced/ml/algorithms/uast_to_role_id_pairs.py new file mode 100644 index 0000000..7db31cd --- /dev/null +++ b/sourced/ml/algorithms/uast_to_role_id_pairs.py @@ -0,0 +1,69 @@ +from typing import Iterable, Tuple + +import bblfsh + +from sourced.ml.algorithms.uast_ids_to_bag import UastIds2Bag +from sourced.ml.utils import bblfsh_roles + + +class Uast2RoleIdPairs(UastIds2Bag): + """ + Converts a UAST to a list of pairs. Pair is identifier and role, where role is Node role + where identifier was found. + + __call__ is overridden here and returns list instead of bag-of-words (dist). + """ + + def __init__(self, token2index=None, token_parser=None): + """ + :param token2index: The mapping from tokens to token key. If None, no mapping is performed. + :param token_parser: Specify token parser if you want to use a custom one. \ + :class:'TokenParser' is used if it is not specified. + + """ + super().__init__(token2index=token2index, token_parser=token_parser) + self.exclude_roles = { + bblfsh_roles.EXPRESSION, + bblfsh_roles.IDENTIFIER, + bblfsh_roles.LEFT, + bblfsh_roles.QUALIFIED, + bblfsh_roles.BINARY, + bblfsh_roles.ASSIGNMENT, + } + + def __call__(self, uast: bblfsh.Node) -> Iterable[Tuple[str, str]]: + """ + Converts a UAST to a list of identifier, role pairs. + The tokens are preprocessed by _token_parser. + + :param uast: The UAST root node. + :return: a list of identifier, role pairs. + """ + yield from self._process_uast(uast, []) + + def _process_uast(self, uast: bblfsh.Node, ancestors): + stack = [(uast, [])] + while stack: + node, ancestors = stack.pop() + + if bblfsh_roles.IDENTIFIER in node.roles and node.token: + roles = set(node.roles) + indx = -1 + # We skip all Nodes with roles from `self.exclude_roles` set. + # We skip any Node with OPERATOR role. + # For them we take first parent Node from stack with another Role set. + while not (roles - self.exclude_roles and bblfsh_roles.OPERATOR not in roles): + roles = set(ancestors[indx].roles) + indx -= 1 + for sub in self._token_parser.process_token(node.token): + try: + yield (self._token2index[sub], self.merge_roles(roles)) + except KeyError: + continue + ancestors = list(ancestors) + ancestors.append(node) + stack.extend([(child, ancestors) for child in node.children]) + + @staticmethod + def merge_roles(roles: Iterable[int]): + return " | ".join(bblfsh.role_name(r) for r in sorted(roles)) diff --git a/sourced/ml/extractors/__init__.py b/sourced/ml/extractors/__init__.py new file mode 100644 index 0000000..0ab1565 --- /dev/null +++ b/sourced/ml/extractors/__init__.py @@ -0,0 +1,12 @@ +# flake8: noqa +from sourced.ml.extractors.helpers import __extractors__, get_names_from_kwargs, \ + register_extractor, filter_kwargs, create_extractors_from_args +from sourced.ml.extractors.bags_extractor import Extractor, BagsExtractor, RoleIdsExtractor +from sourced.ml.extractors.identifiers import IdentifiersBagExtractor +from sourced.ml.extractors.literals import LiteralsBagExtractor +from sourced.ml.extractors.uast_random_walk import UastRandomWalkBagExtractor +from sourced.ml.extractors.uast_seq import UastSeqBagExtractor +from sourced.ml.extractors.children import ChildrenBagExtractor +from sourced.ml.extractors.graphlets import GraphletBagExtractor +from sourced.ml.extractors.identifier_distance import IdentifierDistance +from sourced.ml.extractors.id_sequence import IdSequenceExtractor diff --git a/sourced/ml/extractors/bags_extractor.py b/sourced/ml/extractors/bags_extractor.py new file mode 100644 index 0000000..86c3c25 --- /dev/null +++ b/sourced/ml/extractors/bags_extractor.py @@ -0,0 +1,94 @@ +import bblfsh + +from sourced.ml.algorithms import NoopTokenParser, Uast2RoleIdPairs +from sourced.ml.utils import PickleableLogger + + +class Extractor(PickleableLogger): + """ + Converts a single UAST via `algorithm` to anything you need. + It is a wrapper to use in `Uast2Features` Transformer in a pipeline. + """ + NAME = None # feature scheme name, should be overridden in the derived class. + ALGORITHM = None # algorithm class to extract from UAST + OPTS = {} # cmdline args which are passed into __init__() + + def _get_log_name(self): + return type(self).__name__ + + @classmethod + def get_kwargs_fromcmdline(cls, args): + prefix = cls.NAME + "_" + result = {} + for k, v in args.__dict__.items(): + if k.startswith(prefix): + result[k[len(prefix):]] = v + return result + + def extract(self, uast: bblfsh.Node): + yield from self.ALGORITHM(uast) + + +class BagsExtractor(Extractor): + """ + Converts a single UAST into the weighted set (dictionary), where elements are strings + and the values are floats. The derived classes must implement uast_to_bag(). + """ + DEFAULT_DOCFREQ_THRESHOLD = 5 + NAMESPACE = None # the beginning of each element in the bag + OPTS = {"weight": 1} # cmdline args which are passed into __init__() + + def __init__(self, docfreq_threshold=None, weight=None, **kwargs): + """ + :param docfreq_threshold: The minimum number of occurrences of an element to be included \ + into the bag + :param weight: TF-IDF will be multiplied by this weight to change importance of specific \ + bag extractor + :param kwargs: Parameters for parent constructor. + """ + super().__init__(**kwargs) + if docfreq_threshold is None: + docfreq_threshold = self.DEFAULT_DOCFREQ_THRESHOLD + self.docfreq_threshold = docfreq_threshold + self.docfreq = {} + self._ndocs = 0 + if weight is None: + self.weight = 1 + else: + self.weight = weight + + @property + def docfreq_threhold(self): + return self._docfreq_threshold + + @docfreq_threhold.setter + def docfreq_threshold(self, value): + if not isinstance(value, int): + raise TypeError("docfreq_threshold must be an integer, got %s" % type(value)) + if value < 1: + raise ValueError("docfreq_threshold must be >= 1, got %d" % value) + self._docfreq_threshold = value + + @property + def ndocs(self): + return self._ndocs + + @ndocs.setter + def ndocs(self, value): + if not isinstance(value, int): + raise TypeError("ndocs must be an integer, got %s" % type(value)) + if value < 1: + raise ValueError("ndocs must be >= 1, got %d" % value) + self._ndocs = value + + def extract(self, uast): + for key, val in self.uast_to_bag(uast).items(): + yield self.NAMESPACE + key, val * self.weight + + def uast_to_bag(self, uast): + raise NotImplementedError + + +class RoleIdsExtractor(Extractor): + NAME = "roleids" + ALGORITHM = Uast2RoleIdPairs(token_parser=NoopTokenParser()) diff --git a/sourced/ml/extractors/children.py b/sourced/ml/extractors/children.py new file mode 100644 index 0000000..565b802 --- /dev/null +++ b/sourced/ml/extractors/children.py @@ -0,0 +1,48 @@ +import logging +from typing import Iterable, Tuple + +from sourced.ml.algorithms import Uast2QuantizedChildren +from sourced.ml.extractors import ( + BagsExtractor, filter_kwargs, get_names_from_kwargs, register_extractor) + + +@register_extractor +class ChildrenBagExtractor(BagsExtractor): + """ + Converts a UAST to the bag of pairs (internal type, quantized number of children). + """ + NAME = "children" + NAMESPACE = "c." + OPTS = dict(get_names_from_kwargs(Uast2QuantizedChildren.__init__)) + + def __init__(self, docfreq_threshold=None, **kwargs): + original_kwargs = kwargs + uast2bag_kwargs = filter_kwargs(kwargs, Uast2QuantizedChildren.__init__) + for k in uast2bag_kwargs: + kwargs.pop(k) + super().__init__(docfreq_threshold, **kwargs) + self._log.debug("__init__ %s", original_kwargs) + self.uast_to_bag = Uast2QuantizedChildren(**uast2bag_kwargs) + + @property + def npartitions(self): + return self.uast_to_bag.npartitions + + @property + def levels(self): + return self.uast_to_bag.levels + + def extract(self, uast): + if not self.uast_to_bag.levels: + # bypass NAMESPACE + gen = self.uast_to_bag(uast).items() + else: + gen = super().extract(uast) + for key, val in gen: + yield key, val + + def quantize(self, frequencies: Iterable[Tuple[str, Iterable[Tuple[int, int]]]]): + self.uast_to_bag.quantize(frequencies) + if self._log.isEnabledFor(logging.DEBUG): + for k, v in self.uast_to_bag.levels.items(): + self._log.debug("%s\n%s", k, v) diff --git a/sourced/ml/extractors/graphlets.py b/sourced/ml/extractors/graphlets.py new file mode 100644 index 0000000..d0ea444 --- /dev/null +++ b/sourced/ml/extractors/graphlets.py @@ -0,0 +1,24 @@ +from sourced.ml.algorithms import Uast2GraphletBag +from sourced.ml.extractors import \ + (BagsExtractor, filter_kwargs, get_names_from_kwargs, register_extractor) + + +@register_extractor +class GraphletBagExtractor(BagsExtractor): + NAME = "graphlet" + NAMESPACE = "g." + OPTS = dict(get_names_from_kwargs(Uast2GraphletBag.__init__)) + OPTS.update(BagsExtractor.OPTS) + + def __init__(self, docfreq_threshold=None, **kwargs): + original_kwargs = kwargs + uast2bag_kwargs = filter_kwargs(kwargs, Uast2GraphletBag.__init__) + for k in uast2bag_kwargs: + kwargs.pop(k) + super().__init__(docfreq_threshold, **kwargs) + self._log.debug("__init__ %s", original_kwargs) + uast2bag_kwargs = filter_kwargs(kwargs, Uast2GraphletBag.__init__) + self.uast2bag = Uast2GraphletBag(**uast2bag_kwargs) + + def uast_to_bag(self, uast): + return self.uast2bag(uast) diff --git a/sourced/ml/extractors/helpers.py b/sourced/ml/extractors/helpers.py new file mode 100644 index 0000000..62d9480 --- /dev/null +++ b/sourced/ml/extractors/helpers.py @@ -0,0 +1,32 @@ +import argparse +import inspect +from typing import List + +from sourced.ml.extractors.bags_extractor import BagsExtractor + +__extractors__ = {} + + +def register_extractor(cls): + if not issubclass(cls, BagsExtractor): + raise TypeError("%s is not an instance of %s" % (cls.__name__, BagsExtractor.__name__)) + __extractors__[cls.NAME] = cls + return cls + + +def get_names_from_kwargs(f): + for k, v in inspect.signature(f).parameters.items(): + if v.default != inspect.Parameter.empty and isinstance( + v.default, (str, int, float, tuple)): + yield k.replace("_", "-"), v.default + + +def filter_kwargs(kwargs, func): + func_param = inspect.signature(func).parameters.keys() + return {k: v for k, v in kwargs.items() if k in func_param} + + +def create_extractors_from_args(args: argparse.Namespace) -> List[BagsExtractor]: + return [__extractors__[s](args.min_docfreq, log_level=args.log_level, + **__extractors__[s].get_kwargs_fromcmdline(args)) + for s in args.feature] diff --git a/sourced/ml/extractors/id_sequence.py b/sourced/ml/extractors/id_sequence.py new file mode 100644 index 0000000..3a729b8 --- /dev/null +++ b/sourced/ml/extractors/id_sequence.py @@ -0,0 +1,32 @@ +from typing import Iterable + +import bblfsh + +from sourced.ml.algorithms import NoopTokenParser +from sourced.ml.algorithms import Uast2IdSequence +from sourced.ml.extractors.bags_extractor import BagsExtractor + + +class IdSequenceExtractor(BagsExtractor): + """ + Extractor wrapper for Uast2RoleIdPairs algorithm. + Note that this is unusual BagsExtractor since it returns iterable instead of bag. + + The class did not wrap with @register_extractor because it does not produce bags as others do. + So nobody outside code will see it or use it directly. + For the same reason we a free to override NAMESPACE, NAME, OPTS fields with any value we want. + + TODO(zurk): Split BagsExtractor into two clases: Extractor and BagsExtractor(Extractor), + re-inherit this class from Extractor, delete explanations from docstring. + """ + NAMESPACE = "" + NAME = "id sequence" + OPTS = {} + + def __init__(self, split_stem=False, **kwargs): + super().__init__(**kwargs) + self.uast2id_sequence = Uast2IdSequence( + None, NoopTokenParser() if not split_stem else None) + + def extract(self, uast: bblfsh.Node) -> Iterable[str]: + yield self.uast2id_sequence(uast), None diff --git a/sourced/ml/extractors/identifier_distance.py b/sourced/ml/extractors/identifier_distance.py new file mode 100644 index 0000000..f85fd1c --- /dev/null +++ b/sourced/ml/extractors/identifier_distance.py @@ -0,0 +1,48 @@ +from typing import Iterable, Tuple + +import bblfsh + +from sourced.ml.algorithms import NoopTokenParser, Uast2IdLineDistance, Uast2IdTreeDistance +from sourced.ml.algorithms.uast_id_distance import Uast2IdDistance +from sourced.ml.extractors.bags_extractor import BagsExtractor + + +class IdentifierDistance(BagsExtractor): + """ + Extractor wrapper for Uast2IdTreeDistance and Uast2IdLineDistance algorithm. + Note that this is an unusual BagsExtractor since it returns iterable instead of bag. + + The class did not wrap with @register_extractor because it does not produce bags as others do. + So nobody outside code will see it or use it directly. + For the same reason we a free to override NAMESPACE, NAME, OPTS fields with any value we want. + + TODO(zurk): Split BagsExtractor into two clases: Extractor and BagsExtractor(Extractor), + re-inherit this class from Extractor, delete explanations from docstring. + """ + NAMESPACE = "" + NAME = "Identifier distance" + OPTS = {} + DEFAULT_MAX_DISTANCE = Uast2IdDistance.DEFAULT_MAX_DISTANCE + + class DistanceType: + Tree = "tree" + Line = "line" + All = {Tree, Line} + + @staticmethod + def resolve(type): + if type == IdentifierDistance.DistanceType.Line: + return Uast2IdLineDistance + if type == IdentifierDistance.DistanceType.Tree: + return Uast2IdTreeDistance + raise ValueError("Unknown distance type: %s" % type) + + def __init__(self, split_stem=False, type="tree", max_distance=DEFAULT_MAX_DISTANCE, **kwargs): + super().__init__(**kwargs) + Uast2IdDistance = self.DistanceType.resolve(type) + self.uast2id_distance = Uast2IdDistance( + token_parser=NoopTokenParser() if not split_stem else None, + max_distance=max_distance) + + def extract(self, uast: bblfsh.Node) -> Iterable[Tuple[str, str, int]]: + yield from self.uast2id_distance(uast) diff --git a/sourced/ml/extractors/identifiers.py b/sourced/ml/extractors/identifiers.py new file mode 100644 index 0000000..d7bdbfb --- /dev/null +++ b/sourced/ml/extractors/identifiers.py @@ -0,0 +1,18 @@ +from sourced.ml.algorithms import NoopTokenParser +from sourced.ml.algorithms.uast_ids_to_bag import UastIds2Bag +from sourced.ml.extractors import BagsExtractor, register_extractor + + +@register_extractor +class IdentifiersBagExtractor(BagsExtractor): + NAME = "id" + NAMESPACE = "i." + OPTS = {"split-stem": True} + OPTS.update(BagsExtractor.OPTS) + + def __init__(self, docfreq_threshold=None, split_stem=True, **kwargs): + super().__init__(docfreq_threshold, **kwargs) + self.id2bag = UastIds2Bag(None, NoopTokenParser() if not split_stem else None) + + def uast_to_bag(self, uast): + return self.id2bag(uast) diff --git a/sourced/ml/extractors/literals.py b/sourced/ml/extractors/literals.py new file mode 100644 index 0000000..78718b5 --- /dev/null +++ b/sourced/ml/extractors/literals.py @@ -0,0 +1,66 @@ +import codecs +from collections import defaultdict +import os + +from sourced.ml.algorithms import uast2sequence, UastIds2Bag +from sourced.ml.extractors import BagsExtractor, register_extractor +from sourced.ml.utils import bblfsh_roles + + +class HashedTokenParser: + def process_token(self, token): + yield codecs.encode((hash(token) & 0xffffffffffffffff).to_bytes(8, "little"), + "hex_codec").decode() + + +class Literals2Bag(UastIds2Bag): + """ + Converts a UAST to a bag-of-literals. + """ + + XPATH = "//*[@roleLiteral]" + + def __init__(self, token2index=None, token_parser=None): + """ + :param token2index: The mapping from tokens to bag keys. If None, no mapping is performed. + :param token_parser: Specify token parser if you want to use a custom one. \ + :class:'TokenParser' is used if it is not specified. + """ + token_parser = HashedTokenParser() if token_parser is None else token_parser + super().__init__(token2index, token_parser) + + def __call__(self, uast): + """ + HOTFIX for https://github.com/bblfsh/client-python/issues/92 + Converts a UAST to a weighed bag-of-literals. The weights are literals frequencies. + The tokens are preprocessed by _token_parser. + Overwrite __call__ to avoid issues with `bblfsh.filter`. + + :param uast: The UAST root node. + :return: bag + """ + nodes = [node for node in uast2sequence(uast) if bblfsh_roles.LITERAL in node.roles] + bag = defaultdict(int) + for node in nodes: + for sub in self._token_parser.process_token(node.token): + try: + bag[self._token2index[sub]] += 1 + except KeyError: + continue + return bag + + +@register_extractor +class LiteralsBagExtractor(BagsExtractor): + NAME = "lit" + NAMESPACE = "l." + OPTS = BagsExtractor.OPTS.copy() + + def __init__(self, docfreq_threshold=None, **kwargs): + super().__init__(docfreq_threshold, **kwargs) + self.id2bag = Literals2Bag(None, HashedTokenParser()) + + def uast_to_bag(self, uast): + if os.getenv("PYTHONHASHSEED", "random") == "random": + raise RuntimeError("PYTHONHASHSEED must be set") + return self.id2bag(uast) diff --git a/sourced/ml/extractors/uast_random_walk.py b/sourced/ml/extractors/uast_random_walk.py new file mode 100644 index 0000000..da9a9ea --- /dev/null +++ b/sourced/ml/extractors/uast_random_walk.py @@ -0,0 +1,23 @@ +from sourced.ml.algorithms import UastRandomWalk2Bag +from sourced.ml.extractors import ( + BagsExtractor, filter_kwargs, get_names_from_kwargs, register_extractor) + + +@register_extractor +class UastRandomWalkBagExtractor(BagsExtractor): + NAME = "node2vec" + NAMESPACE = "r." + OPTS = dict(get_names_from_kwargs(UastRandomWalk2Bag.__init__)) + OPTS.update(BagsExtractor.OPTS) + + def __init__(self, docfreq_threshold=None, **kwargs): + original_kwargs = kwargs + uast2bag_kwargs = filter_kwargs(kwargs, UastRandomWalk2Bag.__init__) + for k in uast2bag_kwargs: + kwargs.pop(k) + super().__init__(docfreq_threshold, **kwargs) + self._log.debug("__init__ %s", original_kwargs) + self.uast2bag = UastRandomWalk2Bag(**uast2bag_kwargs) + + def uast_to_bag(self, uast): + return self.uast2bag(uast) diff --git a/sourced/ml/extractors/uast_seq.py b/sourced/ml/extractors/uast_seq.py new file mode 100644 index 0000000..6d69a49 --- /dev/null +++ b/sourced/ml/extractors/uast_seq.py @@ -0,0 +1,23 @@ +from sourced.ml.algorithms import UastSeq2Bag +from sourced.ml.extractors import ( + BagsExtractor, filter_kwargs, get_names_from_kwargs, register_extractor) + + +@register_extractor +class UastSeqBagExtractor(BagsExtractor): + NAME = "uast2seq" + NAMESPACE = "s." + OPTS = dict(get_names_from_kwargs(UastSeq2Bag.__init__)) + OPTS.update(BagsExtractor.OPTS) + + def __init__(self, docfreq_threshold=None, **kwargs): + original_kwargs = kwargs + uast2bag_kwargs = filter_kwargs(kwargs, UastSeq2Bag.__init__) + for k in uast2bag_kwargs: + kwargs.pop(k) + super().__init__(docfreq_threshold, **kwargs) + self._log.debug("__init__ %s", original_kwargs) + self.uast2bag = UastSeq2Bag(**uast2bag_kwargs) + + def uast_to_bag(self, uast): + return self.uast2bag(uast) diff --git a/sourced/ml/modelforgecfg.py b/sourced/ml/modelforgecfg.py new file mode 100644 index 0000000..5148c1f --- /dev/null +++ b/sourced/ml/modelforgecfg.py @@ -0,0 +1,8 @@ +import os + + +VENDOR = "source{d}" +BACKEND = "gcs" +BACKEND_ARGS = "bucket=models.cdn.sourced.tech" +INDEX_REPO = "https://github.com/src-d/models" +CACHE_DIR = os.path.join(os.path.expanduser("~"), ".cache", "source{d}") diff --git a/sourced/ml/models/__init__.py b/sourced/ml/models/__init__.py new file mode 100644 index 0000000..bbc1990 --- /dev/null +++ b/sourced/ml/models/__init__.py @@ -0,0 +1,12 @@ +# flake8: noqa +from sourced.ml.models.bow import BOW +from sourced.ml.models.coocc import Cooccurrences +from sourced.ml.models.df import DocumentFrequencies +from sourced.ml.models.ordered_df import OrderedDocumentFrequencies +from sourced.ml.models.id2vec import Id2Vec +from sourced.ml.models.tensorflow import TensorFlowModel +from sourced.ml.models.topics import Topics +from sourced.ml.models.quant import QuantizationLevels + +from sourced.ml.models.model_converters.merge_df import MergeDocFreq +from sourced.ml.models.model_converters.merge_bow import MergeBOW diff --git a/sourced/ml/models/bow.py b/sourced/ml/models/bow.py new file mode 100644 index 0000000..1bd7edf --- /dev/null +++ b/sourced/ml/models/bow.py @@ -0,0 +1,131 @@ +import logging +from typing import Dict, Iterable, List + +from modelforge import assemble_sparse_matrix, disassemble_sparse_matrix, merge_strings, Model, \ + register_model, split_strings +from modelforge.progress_bar import progress_bar +from scipy import sparse + +from sourced.ml.models.df import DocumentFrequencies +from sourced.ml.models.license import DEFAULT_LICENSE + + +@register_model +class BOW(Model): + """ + Weighted bag of words model. Every word is correspond to an index and its matrix column. + Bag is a word set from repository, file or anything else. + Word is source code identifier or its part. + This model depends on :class:`sourced.ml.models.DocumentFrequencies`. + """ + NAME = "bow" + VENDOR = "source{d}" + DESCRIPTION = "Model that contains source code as weighted bag of words." + LICENSE = DEFAULT_LICENSE + + def construct(self, documents: List[str], tokens: List[str], matrix: sparse.spmatrix): + if matrix.shape[0] != len(documents): + raise ValueError("matrix shape mismatch, documents %d != %d" % ( + matrix.shape[0], len(documents))) + if matrix.shape[1] != len(tokens): + raise ValueError("matrix shape mismatch, tokens %d != %d" % ( + matrix.shape[1], len(tokens))) + self._documents = documents + self._matrix = matrix + self._tokens = tokens + return self + + def dump(self): + return "Shape: %s\n" \ + "First 10 documents: %s\n" \ + "First 10 tokens: %s" % \ + (self._matrix.shape, self._documents[:10], self.tokens[:10]) + + @property + def matrix(self) -> sparse.spmatrix: + """ + Returns the bags as a sparse matrix. Rows are documents and columns are tokens weight. + """ + return self._matrix + + @property + def documents(self): + """ + The list of documents in the model. + """ + return self._documents + + @property + def tokens(self): + """ + The list of tokens in the model. + """ + return self._tokens + + def __getitem__(self, item: int): + """ + Returns document name, word indices and weights for the given document index. + + :param item: Document index. + :return: (name, :class:`numpy.ndarray` with word indices, \ + :class:`numpy.ndarray` with weights) + """ + data = self._matrix[item] + return self._documents[item], data.indices, data.data + + def __iter__(self): + """ + Returns an iterator over the document indices. + """ + return iter(range(len(self))) + + def __len__(self): + """ + Returns the number of documents. + """ + return len(self._documents) + + def save(self, output: str, series: str, deps: Iterable = tuple(), + create_missing_dirs: bool = True): + if not deps: + try: + deps = [self.get_dep(DocumentFrequencies.NAME)] + except KeyError: + raise ValueError( + "You must specify DocumentFrequencies dependency to save BOW.") from None + super().save(output=output, series=series, deps=deps, + create_missing_dirs=create_missing_dirs) + + def convert_bow_to_vw(self, output: str): + log = logging.getLogger("bow2vw") + log.info("Writing %s", output) + with open(output, "w") as fout: + for index in progress_bar(self, log, expected_size=len(self)): + record = self[index] + fout.write(record[0].replace(":", "").replace(" ", "_") + " ") + pairs = [] + for t, v in zip(*record[1:]): + try: + word = self.tokens[t] + except (KeyError, IndexError): + log.warning("%d not found in the vocabulary", t) + continue + pairs.append("%s:%s" % (word, v)) + fout.write(" ".join(pairs)) + fout.write("\n") + + def documents_index(self) -> Dict[str, int]: + return {r: i for i, r in enumerate(self._documents)} + + def _generate_tree(self): + return {"documents": merge_strings(self._documents), + "matrix": disassemble_sparse_matrix(self._matrix), + "tokens": merge_strings(self.tokens)} + + def _load_tree_kwargs(self, tree: dict): + return {"documents": split_strings(tree["documents"]), + "matrix": assemble_sparse_matrix(tree["matrix"]), + "tokens": split_strings(tree["tokens"])} + + def _load_tree(self, tree: dict): + self.construct(**self._load_tree_kwargs(tree)) diff --git a/sourced/ml/models/coocc.py b/sourced/ml/models/coocc.py new file mode 100644 index 0000000..a9396b1 --- /dev/null +++ b/sourced/ml/models/coocc.py @@ -0,0 +1,62 @@ +from modelforge.model import ( + assemble_sparse_matrix, disassemble_sparse_matrix, merge_strings, Model, split_strings) +from modelforge.models import register_model + +from sourced.ml.models.license import DEFAULT_LICENSE + + +@register_model +class Cooccurrences(Model): + """ + Co-occurrence matrix. + """ + NAME = "co-occurrences" + VENDOR = "source{d}" + DESCRIPTION = "Model that contains the sparse co-occurrence matrix of source code identifiers." + LICENSE = DEFAULT_LICENSE + + def construct(self, tokens, matrix): + self._tokens = tokens + self._matrix = matrix + return self + + def _load_tree(self, tree): + self.construct(tokens=split_strings(tree["tokens"]), + matrix=assemble_sparse_matrix(tree["matrix"])) + + def dump(self): + return """Number of words: %d +First 10 words: %s +Matrix: shape: %s non-zero: %d""" % ( + len(self.tokens), self.tokens[:10], self.matrix.shape, self.matrix.getnnz()) + + @property + def tokens(self): + """ + Returns the tokens in the order which corresponds to the matrix's rows and cols. + """ + return self._tokens + + @property + def matrix(self): + """ + Returns the sparse co-occurrence matrix. + """ + return self._matrix + + def __len__(self): + """ + Returns the number of tokens in the model. + """ + return len(self._tokens) + + def _generate_tree(self): + return {"tokens": merge_strings(self.tokens), + "matrix": disassemble_sparse_matrix(self.matrix)} + + def matrix_to_rdd(self, spark_context: "pyspark.SparkContext") -> "pyspark.RDD": + self._log.info("Convert coocc model to RDD...") + rdd_row = spark_context.parallelize(self._matrix.row) + rdd_col = spark_context.parallelize(self._matrix.col) + rdd_data = spark_context.parallelize(self._matrix.data) + return rdd_row.zip(rdd_col).zip(rdd_data) diff --git a/sourced/ml/models/df.py b/sourced/ml/models/df.py new file mode 100644 index 0000000..04cf36f --- /dev/null +++ b/sourced/ml/models/df.py @@ -0,0 +1,169 @@ +from itertools import islice +from typing import Dict, Iterable, List, Union + +from modelforge import merge_strings, Model, register_model, split_strings +import numpy + +from sourced.ml.models.license import DEFAULT_LICENSE + + +@register_model +class DocumentFrequencies(Model): + """ + Document frequencies - number of times a source code identifier appeared + in different repositories. Each repository counts only once. + """ + NAME = "docfreq" + VENDOR = "source{d}" + DESCRIPTION = "Model that contains document frequencies of features extracted from code." + LICENSE = DEFAULT_LICENSE + + def construct(self, docs: int, tokfreqs: Union[Iterable[Dict[str, int]], Dict[str, int]]): + """ + Initializes this model. + :param docs: The number of documents. + :param tokfreqs: The dictionary of token -> frequency or the iterable collection of such + dictionaries. + :return: self + """ + if isinstance(tokfreqs, dict): + df = tokfreqs + else: + df = {} + for d in tokfreqs: + df.update(d) + self._docs = docs + self._df = df + return self + + """ + WE DO NOT ADD THIS + + def df(self) -> dict: + """ + + def _load_tree(self, tree: dict, tokens=None): + if tokens is None: + tokens = split_strings(tree["tokens"]) + freqs = tree["freqs"] + self._log.info("Building the docfreq dictionary...") + tokfreq = dict(zip(tokens, freqs)) + self.construct(docs=tree["docs"], tokfreqs=tokfreq) + + def _generate_tree(self): + tokens = self.tokens() + freqs = numpy.array([self._df[t] for t in tokens], dtype=numpy.float32) + return {"docs": self.docs, "tokens": merge_strings(tokens), "freqs": freqs} + + def dump(self): + return """Number of words: %d +Random 10 words: %s +Number of documents: %d""" % ( + len(self._df), dict(islice(self._df.items(), 10)), self.docs) + + @property + def docs(self) -> int: + """ + Returns the number of documents. + """ + return self._docs + + """ + WE DO NOT ADD THIS + + def df(self) -> dict: + """ + + def prune(self, threshold: int) -> "DocumentFrequencies": + """ + Removes tokens which occur less than `threshold` times. + The operation happens *not* in-place - a new model is returned. + :param threshold: Minimum number of occurrences. + :return: The new model if the current one had to be changed, otherwise self. + """ + if threshold < 1: + raise ValueError("Invalid threshold: %d" % threshold) + if threshold == 1: + return self + self._log.info("Pruning to min %d occurrences", threshold) + pruned = type(self)() + pruned._docs = self.docs + pruned._df = {k: v for k, v in self._df.items() if v >= threshold} + self._log.info("Size: %d -> %d", len(self), len(pruned)) + pruned._meta = self.meta + return pruned + + def greatest(self, max_size: int) -> "DocumentFrequencies": + """ + Truncates the model to most frequent `max_size` tokens. + The operation happens *not* in-place - a new model is returned. + :param max_size: The maximum vocabulary size. + :return: The new model if the current one had to be changed, otherwise self. + """ + if max_size < 1: + raise ValueError("Invalid max_size: %d" % max_size) + if len(self) <= max_size: + return self + self._log.info("Pruning to max %d size", max_size) + pruned = type(self)() + pruned._docs = self.docs + freqs = numpy.fromiter(self._df.values(), dtype=numpy.int32, count=len(self)) + keys = numpy.array(list(self._df.keys()), dtype=object) + chosen = numpy.argpartition(freqs, len(freqs) - max_size)[len(freqs) - max_size:] + border_freq = freqs[chosen].min() + chosen = freqs >= border_freq + # argpartition can leave some of the elements with freq == border_freq outside + # so next step ensures that we include everything. + freqs = freqs[chosen] + keys = keys[chosen] + # we need to be deterministic at the cutoff frequency + # argpartition returns random samples every time + # so we treat words with the cutoff frequency separately + if max_size != freqs.shape[0]: + assert max_size < freqs.shape[0] + border_freq_indexes = freqs == border_freq + border_keys = keys[border_freq_indexes] + border_keys.sort() + border_keys = border_keys[:max_size - freqs.shape[0]] + df = dict(zip(keys[~border_freq_indexes], freqs[~border_freq_indexes])) + df.update({key: border_freq for key in border_keys}) + else: + df = dict(zip(keys, freqs)) + pruned._df = df + self._log.info("Size: %d -> %d", len(self), len(pruned)) + pruned._meta = self.meta + return pruned + + def __getitem__(self, item): + return self._df[item] + + def __iter__(self): + return iter(self._df.items()) + + def __len__(self): + """ + Returns the number of tokens in the model. + """ + return len(self._df) + + def get(self, item, default=None) -> Union[int, None]: + """ + Return the document frequency for a given token. + + :param item: The token to query. + :param default: Returned value in case the token is missing. + :return: int or `default` + """ + return self._df.get(item, default) + + def tokens(self) -> List[str]: + """ + Returns the list of tokens. + """ + return list(self._df) + + """ + WE DO NOT ADD THIS + + def df(self) -> dict: + """ diff --git a/sourced/ml/models/id2vec.py b/sourced/ml/models/id2vec.py new file mode 100644 index 0000000..a9f7c14 --- /dev/null +++ b/sourced/ml/models/id2vec.py @@ -0,0 +1,66 @@ +from modelforge import merge_strings, Model, register_model, split_strings + +from sourced.ml.models.license import DEFAULT_LICENSE + + +@register_model +class Id2Vec(Model): + """ + id2vec model - source code identifier embeddings. + """ + NAME = "id2vec" + VENDOR = "source{d}" + DESCRIPTION = "Model that contains information on source code as identifier embeddings." + LICENSE = DEFAULT_LICENSE + + def construct(self, embeddings, tokens): + self._embeddings = embeddings + self._tokens = tokens + self._log.info("Building the token index...") + self._token2index = {w: i for i, w in enumerate(self._tokens)} + return self + + def _load_tree(self, tree): + self.construct(embeddings=tree["embeddings"].copy(), + tokens=split_strings(tree["tokens"])) + + def dump(self): + return """Shape: %s +First 10 words: %s""" % ( + self.embeddings.shape, self.tokens[:10]) + + @property + def embeddings(self): + """ + :class:`numpy.ndarray` with the embeddings of shape + (N tokens x embedding dims). + """ + return self._embeddings + + @property + def tokens(self): + """ + List with the processed source code identifiers. + """ + return self._tokens + + def items(self): + """ + Returns the tuples belonging to token -> index mapping. + """ + return self._token2index.items() + + def __getitem__(self, item): + """ + Returns the index of the specified processed source code identifier. + """ + return self._token2index[item] + + def __len__(self): + """ + Returns the number of tokens in the model. + """ + return len(self._tokens) + + def _generate_tree(self): + return {"embeddings": self.embeddings, "tokens": merge_strings(self.tokens)} diff --git a/sourced/ml/models/license.py b/sourced/ml/models/license.py new file mode 100644 index 0000000..9ebe479 --- /dev/null +++ b/sourced/ml/models/license.py @@ -0,0 +1,3 @@ +"""Default license used for the models.""" + +DEFAULT_LICENSE = "ODbL-1.0" diff --git a/sourced/ml/models/model_converters/__init__.py b/sourced/ml/models/model_converters/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/sourced/ml/models/model_converters/base.py b/sourced/ml/models/model_converters/base.py new file mode 100644 index 0000000..ab1a43a --- /dev/null +++ b/sourced/ml/models/model_converters/base.py @@ -0,0 +1,115 @@ +import logging +import multiprocessing +import os +from typing import List, Union + +from modelforge import Model +from modelforge.progress_bar import progress_bar + +from sourced.ml.utils.pickleable_logger import PickleableLogger + + +class Model2Base(PickleableLogger): + """ + Base class for model -> model conversions. + """ + MODEL_FROM_CLASS = None + MODEL_TO_CLASS = None + + def __init__(self, num_processes: int = 0, + log_level: int = logging.DEBUG, overwrite_existing: bool = True): + """ + Initializes a new instance of Model2Base class. + + :param num_processes: The number of processes to execute for conversion. + :param log_level: Logging verbosity level. + :param overwrite_existing: Rewrite existing models or skip them. + """ + super().__init__(log_level=log_level) + self.num_processes = multiprocessing.cpu_count() if num_processes == 0 else num_processes + self.overwrite_existing = overwrite_existing + + def convert(self, models_path: List[str], destdir: str) -> int: + """ + Performs the model -> model conversion. Runs the conversions in a pool of processes. + + :param models_path: List of Models path. + :param destdir: The directory where to store the models. The directory structure is \ + preserved. + :return: The number of converted files. + """ + files = list(models_path) + self._log.info("Found %d files", len(files)) + if not files: + return 0 + queue_in = multiprocessing.Manager().Queue() + queue_out = multiprocessing.Manager().Queue(1) + processes = [multiprocessing.Process(target=self._process_entry, + args=(i, destdir, queue_in, queue_out)) + for i in range(self.num_processes)] + for p in processes: + p.start() + for f in files: + queue_in.put(f) + for _ in processes: + queue_in.put(None) + failures = 0 + for _ in progress_bar(files, self._log, expected_size=len(files)): + filename, ok = queue_out.get() + if not ok: + failures += 1 + for p in processes: + p.join() + self._log.info("Finished, %d failed files", failures) + return len(files) - failures + + def convert_model(self, model: Model) -> Union[Model, None]: + """ + This must be implemented in the child classes. + + :param model: The model instance to convert. + :return: The converted model instance or None if it is not needed. + """ + raise NotImplementedError + + def finalize(self, index: int, destdir: str): + """ + Called for each worker in the end of the processing. + + :param index: Worker's index. + :param destdir: The directory where to store the models. + """ + pass + + def _process_entry(self, index, destdir, queue_in, queue_out): + while True: + filepath = queue_in.get() + if filepath is None: + break + try: + model_path = os.path.join(destdir, os.path.split(filepath)[1]) + if os.path.exists(model_path): + if self.overwrite_existing: + self._log.warning( + "Model %s already exists, but will be overwrite. If you want to " + "skip existing models use --disable-overwrite flag", model_path) + else: + self._log.warning("Model %s already exists, skipping.", model_path) + queue_out.put((filepath, True)) + continue + model_from = self.MODEL_FROM_CLASS(log_level=self._log.level).load(filepath) + model_to = self.convert_model(model_from) + if model_to is not None: + dirs = os.path.dirname(model_path) + if dirs: + os.makedirs(dirs, exist_ok=True) + model_to.save(model_path, deps=model_to.meta["dependencies"]) + except: # noqa + self._log.exception("%s failed", filepath) + queue_out.put((filepath, False)) + else: + queue_out.put((filepath, True)) + self.finalize(index, destdir) + + def _get_log_name(self): + return "%s2%s" % (self.MODEL_FROM_CLASS.NAME, self.MODEL_TO_CLASS.NAME) diff --git a/sourced/ml/models/model_converters/merge_bow.py b/sourced/ml/models/model_converters/merge_bow.py new file mode 100644 index 0000000..1b4c95a --- /dev/null +++ b/sourced/ml/models/model_converters/merge_bow.py @@ -0,0 +1,69 @@ +import os + +from scipy.sparse import vstack + +from sourced.ml import extractors +from sourced.ml.models.bow import BOW +from sourced.ml.models.model_converters.base import Model2Base + + +class MergeBOW(Model2Base): + """ + Merges several :class:`BOW` models together. + """ + MODEL_FROM_CLASS = BOW + MODEL_TO_CLASS = BOW + + def __init__(self, features=None, *args, **kwargs): + super().__init__(num_processes=1, *args, **kwargs) + self.documents = None + self.tokens = None + self.matrix = None + self.deps = None + self.features_namespaces = None + if features: + self.features_namespaces = [ex.NAMESPACE for ex in extractors.__extractors__.values() + if ex.NAME in features] + + def convert_model(self, model: BOW) -> None: + if self.tokens is None: + self.tokens = model.tokens + self.documents = model.documents + self.matrix = [model.matrix.tocsr()] + self.deps = model._meta["dependencies"] + elif set(self.tokens) != set(model.tokens): + raise ValueError("Models don't share the same set of tokens !") + else: + self.documents += model.documents + self.matrix.append(model.matrix.tocsr()) + + def finalize(self, index: int, destdir: str): + self._log.info("Stacking matrices ...") + matrix = self.matrix.pop(0) + while self.matrix: + matrix = vstack([matrix, self.matrix.pop(0)]) + self._log.info("%s matrices to stack ...", len(self.matrix)) + self.matrix = matrix + self._log.info("Writing model ...") + if self.features_namespaces: + self._reduce_matrix() + BOW(log_level=self._log.level) \ + .construct(self.documents, self.tokens, self.matrix) \ + .save(output=self._save_path(index, destdir), series="id2vec", deps=self.deps) + + def _reduce_matrix(self): + reduced_tokens = [] + columns = [] + matrix = self.matrix.tocsc() + for i, token in enumerate(self.tokens): + if token.split(".")[0] in self.features_namespaces: + reduced_tokens.append(token) + columns.append(i) + self.tokens = reduced_tokens + self.matrix = matrix[:, columns] + + @staticmethod + def _save_path(index: int, destdir: str): + if destdir.endswith(".asdf"): + return destdir + return os.path.join(destdir, "bow_%d.asdf" % index) diff --git a/sourced/ml/models/model_converters/merge_df.py b/sourced/ml/models/model_converters/merge_df.py new file mode 100644 index 0000000..a96f8f6 --- /dev/null +++ b/sourced/ml/models/model_converters/merge_df.py @@ -0,0 +1,42 @@ +from collections import defaultdict +import os + +from sourced.ml.models.df import DocumentFrequencies +from sourced.ml.models.model_converters.base import Model2Base +from sourced.ml.models.ordered_df import OrderedDocumentFrequencies + + +class MergeDocFreq(Model2Base): + """ + Merges several :class:`DocumentFrequencies` models together. + """ + MODEL_FROM_CLASS = DocumentFrequencies + MODEL_TO_CLASS = DocumentFrequencies + + def __init__(self, min_docfreq: int, vocabulary_size: int, ordered: bool = False, + *args, **kwargs): + super().__init__(num_processes=1, *args, **kwargs) + self.ordered = ordered + self.min_docfreq = min_docfreq + self.vocabulary_size = vocabulary_size + self._df = defaultdict(int) + self._docs = 0 + + def convert_model(self, model: DocumentFrequencies) -> None: + for word, freq in model: + self._df[word] += freq + self._docs += model.docs + + def finalize(self, index: int, destdir: str): + df_model = OrderedDocumentFrequencies if self.ordered else DocumentFrequencies + df_model(log_level=self._log.level) \ + .construct(self._docs, self._df) \ + .prune(self.min_docfreq) \ + .greatest(self.vocabulary_size) \ + .save(output=self._save_path(index, destdir), series="id2vec") + + @staticmethod + def _save_path(index: int, destdir: str): + if destdir.endswith(".asdf"): + return destdir + return os.path.join(destdir, "docfreq_%d.asdf" % index) diff --git a/sourced/ml/models/ordered_df.py b/sourced/ml/models/ordered_df.py new file mode 100644 index 0000000..bb60a31 --- /dev/null +++ b/sourced/ml/models/ordered_df.py @@ -0,0 +1,60 @@ +from typing import Dict, Iterable, List + +from modelforge import merge_strings, register_model, split_strings +import numpy + +from sourced.ml.models import DocumentFrequencies + + +@register_model +class OrderedDocumentFrequencies(DocumentFrequencies): + """ + Compatible with the original DocumentFrequencies. This model maintains the determinitic + sequence of the tokens. + """ + # NAME is the same + + def construct(self, docs: int, tokfreqs: Iterable[Dict[str, int]]): + super().construct(docs, tokfreqs) + self._log.info("Ordering the keys...") + keys = sorted(self._df) + self._order = {k: i for i, k in enumerate(keys)} + return self + + @property + def order(self) -> Dict[str, int]: + return self._order + + def tokens(self) -> List[str]: + arr = [None for _ in range(len(self))] + for k, v in self.order.items(): + arr[v] = k + return arr + + def _load_tree(self, tree): + tokens = split_strings(tree["tokens"]) + super()._load_tree(tree, tokens) + self._log.info("Mapping the keys order...") + self._order = {k: i for i, k in enumerate(tokens)} + + def _generate_tree(self): + tokens = [None] * len(self) + freqs = numpy.zeros(len(self), dtype=numpy.float32) + for k, i in self._order.items(): + tokens[i] = k + freqs[i] = self._df[k] + return {"docs": self.docs, "tokens": merge_strings(tokens), "freqs": freqs} + + def prune(self, threshold: int) -> "OrderedDocumentFrequencies": + pruned = super().prune(threshold) + if pruned is not self: + self._log.info("Recovering the order...") + pruned._order = {k: i for i, k in enumerate(sorted(pruned._df))} + return pruned + + def greatest(self, max_size: int) -> "OrderedDocumentFrequencies": + pruned = super().greatest(max_size) + if pruned is not self: + self._log.info("Recovering the order...") + pruned._order = {k: i for i, k in enumerate(sorted(pruned._df))} + return pruned diff --git a/sourced/ml/models/quant.py b/sourced/ml/models/quant.py new file mode 100644 index 0000000..d0d0867 --- /dev/null +++ b/sourced/ml/models/quant.py @@ -0,0 +1,62 @@ +from typing import Dict + +from modelforge import merge_strings, Model, register_model, split_strings +import numpy + +from sourced.ml.models.license import DEFAULT_LICENSE + + +@register_model +class QuantizationLevels(Model): + """ + This model contains quantization levels for multiple schemes (feature types). + Every feature "class" (type, possible distinct value) corresponds to the numpy array + with integer level borders. The size of each numpy array is (the number of levels + 1). + """ + NAME = "quant" + VENDOR = "source{d}" + DESCRIPTION = "Model that contains quantization levels for multiple schemes (feature types)." + LICENSE = DEFAULT_LICENSE + + def construct(self, levels: Dict[str, Dict[str, numpy.ndarray]]): + self._levels = levels + return self + + @property + def levels(self) -> Dict[str, Dict[str, numpy.ndarray]]: + return self._levels + + def __len__(self): + return len(self.levels) + + def _load_tree(self, tree): + self._levels = {} + for key, vals in tree["schemes"].items(): + classes = split_strings(vals["classes"]) + levels = vals["levels"] + self.levels[key] = dict(zip(classes, numpy.split(levels, len(classes)))) + + def _generate_tree(self): + tree = {"schemes": {}} + for key, vals in self.levels.items(): + tree["schemes"][key] = scheme = {} + npartitions = len(next(iter(vals.values()))) + classes = [None for _ in range(len(vals))] + scheme["levels"] = levels = numpy.zeros(len(vals) * npartitions, dtype=numpy.int32) + for i, pair in enumerate(vals.items()): + classes[i], levels[i * npartitions:(i + 1) * npartitions] = pair + scheme["classes"] = merge_strings(classes) + return tree + + def dump(self): + return """Schemes: %s""" % ( + sorted((v[0], "%d@%d" % (len(v[1]), len(next(iter(v[1].values()))) - 1)) + for v in self.levels.items())) + + def apply_quantization(self, extractors): + for extractor in extractors: + try: + extractor.quantize + except AttributeError: + continue + extractor.uast_to_bag.levels = self._levels[extractor.NAME] diff --git a/sourced/ml/models/tensorflow.py b/sourced/ml/models/tensorflow.py new file mode 100644 index 0000000..12da859 --- /dev/null +++ b/sourced/ml/models/tensorflow.py @@ -0,0 +1,50 @@ +from typing import List + +from modelforge import Model, register_model +import numpy + +from sourced.ml.models.license import DEFAULT_LICENSE + + +@register_model +class TensorFlowModel(Model): + """ + TensorFlow Protobuf model exported in the Modelforge format with GraphDef inside. + """ + NAME = "tensorflow-model" + VENDOR = "source{d}" + DESCRIPTION = "TensorFlow Protobuf model that contains a GraphDef instance." + LICENSE = DEFAULT_LICENSE + + def construct(self, graphdef: "tensorflow.GraphDef" = None, # noqa: F821 + session: "tensorflow.Session" = None, # noqa: F821 + outputs: List[str] = None): + if graphdef is None: + assert session is not None + assert outputs is not None + graphdef = session.graph_def + from tensorflow.python.framework import graph_util + for node in graphdef.node: + node.device = "" + graphdef = graph_util.convert_variables_to_constants( + session, graphdef, outputs) + self._graphdef = graphdef + return self + + @property + def graphdef(self): + """ + Returns the wrapped TensorFlow GraphDef. + """ + return self._graphdef + + def _generate_tree(self) -> dict: + return {"graphdef": numpy.frombuffer(self._graphdef.SerializeToString(), + dtype=numpy.uint8)} + + def _load_tree(self, tree: dict): + from tensorflow.core.framework import graph_pb2 + + graphdef = graph_pb2.GraphDef() + graphdef.ParseFromString(tree["graphdef"].data) + self.construct(graphdef=graphdef) diff --git a/sourced/ml/models/topics.py b/sourced/ml/models/topics.py new file mode 100644 index 0000000..546e131 --- /dev/null +++ b/sourced/ml/models/topics.py @@ -0,0 +1,86 @@ +from typing import Union + +from modelforge import assemble_sparse_matrix, disassemble_sparse_matrix, merge_strings, \ + Model, register_model, split_strings + +from sourced.ml.models.license import DEFAULT_LICENSE + + +@register_model +class Topics(Model): + NAME = "topics" + VENDOR = "source{d}" + DESCRIPTION = "Model that is used to identify topics of source code repositories." + LICENSE = DEFAULT_LICENSE + + @property + def tokens(self): + return self._tokens + + @property + def topics(self): + """ + May be None if no topics are labeled. + """ + return self._topics + + @property + def matrix(self): + """ + Rows: tokens + Columns: topics + """ + return self._matrix + + def construct(self, tokens: list, topics: Union[list, None], matrix): + if len(tokens) != matrix.shape[1]: + raise ValueError("Tokens and matrix do not match.") + self._tokens = tokens + self._topics = topics + self._matrix = matrix + return self + + def _load_tree(self, tree: dict) -> None: + self.construct(split_strings(tree["tokens"]), + split_strings(tree["topics"]) if tree["topics"] else None, + assemble_sparse_matrix(tree["matrix"])) + + def dump(self) -> str: + res = "%d topics, %d tokens\nFirst 10 tokens: %s\nTopics: " % ( + self.matrix.shape + (self.tokens[:10],)) + if self.topics is not None: + res += "labeled, first 10: %s\n" % self.topics[:10] + else: + res += "unlabeled\n" + nnz = self.matrix.getnnz() + res += "non-zero elements: %d (%f)" % ( + nnz, nnz / (self.matrix.shape[0] * self.matrix.shape[1])) + return res + + def _generate_tree(self): + return {"tokens": merge_strings(self.tokens), + "topics": merge_strings(self.topics) if self.topics is not None else False, + "matrix": disassemble_sparse_matrix(self.matrix)} + + def __len__(self): + """ + Returns the number of topics. + """ + return self.matrix.shape[0] + + def __getitem__(self, item): + """ + Returns the keywords sorted by significance from topic index. + """ + row = self.matrix[item] + nnz = row.nonzero()[1] + pairs = [(-row[0, i], i) for i in nnz] + pairs.sort() + return [(self.tokens[pair[1]], -pair[0]) for pair in pairs] + + def label_topics(self, labels): + if len(labels) != len(self): + raise ValueError("Sizes do not match: %d != %d" % (len(labels), len(self))) + if not isinstance(labels[0], str): + raise TypeError("Labels must be strings") + self._topics = list(labels) diff --git a/sourced/ml/utils/__init__.py b/sourced/ml/utils/__init__.py new file mode 100644 index 0000000..f779fe3 --- /dev/null +++ b/sourced/ml/utils/__init__.py @@ -0,0 +1,3 @@ +# flake8: noqa +from sourced.ml.utils.bigartm import install_bigartm +from sourced.ml.utils.pickleable_logger import PickleableLogger diff --git a/sourced/ml/utils/bblfsh.py b/sourced/ml/utils/bblfsh.py new file mode 100644 index 0000000..12b111a --- /dev/null +++ b/sourced/ml/utils/bblfsh.py @@ -0,0 +1,19 @@ +from distutils.version import StrictVersion + +from bblfsh.client import BblfshClient + +BBLFSH_VERSION_LOW = "2.2" +BBLFSH_VERSION_HIGH = "3.0" + + +def check_version(host: str = "0.0.0.0", port: str = "9432") -> bool: + """ + Check if the bblfsh server version matches module requirements. + + :param host: bblfsh server host + :param port: bblfsh server port + :return: True if bblfsh version specified matches requirements + """ + # get version and remove leading 'v' + version = StrictVersion(BblfshClient("%s:%s" % (host, port)).version().version.lstrip("v")) + return StrictVersion(BBLFSH_VERSION_LOW) <= version < StrictVersion(BBLFSH_VERSION_HIGH) diff --git a/sourced/ml/utils/bblfsh_roles.py b/sourced/ml/utils/bblfsh_roles.py new file mode 100644 index 0000000..22f8569 --- /dev/null +++ b/sourced/ml/utils/bblfsh_roles.py @@ -0,0 +1,14 @@ +import bblfsh + + +IDENTIFIER = bblfsh.role_id("IDENTIFIER") +QUALIFIED = bblfsh.role_id("QUALIFIED") +LITERAL = bblfsh.role_id("LITERAL") +OPERATOR = bblfsh.role_id("OPERATOR") +EXPRESSION = bblfsh.role_id("EXPRESSION") +LEFT = bblfsh.role_id("LEFT") +BINARY = bblfsh.role_id("BINARY") +ASSIGNMENT = bblfsh.role_id("ASSIGNMENT") +FUNCTION = bblfsh.role_id("FUNCTION") +DECLARATION = bblfsh.role_id("DECLARATION") +NAME = bblfsh.role_id("NAME") diff --git a/sourced/ml/utils/bigartm.py b/sourced/ml/utils/bigartm.py new file mode 100644 index 0000000..26e78e7 --- /dev/null +++ b/sourced/ml/utils/bigartm.py @@ -0,0 +1,58 @@ +import glob +import logging +import multiprocessing +import os +import shutil +import subprocess +import tempfile + + +def execute(cmd, cwd, log): + log.info(">>> %s", cmd) + parsed = [v for v in cmd.split(" ") if v] + subprocess.check_call(parsed, cwd=cwd) + + +def install_bigartm(args=None, target="./bigartm", tempdir=None): + """ + Deploys bigartm/bigartm at the specified path. + + :param args: :class:`argparse.Namespace` with "output" and "tmpdir". \ + "output" sets the target directory, "tmpdir" sets \ + the temporary directory which is used to clone bigartm/bigartm \ + and build it. + :param target: The path to the built executable. If args is not None, it \ + becomes overridden. + :param tempdir: The temporary directory where to clone and build \ + bigartm/bigartm. If args is not None, it becomes overridden. + :return: None if successful; otherwise, the error code (can be 0!). + """ + log = logging.getLogger("bigartm") + if args is not None: + tempdir = args.tmpdir + target = os.path.join(args.output, "bigartm") + if shutil.which(os.path.basename(target)) or shutil.which(target, path=os.getcwd()): + log.warning("bigartm is in the PATH, no-op.") + return 0 + if not shutil.which("cmake"): + log.error("You need to install cmake.") + return 1 + parent_dir = os.path.dirname(target) + os.makedirs(parent_dir, exist_ok=True) + if not os.path.isdir(parent_dir): + log.error("%s is not a directory.", parent_dir) + return 2 + with tempfile.TemporaryDirectory(prefix="bigartm-", dir=tempdir) as tmpdir: + log.info("Building bigartm/bigartm in %s...", tmpdir) + execute("git clone --single-branch --depth=1 https://github.com/bigartm/bigartm .", + tmpdir, log) + cwd = os.path.join(tmpdir, "build") + os.mkdir(cwd) + execute("cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DPYTHON=python3 ..", + cwd, log) + execute("make -j%d" % multiprocessing.cpu_count(), cwd, log) + whl_path = glob.glob(os.path.join(tmpdir, "build/python/*.whl"))[0] + execute("pip3 install \"%s\"" % whl_path, cwd, log) + shutil.copyfile(os.path.join(cwd, "bin", "bigartm"), target) + os.chmod(target, 0o777) + log.info("Installed %s", os.path.abspath(target)) diff --git a/sourced/ml/utils/pickleable_logger.py b/sourced/ml/utils/pickleable_logger.py new file mode 100644 index 0000000..31d5bd0 --- /dev/null +++ b/sourced/ml/utils/pickleable_logger.py @@ -0,0 +1,35 @@ +import logging + + +class PickleableLogger: + """ + Base class which provides the logging features through ``self._log``. + + Can be safely pickled. + """ + + def __init__(self, log_level=logging.INFO): + """ + Class constructor + + :param log_level: logging level. + """ + self._log = logging.getLogger(self._get_log_name()) + self._log.setLevel(log_level) + + def __getstate__(self): + state = self.__dict__.copy() + state["_log"] = self._log.level + return state + + def __setstate__(self, state): + self.__dict__.update(state) + log_level = state["_log"] + self._log = logging.getLogger(self._get_log_name()) + self._log.setLevel(log_level) + + def _get_log_name(self): + """ + Children must implement this method. It shall return the logger's name. + """ + raise NotImplementedError diff --git a/sourced/ml/utils/projector.py b/sourced/ml/utils/projector.py new file mode 100644 index 0000000..77d747b --- /dev/null +++ b/sourced/ml/utils/projector.py @@ -0,0 +1,108 @@ +from http.server import HTTPServer, SimpleHTTPRequestHandler, test +import logging +import os +import shutil +import threading +import time + + +class CORSWebServer: + def __init__(self): + self.thread = None + self.server = None + + def serve(self): + outer = self + + class ClojureServer(HTTPServer): + def __init__(self, *args, **kwargs): + HTTPServer.__init__(self, *args, **kwargs) + outer.server = self + + class CORSRequestHandler(SimpleHTTPRequestHandler): + def end_headers(self): + self.send_header("Access-Control-Allow-Origin", "*") + SimpleHTTPRequestHandler.end_headers(self) + + test(CORSRequestHandler, ClojureServer) + + def start(self): + self.thread = threading.Thread(target=self.serve) + self.thread.start() + + def stop(self): + if self.running: + self.server.shutdown() + self.server.server_close() + self.thread.join() + self.server = None + self.thread = None + + @property + def running(self): + return self.server is not None + + +web_server = CORSWebServer() + + +def present_embeddings(destdir, run_server, labels, index, embeddings): + log = logging.getLogger("projector") + log.info("Writing Tensorflow Projector files...") + if not os.path.isdir(destdir): + os.makedirs(destdir) + os.chdir(destdir) + metaf = "id2vec_meta.tsv" + with open(metaf, "w") as fout: + if len(labels) > 1: + fout.write("\t".join(labels) + "\n") + for item in index: + if len(labels) > 1: + fout.write("\t".join(item) + "\n") + else: + fout.write(item + "\n") + log.info("Wrote %s", metaf) + dataf = "id2vec_data.tsv" + with open(dataf, "w") as fout: + for vec in embeddings: + fout.write("\t".join(str(v) for v in vec)) + fout.write("\n") + log.info("Wrote %s", dataf) + jsonf = "id2vec.json" + with open(jsonf, "w") as fout: + fout.write("""{ + "embeddings": [ + { + "tensorName": "id2vec", + "tensorShape": [%s, %s], + "tensorPath": "http://0.0.0.0:8000/%s", + "metadataPath": "http://0.0.0.0:8000/%s" + } + ] +} +""" % (len(embeddings), len(embeddings[0]), dataf, metaf)) + log.info("Wrote %s", jsonf) + if run_server and not web_server.running: + web_server.start() + url = "http://projector.tensorflow.org/?config=http://0.0.0.0:8000/" + jsonf + log.info(url) + if run_server: + if shutil.which("xdg-open") is not None: + os.system("xdg-open " + url) + else: + browser = os.getenv("BROWSER", "") + if browser: + os.system(browser + " " + url) + else: + print("\t" + url) + + +def wait(): + log = logging.getLogger("projector") + secs = int(os.getenv("PROJECTOR_SERVER_TIME", "60")) + log.info("Sleeping for %d seconds, safe to Ctrl-C" % secs) + try: + time.sleep(secs) + except KeyboardInterrupt: + pass + web_server.stop() From 620cea7bcffac0439b5e16786ce8d060a738b330 Mon Sep 17 00:00:00 2001 From: Guillem Duran Date: Wed, 24 Apr 2019 08:52:16 +0200 Subject: [PATCH 2/5] Add tests Signed-off-by: Guillem Duran --- sourced/ml/tests/.gitignore | 1 + sourced/ml/tests/__init__.py | 37 +++ sourced/ml/tests/asdf/bow.asdf | Bin 0 -> 2482 bytes sourced/ml/tests/asdf/coocc.asdf | Bin 0 -> 79910 bytes sourced/ml/tests/asdf/coocc_df.asdf | Bin 0 -> 3086 bytes sourced/ml/tests/asdf/docfreq_1000.asdf | Bin 0 -> 6391 bytes sourced/ml/tests/asdf/id2vec_1000.asdf | Bin 0 -> 1122670 bytes sourced/ml/tests/asdf/quant.asdf | Bin 0 -> 4038 bytes sourced/ml/tests/asdf/topics.asdf | Bin 0 -> 36801 bytes sourced/ml/tests/asdf/uast.asdf | Bin 0 -> 340628 bytes sourced/ml/tests/asdf/voccoocc.asdf | Bin 0 -> 90438 bytes sourced/ml/tests/identifiers.csv.tar.gz | Bin 0 -> 2563 bytes sourced/ml/tests/models.py | 25 ++ sourced/ml/tests/models/test_tensorflow.py | 31 ++ sourced/ml/tests/source/__init__.py | 0 sourced/ml/tests/source/example.py | 16 + sourced/ml/tests/source/example_functions.py | 16 + sourced/ml/tests/swivel/col_sums.txt | 304 ++++++++++++++++++ sourced/ml/tests/swivel/col_sums.txt.gz | Bin 0 -> 439 bytes sourced/ml/tests/swivel/col_vocab.txt | 304 ++++++++++++++++++ sourced/ml/tests/swivel/col_vocab.txt.gz | Bin 0 -> 1043 bytes sourced/ml/tests/swivel/row_sums.txt | 304 ++++++++++++++++++ sourced/ml/tests/swivel/row_sums.txt.gz | Bin 0 -> 439 bytes sourced/ml/tests/swivel/row_vocab.txt | 304 ++++++++++++++++++ sourced/ml/tests/swivel/row_vocab.txt.gz | Bin 0 -> 1043 bytes sourced/ml/tests/swivel/shard-000-000.pb.gz | Bin 0 -> 26079 bytes sourced/ml/tests/test_bblfsh_utils.py | 83 +++++ sourced/ml/tests/test_bigartm.py | 29 ++ sourced/ml/tests/test_bow.py | 44 +++ sourced/ml/tests/test_coocc.py | 28 ++ sourced/ml/tests/test_df.py | 101 ++++++ sourced/ml/tests/test_dump.py | 131 ++++++++ sourced/ml/tests/test_id_splitter_features.py | 145 +++++++++ sourced/ml/tests/test_id_splitter_nn_model.py | 56 ++++ sourced/ml/tests/test_id_splitter_pipeline.py | 126 ++++++++ sourced/ml/tests/test_inttypes_to_nodes.py | 40 +++ sourced/ml/tests/test_merge_bow.py | 87 +++++ sourced/ml/tests/test_merge_df.py | 40 +++ sourced/ml/tests/test_model2base.py | 99 ++++++ sourced/ml/tests/test_pickleable_logger.py | 22 ++ sourced/ml/tests/test_projector.py | 127 ++++++++ sourced/ml/tests/test_quant.py | 49 +++ sourced/ml/tests/test_random_walk.py | 29 ++ sourced/ml/tests/test_token_parser.py | 173 ++++++++++ .../tests/test_uast_inttypes_to_graphlets.py | 20 ++ sourced/ml/tests/test_uast_struct_to_bag.py | 55 ++++ sourced/ml/tests/test_uast_to_id_distance.py | 137 ++++++++ sourced/ml/tests/test_uast_to_id_sequence.py | 24 ++ .../ml/tests/test_uast_to_role_id_pairs.py | 41 +++ 49 files changed, 3028 insertions(+) create mode 100644 sourced/ml/tests/.gitignore create mode 100644 sourced/ml/tests/__init__.py create mode 100644 sourced/ml/tests/asdf/bow.asdf create mode 100644 sourced/ml/tests/asdf/coocc.asdf create mode 100644 sourced/ml/tests/asdf/coocc_df.asdf create mode 100644 sourced/ml/tests/asdf/docfreq_1000.asdf create mode 100644 sourced/ml/tests/asdf/id2vec_1000.asdf create mode 100644 sourced/ml/tests/asdf/quant.asdf create mode 100644 sourced/ml/tests/asdf/topics.asdf create mode 100644 sourced/ml/tests/asdf/uast.asdf create mode 100644 sourced/ml/tests/asdf/voccoocc.asdf create mode 100644 sourced/ml/tests/identifiers.csv.tar.gz create mode 100644 sourced/ml/tests/models.py create mode 100644 sourced/ml/tests/models/test_tensorflow.py create mode 100644 sourced/ml/tests/source/__init__.py create mode 100644 sourced/ml/tests/source/example.py create mode 100644 sourced/ml/tests/source/example_functions.py create mode 100644 sourced/ml/tests/swivel/col_sums.txt create mode 100644 sourced/ml/tests/swivel/col_sums.txt.gz create mode 100644 sourced/ml/tests/swivel/col_vocab.txt create mode 100644 sourced/ml/tests/swivel/col_vocab.txt.gz create mode 100644 sourced/ml/tests/swivel/row_sums.txt create mode 100644 sourced/ml/tests/swivel/row_sums.txt.gz create mode 100644 sourced/ml/tests/swivel/row_vocab.txt create mode 100644 sourced/ml/tests/swivel/row_vocab.txt.gz create mode 100644 sourced/ml/tests/swivel/shard-000-000.pb.gz create mode 100644 sourced/ml/tests/test_bblfsh_utils.py create mode 100644 sourced/ml/tests/test_bigartm.py create mode 100644 sourced/ml/tests/test_bow.py create mode 100644 sourced/ml/tests/test_coocc.py create mode 100644 sourced/ml/tests/test_df.py create mode 100644 sourced/ml/tests/test_dump.py create mode 100644 sourced/ml/tests/test_id_splitter_features.py create mode 100644 sourced/ml/tests/test_id_splitter_nn_model.py create mode 100644 sourced/ml/tests/test_id_splitter_pipeline.py create mode 100644 sourced/ml/tests/test_inttypes_to_nodes.py create mode 100644 sourced/ml/tests/test_merge_bow.py create mode 100644 sourced/ml/tests/test_merge_df.py create mode 100644 sourced/ml/tests/test_model2base.py create mode 100644 sourced/ml/tests/test_pickleable_logger.py create mode 100644 sourced/ml/tests/test_projector.py create mode 100644 sourced/ml/tests/test_quant.py create mode 100644 sourced/ml/tests/test_random_walk.py create mode 100644 sourced/ml/tests/test_token_parser.py create mode 100644 sourced/ml/tests/test_uast_inttypes_to_graphlets.py create mode 100644 sourced/ml/tests/test_uast_struct_to_bag.py create mode 100644 sourced/ml/tests/test_uast_to_id_distance.py create mode 100644 sourced/ml/tests/test_uast_to_id_sequence.py create mode 100644 sourced/ml/tests/test_uast_to_role_id_pairs.py diff --git a/sourced/ml/tests/.gitignore b/sourced/ml/tests/.gitignore new file mode 100644 index 0000000..559a840 --- /dev/null +++ b/sourced/ml/tests/.gitignore @@ -0,0 +1 @@ +swivel/shard-000-000.pb \ No newline at end of file diff --git a/sourced/ml/tests/__init__.py b/sourced/ml/tests/__init__.py new file mode 100644 index 0000000..d510cfd --- /dev/null +++ b/sourced/ml/tests/__init__.py @@ -0,0 +1,37 @@ +import sys +from unittest import SkipTest + +from modelforge import slogging + +from sourced.ml.utils.engine import ( + get_bblfsh_dependency, get_engine_package, get_engine_version) +from sourced.ml.utils.spark import create_spark + + +utmain = sys.modules["__main__"] +if utmain.__package__ == "unittest" and utmain.__spec__ is None: + from collections import namedtuple + ModuleSpec = namedtuple("ModuleSpec", ["name"]) + utmain.__spec__ = ModuleSpec("unittest.__main__") + del ModuleSpec +del utmain + + +def create_spark_for_test(name="test"): + if sys.version_info >= (3, 7): + raise SkipTest("Python 3.7 is not yet supported.") + packages = (get_engine_package(get_engine_version()),) + config = (get_bblfsh_dependency("localhost"),) + return create_spark(name, config=config, packages=packages) + + +def has_tensorflow(): + try: + import tensorflow # noqa + return True + except ImportError: + return False + + +def setup(): + slogging.setup("INFO", False) diff --git a/sourced/ml/tests/asdf/bow.asdf b/sourced/ml/tests/asdf/bow.asdf new file mode 100644 index 0000000000000000000000000000000000000000..26b8ea06324d9cdbf4810be20220daa63b1b611c GIT binary patch literal 2482 zcmb_eO>7%g5Z)#@bvL9+!I9bm)oatJ67_EO$LrYUK%B-&thi2TqN;7EtmoZl`@wqG z>^`?mN)Zx>pBoe?y_7$NQ#n+q2&AeK2gGmTQuP8{DkM%w81(=*n73;uR+Lr+vGMzx zc{AV4?960`v-6WvNR<^?5r_G{G{2B7PG%2J0ujjK$g%9f0^f@x3)yM38!=qX_{=w{ zOsr-G`&MOClq3o5HeHX5^0O35@@>hcWevlpK9^@5@xY3G zaS( zk&bZg1As8Vj)grBFLhbs zyG_poFOvZTH5eRgdRzpi_nBQ46PQcM;z+qmKgnQ~#?*YyT z^sK=xV#o;^M_Ql~p}T;pC&W5t9zD&Y%{6pK{mu?*>kuopi&-)eP`l7<%9zbv0ms^2 zs(`rmUhj;cuS0+c>LKd?qd&BDEoS$sKgrFnxE@3;gG}FpQ^z#}BCbF@Awzi-O^;wk ztP;PdDQZemR7p)CP0bi-_{o~0q*R_27HJU2f+C}&o%DAVO{C$m!%S36Ova?Nj+0U%og`A4=vcCnL^UkkD5umg$g35)sK${3 zKd#uOCe$Y6>fB_xz|$URZK$$)3JwkECl0u4sO5y3G%TsCnE;c}FaVZ`q>!?1R1&7C zrZHUiiN{?=AS|uf8d|DYX``YiGzm1MrG$~LfTdtKRx9S1g;OajNVk&^Io`Fx$~$A7 z1-0vKSD_4;`!tx&U&}ogu?m;Nn)nw*%oE^0RxyueH{NO$t9tlWyApqW?|`C`Wm&v2 zQJ57J0Umof!598~5iYCi&F{|Ld?8{!cR?LYE&Bdj1&5*BdsKr{{_}D$mU3j+F{?2eO6I!R&#Vd`uX`w$Si^L$DPU zF6WC!^7HwL0^FSvT73>66>`Ptg&B}4PQwBIdu-_WuD0i$HFoa!XV-2mANZ>8wOu8uB89@{-Ayd{kHyi|R4%ci}9LeFO5p~3A!t2Z`2 z^nLN;gLC`GL*3Ew4UvQQ3O71yeCKb+uf#@{`_E^t47~os?^l5rkHggJ<9hCcu?5B^ z7(Fn=A))tvete!&Ib}nXJ;2~kXWjnc^-nMTwRGt4&YzzBTCq1LT!ZJjl;w-o*8hEn|UTj|Lc-<{1p0(>#TwMO_e9DHI;K(fuEd~q^&wCkIS le>g3wNkxw%HD&NQt&j1JZlqyWlh6k>Ey4G?4h@Bu+dmp)nSuZS literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/asdf/coocc.asdf b/sourced/ml/tests/asdf/coocc.asdf new file mode 100644 index 0000000000000000000000000000000000000000..9498b9997797801f8f768d3aa30020a183591dfa GIT binary patch literal 79910 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
  • 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%0AGQlN&O0abRirrg+hD=n6pIITx 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 literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/asdf/coocc_df.asdf b/sourced/ml/tests/asdf/coocc_df.asdf new file mode 100644 index 0000000000000000000000000000000000000000..b40f5d7f33fe6f01c35b04b3dd0bda8f12c3730a GIT binary patch literal 3086 zcma)8U2Ggz6+U-%=WjQ$*J-7;K;!YcCQ)i{cKs7OOB>dX+o)~YIB^6;X`0N=T<_jw zcJ6rY9sh*1I7RS6A4n-ww183`kdP1{Xdie$go+9k5JglJDtIU$)CVMLPz$O+D&IJ5 zNl}ql+4tw%d(S=RJKs5Thi4b(Z}%FtdaYg>&c~+~kI&vSKYMH*LWoNvADg}Va6T@L z9G^Yp4SCw{G?i9?sPQms`YK%7TN)c1^M(SM^1bCSpFJo}U z{y6m0)L(zg1xe_9x_-Xt#6*4a zWU0rs--IwoxvzP6%GXdUSp~`wZAz&S!;~%pPa7exA26=A-oqHR-HHr zQBQ_EYI-m@w-tgc6JgVBhcEf2uw;)4=9; z{65hb_3HRLS<><>k5z6~#N&?c{!jP+13<3nY6vnB>zOUtRS>jAXG`=h1fW9$9-U@e z;OJDuo&V#)9E+U-s88phybJsPzPNF+RIAlWFU%dji|T}5bZ#>5@Uy=6 z?%pk|J@LeYM}9u?=664HnNA!>dQaHSlY(_oH68!Hfnexhx<7-ATQ zsT3~#m9&h7jJR0wAx#pK8i=7otxhVl9n?rW%A%uLkH@-1v_J=Qj@d+mv}veFfaA5c zpQ6b`6x!5^!-zXn(H&Z-1%4D+^kkwlYzVrcuxWz_XEBa=lg5Kc^w9;WI0Uk1(p(Q# zxip)_A}EoUh`VT9#!I&mN4q2opxy=i{WC0 zAEBdLw1q9<9-rD+kM+^f1i)k!V*T_<4fc!L zlK%+Rm;C7SY+;G(p!+;C{z7KVU^MNehKNJl&xGn?Yo74vfZQkz$<(Au?^>#MI3gXa zBGT+By4c|;W=gl$7irVQM2T~vcBM$6moY-r^*?GX1G+BvamW+lb(EataHuN<(LDWL z)I=|d(8f!VuYtR?Xei0H(}L1|901Nfx=Di^JJMI_No-pY@IluycOty;-N)XZ}b{=!tG0C`vs-#R=-89 zo*#5~Qnd%FRL|lDwkPMP(j!DqVU@?3MaxS09Z~Dm$&)K}I=YhZH9uvo-g+YLC*yTi zkNuTT6&f*LHHp2#^1)XrL92pPJZiM!o}XB>p#mS?#qtF<5O17X-fPgUbPY!~r4CgU z>Hz)IupTAjK58Wh@d;yG)RIrrTq0AA#eJ|v31lBxG!7$ts-{T!iu_5=JE(t{RFcY0 z>h}np+&UgwMrT3ZD7}-1|d!Sbb*FLifX^4zNB7@KDSe}!W=pzi79jpff zU;_7%Ax6olru+?dI^{4cfHybNoXR3_(72J$dkl=8-!JV zG9Icae+6k;^9&eYi4U_D!ox>c@sQC_JQ^_u)U#HocnWxM!4IgSij026D(WG^S2Lqo zH2MQXPeU|atbpdmp2C1yFVvAsD1s5^@I=Yr>;am~zsw&j0CA&D2az+tjNNHg)$;cX zi%6Cf^TOB7IShfT;Sv3jHSi@e>DUs=74N5Nj0#BSsgbqg^E8~bUu7er_Kd-P33JyK zm{u$-YIp}2ji6Z7U@tvRo(AoAbpOB%NewN14>=L$<(yrls+MnHqYO+m*O8YZbJ^W= z5w8YO%Rq9(b&Z(|1>-aWMi-E~D}E$U^XV2E2P_wvw<3m%gi853ySVB{DD=* zs7G?up<^jWsvKa(bfFHa?xD}7$a7IUCzAL2+#!Rve(&`4FU>yo{H?z|Q+w$Xr*F9Z zr}H-uvE6k>wCOmGZJTbN>6EOJWjl_Ef6K8MZSFSRlHg#JezY_DCa%1f{tZ0L9t!{f literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/asdf/docfreq_1000.asdf b/sourced/ml/tests/asdf/docfreq_1000.asdf new file mode 100644 index 0000000000000000000000000000000000000000..2fa308d26f199e607347a381926d2e17cb5cd055 GIT binary patch literal 6391 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 literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/asdf/id2vec_1000.asdf b/sourced/ml/tests/asdf/id2vec_1000.asdf new file mode 100644 index 0000000000000000000000000000000000000000..d410d31e2f4bcf63fd58fb79863eab8316033989 GIT binary patch literal 1122670 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%0A2L6;W8+L}$fQ|v0=($H z{02B%5&>y)8zB6p8}MuEVg5#4B9yrZ7KF)S;S!h+i>r4f=dRB4~JlN}g08ZWrIvGS~a$mJkxTfHKf2jE zh3Fsi@lTuamEv(4d0K!OoaTg839cwGPXXc$^XP*7Jo5VTTj=}ah{^?h#Pqj0b|Npi z+?USA-8hB43)I1-V-C(=_#HQSEoZYV(y%6EE|&Zrr3M1W2z&cF;kj1AwhSDB0rM#G z;@CwHsJTe+!YtPPx+IO4d4uB@dNEAgh5mjTO=hRm5xzxb><-68`0I@?yo=#Okpph1 zy)uj1&y^xQNk7ZMeS(z{-?~=wP{#sdj;dquZ4#qs~Nl z93+djP7dJQ#(~F25@A3>k$g1W1z`06zYbH}ohk?xzhBU$=iTt4cRKy7!4DrB!bpX_ z5q6&9!K#%WmDw8qVbf+Iaxfs0wsWsk7;vXy%OMq97M~80*((SVQ~Yjc4$dZ?*xt4p zmp?J1ZTGjsy#fJ{`6!6__rhqcP9u9~-(oOWu7SPnh>a!`c13dFNyi!3{_ijfcFZE3 z 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ƯDKe4Sg4j^37or!1tRX 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

    |P}Hf0tY6|oM{Q4ow(Motxoss@ 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 z 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 z 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

    y42eE2RE(od++Uz&HI$Iu)$`u(BP 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

    #&=&c9Lot-yG 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 O#N`zO|9R$KPPcwlpYw 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�mm$ONAX<5b5d--Rbe}Jaf}ecx^no8#=s-KR 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

    a_H7X(f6cd{WKj|wv>c+-e-?n`c>&%D zkAL3w^DFs%+6}CJ_(9KW7qgkiCJ=e4G>HGngLH#+;GT1u3Mgb$z3s^W0|{Bw|C

    xHRw#Zy9U3nmpn?PM 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

  • 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Â=~xhLd@GCo{F6<8G%mygYg<6L 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 Dgm7Ie literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/asdf/quant.asdf b/sourced/ml/tests/asdf/quant.asdf new file mode 100644 index 0000000000000000000000000000000000000000..793c4baef5867572ce777326463ff26b479eec68 GIT binary patch literal 4038 zcma)9e{37~b${Rce(!jsNPbCCvMtNjom|^>I*B4>NtTta6D3L(6Iy00CUN0p(vkNi zdDHQZzB}qi+HPKIbXntW4r&y^mbM1gp}*42NaZaXHY{GonIiF}}Qzr0k=E#`Bl^C(1d zQ>NbSJG9tIpTNr2luw$jpBnt5nXqTCT{3NGNi8w&$nD>3X?gS z&VC}&6oD~?I#o{?fiRbiU`ij&WG9C+qr=%_dUj%JbbM-TB7JP^_~dv76;06+j)`$u z!k^O5K8d2HYYKZxKi4*#03X|J%be0DMn@+mCTo>pW1?yfk5x=#`1q(XHe9J?M~_WR znxn_ZMp5~GJZG~*dItZVjQG`tXrggktu`#%^n}y7$0ytH{hfu*qb;0z(7+&eKzB^T z^Nh`(;@(l{9KPH3s+fKDu7!@oGy)^oY@w`eIl<(8d1W&Yu4f7?M8&G#7yAvPqkDFA z{CFqV&fy2B6L@X${(X_>yu>V)z z_aNxN-8tU(i}@eDC;b_3wiN{S{p9ZDKRJc~q|@oh-_H~uh790gKQ-35;Gulxe_q42 zt1tZE()U-t{FToZzWMcUe`Dk&)cMU?7~ppINr7}X^8(B183B@U)}D!_UAEm7MQebtiAF zEp0kg-0N6R33D2HYh7@AU~Z!-TET+hn6~iJou)e3wgcQ*am~#o+p3C_hPNuboa4B` zcR})?^ifOL=F?D_#h?r?0o(AD-);%-v}hU@c9HiU4EiTWU^_J1;dWls(yL-~9ck#7 z+bvsMh5wA^I;_rBtHSpSzF}L2pSP;PT(cEy{yvg}jn~9v`I-599o0?(@8j4ESmm9VflScLbF z0BKTP!X>AE4NlBC?dGq*ODAl%V%UprFn4ZQQVP;~&M{4l`)Rl|gJWnFBWk|^SN)}R zE2uVR4PTUjT$Fwh$IGjbU9{})gEAz^d&uCDxB{=*?gppxYsOUE@E26px{`6g_5UEOE5{LBpE*~YNttJ=>fmFSCYpVITByZV@vLE^jt*?HIdEJ)`-$x4SD^ST5YNY`i%4O(BLxgw(c zcc45(K&6~BiH^|0bX5iTh*a_soyIW<{#K%&1JX-Fgk+XPFaX(8t-?Q$`KoYhCE_E@ zWw8-_i6o2%;W~DeU-hh3a3Yxd9e{N>VA;>H8<^1PrG`}t7TfkYAb&zLO}p_Rm0yKS zea)!TZMje@x$D@S!V9on1IuZP=6g_EbiJlw*U1%hQ*dT*g!3nM z_9)4^Eq{u@ZF0V7H1TaRYxK|`$84kR<9w*Qt)OPRMsU(Kmo}Rf*DiVDnEdNF7n)eB zHB4yEX{?et6V0Yb1*b#X6RR|INvgkrIfq)I+5SLXOjU z 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¨oo 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 LHaT4iE-o$#CUbQ) literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/asdf/uast.asdf b/sourced/ml/tests/asdf/uast.asdf new file mode 100644 index 0000000000000000000000000000000000000000..8ca7458d4098d5634121b8ab8176ca63f18d37c5 GIT binary patch literal 340628 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%0A$_66BYQ=< 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

    y{`TT#x}f6`bwnX* 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 mPh4>S^Nzz=Lw&;&dU|?iJ}}O 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 literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/swivel/col_vocab.txt b/sourced/ml/tests/swivel/col_vocab.txt new file mode 100644 index 0000000..78d2478 --- /dev/null +++ b/sourced/ml/tests/swivel/col_vocab.txt @@ -0,0 +1,304 @@ +i.access +i.action +i.activ +i.adapt +i.add +i.android +i.antonioleiva +i.app +i.append +i.appgroup +i.args +i.argument +i.argv +i.array +i.arrays +i.aslist +i.bar +i.build +i.bundle +i.button +i.call +i.captur +i.chdir +i.check +i.clear +i.click +i.close +i.com +i.command +i.communic +i.compil +i.confdir +i.conffil +i.conffilenam +i.config +i.conn +i.connect +i.content +i.copytre +i.count +i.counter +i.create +i.credenti +i.crypt +i.cursor +i.data +i.date +i.datetim +i.dbfile +i.delay +i.destdir +i.destfil +i.destroy +i.dev +i.develop +i.dict +i.dir +i.directori +i.dirnam +i.dirpath +i.dirs +i.docs +i.dropbox +i.edit +i.empty +i.endswith +i.env +i.error +i.euroclear +i.except +i.execut +i.exists +i.exit +i.expandus +i.ext +i.extens +i.factori +i.false +i.fetchon +i.file +i.filenam +i.files +i.find +i.finish +i.float +i.fname +i.for +i.format +i.get +i.getcwd +i.getenv +i.gethostbynam +i.getsiz +i.github +i.gone +i.handler +i.header +i.hide +i.hkey +i.home +i.host +i.impl +i.inflat +i.info +i.input +i.instanc +i.int +i.intent +i.interactor +i.invis +i.isdir +i.isempti +i.isfile +i.isoformat +i.item +i.items +i.iter +i.java +i.join +i.key +i.layout +i.len +i.length +i.line +i.linux +i.list +i.listdir +i.listen +i.listfil +i.lite +i.ljust +i.local +i.localtim +i.log +i.logdir +i.logfil +i.logfilenam +i.login +i.logsdir +i.long +i.lower +i.machin +i.main +i.make +i.makedir +i.master +i.math +i.menu +i.messag +i.min +i.move +i.mvpexampl +i.myping +i.name +i.navig +i.new +i.newenv +i.newfil +i.newscript +i.nmap +i.nmscan +i.node +i.none +i.number +i.object +i.old +i.onclick +i.oncreat +i.onfinish +i.onitem +i.onlogin +i.onopt +i.onpassword +i.onresum +i.onsuccess +i.onusernam +i.open +i.option +i.optpars +i.ospath +i.output +i.outputdir +i.outputfil +i.overrid +i.parent +i.parse +i.parser +i.pass +i.passwd +i.password +i.path +i.platform +i.popen +i.port +i.ports +i.posit +i.post +i.present +i.print +i.processor +i.profil +i.program +i.progress +i.putty +i.query +i.randint +i.random +i.range +i.raw +i.rdp +i.read +i.readfil +i.readlin +i.recycl +i.releas +i.remove +i.rename +i.replac +i.res +i.result +i.resume +i.ret +i.return +i.root +i.row +i.rows +i.run +i.runnabl +i.salt +i.saved +i.scan +i.scanner +i.screen +i.script +i.select +i.send +i.server +i.serverfil +i.session +i.set +i.show +i.shutil +i.sid +i.simple +i.sisdir +i.site +i.size +i.sleep +i.socket +i.sourcedir +i.sourcefil +i.split +i.splitext +i.sqlite +i.start +i.startswith +i.stat +i.state +i.stats +i.str +i.strftime +i.string +i.strip +i.subnet +i.subprocess +i.success +i.sum +i.sys +i.system +i.table +i.tablelist +i.test +i.text +i.tgt +i.thread +i.time +i.toast +i.today +i.todaystr +i.tofile +i.tohome +i.tostr +i.true +i.txt +i.type +i.usage +i.user +i.usernam +i.util +i.utils +i.valid +i.value +i.version +i.view +i.visibl +i.walk +i.widget +i.window +i.winreg +i.with +i.word +i.work +i.write +i.zip \ No newline at end of file diff --git a/sourced/ml/tests/swivel/col_vocab.txt.gz b/sourced/ml/tests/swivel/col_vocab.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..73b362053b692a9971cee5ca78baa18ab4bcabe3 GIT binary patch literal 1043 zcmV+u1nm1CiwFog^=euG17mM&Uv_U}VPY8`~0a**a*q}DzbOTT=dr&{dG2!zrMIiRWHU-;Am_p!~E7! z$QhlHp4OAht8!=t4DC1lF(yZG8*=vLM_9qm5`q-2vB|`ZxXBZ zB%$1`D4SpS!E)*1JzY-TQ$-!`vhow15Xtyk9B0^6P+@~I-L-qw1L=V9DjsT?EN7Wsk^&ZaDN}z#EKAOSN%T!$3D@^ai>H&m zT4O2vu%vQ*puDvpR)hTmL@W+;z!`Uxs}pNM|JJWfUA3!wAsf2tgKOB(N9+WNs+s`* z4CkfSxbKZH&Xk|fI8(s41W^A>bA={iu~D=Eb0#-*a+|)e?bYQcu}0^o7aSFh)6xr< zzsZ{`8^s9yHZt=lX!drd4wyN)`KD-z#-3^Wyul^CeQ|y$=AE`{ZW;4g0ruO;Hg#D^ zZC6^fX{T0CbG~)Z%#gXMIQKQ*we2Z!)wQEqwwEK{NKd%)I%5V{AFw4!m`ieoYY7_z z4}xuFle!JLaDd=w_;y@`PR23au7NkI)9|Y6SOM6qvrtAOb&D-d8zoRZMBEJH^v=j* zAXYG@zkm#Es z7GwsY!rXNQ2?dJwq`{^tWPNkRrro%)j>`e;B;FPT_39v5_GU5M(-TsR8r{i}GLT N{{zR~-M%sk002M40}KEF literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/swivel/row_sums.txt b/sourced/ml/tests/swivel/row_sums.txt new file mode 100644 index 0000000..44ea5c6 --- /dev/null +++ b/sourced/ml/tests/swivel/row_sums.txt @@ -0,0 +1,304 @@ +21 +58 +76 +59 +38 +92 +102 +102 +58 +26 +23 +44 +77 +68 +50 +49 +76 +25 +76 +49 +37 +44 +61 +75 +30 +90 +79 +102 +12 +3 +27 +74 +57 +62 +59 +58 +51 +100 +34 +75 +32 +113 +55 +19 +43 +65 +41 +49 +49 +39 +22 +22 +99 +37 +16 +29 +86 +49 +13 +14 +28 +44 +80 +50 +29 +20 +13 +154 +24 +76 +62 +70 +128 +27 +21 +39 +11 +45 +43 +124 +92 +80 +141 +88 +23 +24 +50 +52 +175 +43 +115 +12 +29 +16 +49 +48 +19 +95 +10 +63 +37 +102 +59 +21 +106 +76 +65 +50 +95 +59 +26 +29 +23 +21 +91 +78 +8 +78 +142 +50 +76 +112 +76 +61 +37 +133 +55 +93 +37 +19 +13 +16 +20 +32 +31 +31 +31 +64 +13 +58 +11 +21 +198 +77 +39 +50 +7 +59 +111 +12 +50 +102 +29 +141 +55 +58 +13 +39 +30 +22 +10 +27 +60 +40 +4 +58 +50 +76 +52 +74 +41 +59 +40 +74 +40 +40 +156 +73 +16 +32 +34 +31 +27 +93 +58 +31 +27 +19 +28 +64 +82 +44 +37 +37 +31 +62 +39 +95 +205 +25 +14 +18 +95 +26 +56 +10 +29 +59 +74 +24 +72 +19 +42 +18 +64 +33 +34 +54 +41 +51 +74 +41 +12 +9 +35 +25 +73 +39 +11 +76 +33 +9 +36 +52 +72 +27 +62 +45 +26 +149 +104 +64 +24 +64 +19 +26 +34 +21 +21 +22 +22 +97 +15 +61 +70 +27 +22 +85 +20 +107 +100 +104 +78 +17 +63 +40 +11 +141 +27 +30 +24 +78 +167 +32 +19 +89 +59 +46 +22 +6 +55 +50 +79 +5 +38 +12 +50 +97 +78 +29 +55 +72 +17 +95 +76 +59 +76 +61 +9 +45 +26 +32 +107 +19 \ No newline at end of file diff --git a/sourced/ml/tests/swivel/row_sums.txt.gz b/sourced/ml/tests/swivel/row_sums.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..5680a5a5f2a82dcfeb90aa59c5a1ced628237b67 GIT binary patch literal 439 zcmV;o0Z9HIiwFog^=euG19ES7UvqVBb1rmvbO0?=TN1<|2>Z`z1V!ck7i$tb<950T zc>v8oU7U?-%!^LMct3`7BPZ6vIoKC9uv)oUdh&f9-R{6C%z+*_{QwdZd2kkrwJCT4 zR`7OUE*CH@CaMsPHL(jTgeu@hrcRqA$l18&WJxUK74sbu#j6~S7cZ8yk?}CZEQ-hw zUJ$#)6HK8`)&}|Rl}CmMR8(|cPLwymty_ns0b@bis<8|ha+SA&C*>1nTiPFdQ hrb9Yb$a~rKQBU3n_%@<{^#YWH{s7qJnj548000NE(PjVu literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/swivel/row_vocab.txt b/sourced/ml/tests/swivel/row_vocab.txt new file mode 100644 index 0000000..78d2478 --- /dev/null +++ b/sourced/ml/tests/swivel/row_vocab.txt @@ -0,0 +1,304 @@ +i.access +i.action +i.activ +i.adapt +i.add +i.android +i.antonioleiva +i.app +i.append +i.appgroup +i.args +i.argument +i.argv +i.array +i.arrays +i.aslist +i.bar +i.build +i.bundle +i.button +i.call +i.captur +i.chdir +i.check +i.clear +i.click +i.close +i.com +i.command +i.communic +i.compil +i.confdir +i.conffil +i.conffilenam +i.config +i.conn +i.connect +i.content +i.copytre +i.count +i.counter +i.create +i.credenti +i.crypt +i.cursor +i.data +i.date +i.datetim +i.dbfile +i.delay +i.destdir +i.destfil +i.destroy +i.dev +i.develop +i.dict +i.dir +i.directori +i.dirnam +i.dirpath +i.dirs +i.docs +i.dropbox +i.edit +i.empty +i.endswith +i.env +i.error +i.euroclear +i.except +i.execut +i.exists +i.exit +i.expandus +i.ext +i.extens +i.factori +i.false +i.fetchon +i.file +i.filenam +i.files +i.find +i.finish +i.float +i.fname +i.for +i.format +i.get +i.getcwd +i.getenv +i.gethostbynam +i.getsiz +i.github +i.gone +i.handler +i.header +i.hide +i.hkey +i.home +i.host +i.impl +i.inflat +i.info +i.input +i.instanc +i.int +i.intent +i.interactor +i.invis +i.isdir +i.isempti +i.isfile +i.isoformat +i.item +i.items +i.iter +i.java +i.join +i.key +i.layout +i.len +i.length +i.line +i.linux +i.list +i.listdir +i.listen +i.listfil +i.lite +i.ljust +i.local +i.localtim +i.log +i.logdir +i.logfil +i.logfilenam +i.login +i.logsdir +i.long +i.lower +i.machin +i.main +i.make +i.makedir +i.master +i.math +i.menu +i.messag +i.min +i.move +i.mvpexampl +i.myping +i.name +i.navig +i.new +i.newenv +i.newfil +i.newscript +i.nmap +i.nmscan +i.node +i.none +i.number +i.object +i.old +i.onclick +i.oncreat +i.onfinish +i.onitem +i.onlogin +i.onopt +i.onpassword +i.onresum +i.onsuccess +i.onusernam +i.open +i.option +i.optpars +i.ospath +i.output +i.outputdir +i.outputfil +i.overrid +i.parent +i.parse +i.parser +i.pass +i.passwd +i.password +i.path +i.platform +i.popen +i.port +i.ports +i.posit +i.post +i.present +i.print +i.processor +i.profil +i.program +i.progress +i.putty +i.query +i.randint +i.random +i.range +i.raw +i.rdp +i.read +i.readfil +i.readlin +i.recycl +i.releas +i.remove +i.rename +i.replac +i.res +i.result +i.resume +i.ret +i.return +i.root +i.row +i.rows +i.run +i.runnabl +i.salt +i.saved +i.scan +i.scanner +i.screen +i.script +i.select +i.send +i.server +i.serverfil +i.session +i.set +i.show +i.shutil +i.sid +i.simple +i.sisdir +i.site +i.size +i.sleep +i.socket +i.sourcedir +i.sourcefil +i.split +i.splitext +i.sqlite +i.start +i.startswith +i.stat +i.state +i.stats +i.str +i.strftime +i.string +i.strip +i.subnet +i.subprocess +i.success +i.sum +i.sys +i.system +i.table +i.tablelist +i.test +i.text +i.tgt +i.thread +i.time +i.toast +i.today +i.todaystr +i.tofile +i.tohome +i.tostr +i.true +i.txt +i.type +i.usage +i.user +i.usernam +i.util +i.utils +i.valid +i.value +i.version +i.view +i.visibl +i.walk +i.widget +i.window +i.winreg +i.with +i.word +i.work +i.write +i.zip \ No newline at end of file diff --git a/sourced/ml/tests/swivel/row_vocab.txt.gz b/sourced/ml/tests/swivel/row_vocab.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..5dd2fffcf5fb43fdee95a0a57760580584735c10 GIT binary patch literal 1043 zcmV+u1nm1CiwFog^=euG19ES7Uv_U}VPY8`~0a**a*q}DzbOTT=dr&{dG2!zrMIiRWHU-;Am_p!~E7! z$QhlHp4OAht8!=t4DC1lF(yZG8*=vLM_9qm5`q-2vB|`ZxXBZ zB%$1`D4SpS!E)*1JzY-TQ$-!`vhow15Xtyk9B0^6P+@~I-L-qw1L=V9DjsT?EN7Wsk^&ZaDN}z#EKAOSN%T!$3D@^ai>H&m zT4O2vu%vQ*puDvpR)hTmL@W+;z!`Uxs}pNM|JJWfUA3!wAsf2tgKOB(N9+WNs+s`* z4CkfSxbKZH&Xk|fI8(s41W^A>bA={iu~D=Eb0#-*a+|)e?bYQcu}0^o7aSFh)6xr< zzsZ{`8^s9yHZt=lX!drd4wyN)`KD-z#-3^Wyul^CeQ|y$=AE`{ZW;4g0ruO;Hg#D^ zZC6^fX{T0CbG~)Z%#gXMIQKQ*we2Z!)wQEqwwEK{NKd%)I%5V{AFw4!m`ieoYY7_z z4}xuFle!JLaDd=w_;y@`PR23au7NkI)9|Y6SOM6qvrtAOb&D-d8zoRZMBEJH^v=j* zAXYG@zkm#Es z7GwsY!rXNQ2?dJwq`{^tWPNkRrro%)j>`e;B;FPT_39v5_GU5M(-TsR8r{i}GLT N{{zR~-M%sk005|%1110f literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/swivel/shard-000-000.pb.gz b/sourced/ml/tests/swivel/shard-000-000.pb.gz new file mode 100644 index 0000000000000000000000000000000000000000..7f2bf35627a59b118fb72beba43a7d534182863d GIT binary patch literal 26079 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 literal 0 HcmV?d00001 diff --git a/sourced/ml/tests/test_bblfsh_utils.py b/sourced/ml/tests/test_bblfsh_utils.py new file mode 100644 index 0000000..c668a33 --- /dev/null +++ b/sourced/ml/tests/test_bblfsh_utils.py @@ -0,0 +1,83 @@ +import errno +import random +import socket +import time +import unittest + +import docker.client + +from sourced.ml.utils.bblfsh import BBLFSH_VERSION_HIGH, BBLFSH_VERSION_LOW, check_version + + +class BblfshUtilsTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.docker_client = docker.from_env() + # ensure docker is running + try: + cls.docker_client.containers.list() + except Exception: + raise Exception("docker not running properly") + cls.er_msg = "supported bblfshd versions: " \ + ">=%s,<%s" % (BBLFSH_VERSION_LOW, BBLFSH_VERSION_HIGH) + + def __check_bblfsh_version_support(self, version: str) -> bool: + """ + :param version: version of bblfshd to check + :return: True if version is supported, False otherwise + """ + with socket.socket() as s: + for _ in range(3): + try: + port = random.randint(10000, 50000) + s.connect(("localhost", port)) + except socket.error as e: + if e.errno == errno.ECONNREFUSED: + break + + container = self.docker_client.containers.run( + image="bblfsh/bblfshd:%s" % version, + privileged=True, + detach=True, + ports={"9432": port}, + ) + + assert container is not None, "failed to create bblfsh container" + + for _ in range(10): + try: + res = check_version(port=port) + break + except Exception: + time.sleep(.1) + pass + + container.stop() + container.remove() + return res + + def test_v200(self): + self.assertFalse(self.__check_bblfsh_version_support("v2.0.0"), self.er_msg) + + def test_v210(self): + self.assertFalse(self.__check_bblfsh_version_support("v2.1.0"), self.er_msg) + + def test_v220(self): + self.assertTrue(self.__check_bblfsh_version_support("v2.2.0"), self.er_msg) + + def test_v230(self): + self.assertTrue(self.__check_bblfsh_version_support("v2.3.0"), self.er_msg) + + def test_v240(self): + self.assertTrue(self.__check_bblfsh_version_support("v2.4.0"), self.er_msg) + + def test_v250(self): + self.assertTrue(self.__check_bblfsh_version_support("v2.5.0"), self.er_msg) + + @classmethod + def tearDownClass(cls): + cls.docker_client.close() + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_bigartm.py b/sourced/ml/tests/test_bigartm.py new file mode 100644 index 0000000..1a08a89 --- /dev/null +++ b/sourced/ml/tests/test_bigartm.py @@ -0,0 +1,29 @@ +import argparse +import os +import subprocess +import tempfile +import unittest + +from sourced.ml.utils import install_bigartm + + +class BigartmTests(unittest.TestCase): + gitdir = os.path.join(os.path.dirname(__file__), "..", "..") + + @unittest.skipUnless(os.getenv("FULL_TEST", False), "Need to define FULL_TEST env var.") + def test_install_bigartm(self): + with tempfile.TemporaryDirectory() as tmpdir: + args = argparse.Namespace(output=tmpdir, tmpdir=None) + self.assertIsNone(install_bigartm(args)) + self._valivate_bigartm(tmpdir) + + def _valivate_bigartm(self, tmpdir): + bigartm = os.path.join(tmpdir, "bigartm") + self.assertTrue(os.path.isfile(bigartm)) + self.assertEqual(os.stat(bigartm).st_mode & 0o777, 0o777) + output = subprocess.check_output([bigartm], stderr=subprocess.STDOUT) + self.assertIn("BigARTM v", output.decode()) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_bow.py b/sourced/ml/tests/test_bow.py new file mode 100644 index 0000000..fde087c --- /dev/null +++ b/sourced/ml/tests/test_bow.py @@ -0,0 +1,44 @@ +from io import BytesIO +import unittest + +import numpy + +from sourced.ml.models import BOW +import sourced.ml.tests.models as paths + + +class BOWTests(unittest.TestCase): + def setUp(self): + self.model = BOW().load(source=paths.BOW) + + def test_getitem(self): + repo_name, indices, weights = self.model[0] + self.assertEqual(repo_name, "repo1") + self.assertIsInstance(indices, numpy.ndarray) + self.assertIsInstance(weights, numpy.ndarray) + self.assertEqual(indices.shape, weights.shape) + self.assertEqual(indices.shape, (3,)) + + def test_iter(self): + pumped = list(self.model) + self.assertEqual(len(pumped), 5) + self.assertEqual(pumped, list(range(5))) + + def test_len(self): + self.assertEqual(len(self.model), 5) + + def test_tokens(self): + self.assertEqual(self.model.tokens[0], "i.") + + def test_write(self): + buffer = BytesIO() + self.model.save(output=buffer, series="bow-docfreq") + buffer.seek(0) + new_model = BOW().load(buffer) + self.assertEqual((self.model.matrix != new_model.matrix).nnz, 0) + self.assertEqual(self.model.documents, new_model.documents) + self.assertEqual(self.model.tokens, new_model.tokens) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_coocc.py b/sourced/ml/tests/test_coocc.py new file mode 100644 index 0000000..1979552 --- /dev/null +++ b/sourced/ml/tests/test_coocc.py @@ -0,0 +1,28 @@ +import unittest + +from sourced.ml.models import Cooccurrences +import sourced.ml.tests.models as paths + + +class CooccurrencesTests(unittest.TestCase): + def setUp(self): + self.model = Cooccurrences().load(source=paths.COOCC) + + def test_tokens(self): + tokens = self.model.tokens + self.assertIsInstance(tokens, list) + self.assertEqual(tokens[:10], ["i.set", "i.iter", "i.error", "i.logsdir", "i.read", + "i.captur", "i.clear", "i.android", "i.tohome", "i.ljust"]) + self.assertEqual(len(tokens), 304) + + def test_matrix(self): + matrix = self.model.matrix + self.assertEqual(matrix.shape, (304, 304)) + self.assertEqual(matrix.getnnz(), 16001) + + def test_len(self): + self.assertEqual(len(self.model), 304) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_df.py b/sourced/ml/tests/test_df.py new file mode 100644 index 0000000..725d2f9 --- /dev/null +++ b/sourced/ml/tests/test_df.py @@ -0,0 +1,101 @@ +from io import BytesIO +import unittest + +from sourced.ml.models import DocumentFrequencies +import sourced.ml.tests.models as paths + + +class DocumentFrequenciesTests(unittest.TestCase): + def setUp(self): + self.model = DocumentFrequencies().load(source=paths.DOCFREQ) + + def test_docs(self): + docs = self.model.docs + self.assertIsInstance(docs, int) + self.assertEqual(docs, 1000) + + def test_get(self): + self.assertEqual(self.model["aaaaaaa"], 341) + with self.assertRaises(KeyError): + print(self.model["xaaaaaa"]) + self.assertEqual(self.model.get("aaaaaaa", 0), 341) + self.assertEqual(self.model.get("xaaaaaa", 100500), 100500) + + def test_tokens(self): + self.assertEqual(list(self.model._df), self.model.tokens()) + + def test_len(self): + # the remaining 18 are not unique - the model was generated badly + self.assertEqual(len(self.model), 982) + + def test_iter(self): + aaa = False + for tok, freq in self.model: + if "aaaaaaa" in tok: + aaa = True + int(freq) + break + self.assertTrue(aaa) + + def test_prune(self): + pruned = self.model.prune(4) + for _, freq in pruned: + self.assertGreaterEqual(freq, 4) + self.assertEqual(len(pruned), 346) + + def test_prune_self(self): + pruned = self.model.prune(1) + self.assertIs(self.model, pruned) + + def test_greatest(self): + pruned = self.model.greatest(100) + freqs = [v for v in self.model._df.values()] + freqs.sort(reverse=True) + border = freqs[100] + for v in pruned._df.values(): + self.assertGreaterEqual(v, border) + df1 = pruned._df + df2 = self.model.greatest(100)._df + self.assertEqual(df1, df2) + + def test_greatest2(self): + df = DocumentFrequencies().construct(100, {str(x): x for x in range(1000)}) + df_greatest_true = {str(x): x for x in range(500, 1000)} + df_greatest = df.greatest(500) + self.assertEqual(df_greatest._df, df_greatest_true) + + df._df["500a"] = 500 + df._df["500b"] = 500 + df._df["500c"] = 500 + df._df["500d"] = 500 + df._df["500e"] = 500 + + df_greatest = df.greatest(500) + self.assertEqual(df_greatest._df, df_greatest_true) + + df_greatest_true["500a"] = 500 + df_greatest = df.greatest(501) + self.assertEqual(df_greatest._df, df_greatest_true) + + df_greatest_true["500b"] = 500 + df_greatest_true["500c"] = 500 + df_greatest_true["500d"] = 500 + df_greatest_true["500e"] = 500 + df_greatest = df.greatest(505) + self.assertEqual(df_greatest._df, df_greatest_true) + + df_greatest_true["499"] = 499 + df_greatest = df.greatest(506) + self.assertEqual(df_greatest._df, df_greatest_true) + + def test_write(self): + buffer = BytesIO() + self.model.save(buffer) + buffer.seek(0) + new_model = DocumentFrequencies().load(buffer) + self.assertEqual(self.model._df, new_model._df) + self.assertEqual(self.model.docs, new_model.docs) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_dump.py b/sourced/ml/tests/test_dump.py new file mode 100644 index 0000000..18e6e0d --- /dev/null +++ b/sourced/ml/tests/test_dump.py @@ -0,0 +1,131 @@ +import argparse +from contextlib import contextmanager +from io import StringIO +import logging +import os +import shutil +import sys +import tempfile +import unittest + +from modelforge.tools import dump_model + +import sourced.ml.tests.models as paths + + +cache_dir = os.path.join(tempfile.gettempdir(), "ml-test-dump") + + +@contextmanager +def captured_output(): + log = StringIO() + log_handler = logging.StreamHandler(log) + logging.getLogger().addHandler(log_handler) + new_out, new_err = StringIO(), StringIO() + old_out, old_err = sys.stdout, sys.stderr + try: + sys.stdout, sys.stderr = new_out, new_err + yield sys.stdout, sys.stderr, log + finally: + sys.stdout, sys.stderr = old_out, old_err + logging.getLogger().removeHandler(log_handler) + + +class DumpTests(unittest.TestCase): + ID2VEC_DUMP = """{'created_at': '2017-06-18 17:37:06', \ +'dependencies': [], \ +'license': 'ODbL-1.0', \ +'model': 'id2vec', \ +'series': 'id2vec-1000', \ +'size': '1.1 MB', \ +'uuid': '92609e70-f79c-46b5-8419-55726e873cfc', \ +'vendor': 'source{d}', \ +'version': [1, 0, 0]} +Shape: (1000, 300) +First 10 words: ['get', 'name', 'type', 'string', 'class', 'set', 'data', 'value', 'self', 'test'] +""" + + DOCFREQ_DUMP = """{'created_at': '2017-08-09 16:49:12', \ +'dependencies': [], \ +'license': 'ODbL-1.0', \ +'model': 'docfreq', \ +'series': 'docfreq-1000', \ +'size': '6.4 kB', \ +'uuid': 'f64bacd4-67fb-4c64-8382-399a8e7db52a', \ +'vendor': 'source{d}', \ +'version': [0, 1, 0]} +Number of words: 982 +""" + "Random 10 words: " + + BOW_DUMP = """{'created_at': '2018-01-18 21:59:59', \ +'dependencies': [{'created_at': datetime.datetime(2018, 1, 18, 21, 59, 48, 828287), \ +'dependencies': [], \ +'model': 'docfreq', \ +'uuid': '2c4fcae7-93a6-496e-9e3a-d6e15d35b812', \ +'version': [1, 0, 0]}], \ +'license': 'ODbL-1.0', \ +'model': 'bow', \ +'parent': '51b4165d-b2c6-442a-93be-0eb35f4cc19a', \ +'series': 'bow-docfreq', \ +'size': '2.5 kB', \ +'uuid': '0d95f342-2c69-459f-9ee7-a1fc7da88d64', \ +'vendor': 'source{d}', \ +'version': [1, 0, 15]} +Shape: (5, 20) +First 10 documents: ['repo1', 'repo2', 'repo3', 'repo4', 'repo5'] +First 10 tokens: ['i.', 'i.*', 'i.Activity', 'i.AdapterView', 'i.ArrayAdapter', 'i.Arrays', 'i.Bundle', 'i.EditText', 'i.Exception', 'i.False']\n""" # noqa + + COOCC_DUMP = """{'created_at': '2018-01-24 16:00:02', \ +'dependencies': [{'created_at': datetime.datetime(2018, 1, 24, 15, 59, 24, 129470), \ +'dependencies': [], \ +'model': 'docfreq', \ +'uuid': '0f94a6c6-7dc3-4b3c-b8d2-917164a50581', \ +'version': [1, 0, 0]}], \ +'license': 'ODbL-1.0', \ +'model': 'co-occurrences', \ +'series': 'coocc-docfreq', \ +'size': '79.9 kB', \ +'uuid': 'e75dcb2d-ec1d-476b-a04b-bc64c7779ae1', \ +'vendor': 'source{d}', \ +'version': [1, 0, 0]} +Number of words: 304 +First 10 words: ['i.set', 'i.iter', 'i.error', 'i.logsdir', 'i.read', 'i.captur', 'i.clear',""" + \ + """ 'i.android', 'i.tohome', 'i.ljust'] +Matrix: shape: (304, 304) non-zero: 16001 +""" + + def tearDown(self): + if os.path.exists(cache_dir): + shutil.rmtree(cache_dir) + + def test_id2vec(self): + with captured_output() as (out, _, _): + dump_model(self._get_args(input=paths.ID2VEC)) + self.assertEqual(out.getvalue(), self.ID2VEC_DUMP) + + def test_docfreq(self): + with captured_output() as (out, _, _): + dump_model(self._get_args(input=paths.DOCFREQ)) + self.assertEqual(out.getvalue()[:len(self.DOCFREQ_DUMP)], self.DOCFREQ_DUMP) + ending = "\nNumber of documents: 1000\n" + self.assertEqual(out.getvalue()[-len(ending):], ending) + + def test_bow(self): + with captured_output() as (out, _, _): + dump_model(self._get_args(input=paths.BOW)) + self.assertEqual(out.getvalue(), self.BOW_DUMP) + + def test_coocc(self): + with captured_output() as (out, _, _): + dump_model(self._get_args(input=paths.COOCC)) + self.assertEqual(out.getvalue(), self.COOCC_DUMP) + + @staticmethod + def _get_args(input): + return argparse.Namespace(input=input, backend=None, args=None, username="", + password="", index_repo="https://github.com/src-d/models", + cache=cache_dir, signoff=False, log_level="WARNING") + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_id_splitter_features.py b/sourced/ml/tests/test_id_splitter_features.py new file mode 100644 index 0000000..f87bab3 --- /dev/null +++ b/sourced/ml/tests/test_id_splitter_features.py @@ -0,0 +1,145 @@ +import io +import tarfile +import tempfile +import unittest + +import numpy + +from sourced.ml.tests import has_tensorflow +from sourced.ml.tests.models import IDENTIFIERS + + +def write_fake_identifiers(tar_file, n_lines, char_sizes, n_cols, text="a"): + """ + Prepare file with fake identifiers. + :param tar_file: ready to write file. + :param n_lines: number of lines to generate. + :param char_sizes: sizes of identifiers. + :param n_cols: number of columns. + :param text: text that is used to fill identifiers. + """ + # sanity check + if isinstance(char_sizes, int): + char_sizes = [char_sizes] * n_lines + assert len(char_sizes) == n_lines + + # generate file + res = [] + for sz in char_sizes: + line = ",".join([text * sz] * n_cols) + res.append(line) + content = "\n".join(res) + content = content.encode("utf-8") + + # add content to file + info = tarfile.TarInfo("identifiers.txt") + info.size = len(content) + tar_file.addfile(info, io.BytesIO(content)) + + +class IdSplitterTest(unittest.TestCase): + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_prepare_features(self): + from sourced.ml.algorithms.id_splitter.features import prepare_features + # check feature extraction + text = "a a" + n_lines = 10 + max_identifier_len = 20 + with tempfile.NamedTemporaryFile() as tmp: + with tarfile.open(None, "w", fileobj=tmp, encoding="utf-8") as tmp_tar: + write_fake_identifiers(tmp_tar, n_lines=n_lines, char_sizes=1, n_cols=2, text=text) + feat = prepare_features(csv_path=tmp.name, use_header=True, identifier_col=0, + max_identifier_len=max_identifier_len, split_identifier_col=1, + shuffle=True, test_ratio=0.5, padding="post") + x_train, x_test, y_train, y_test = feat + # because of test_ratio=0.5 - shapes should be equal + self.assertEqual(x_test.shape, x_train.shape) + self.assertEqual(y_test.shape, y_train.shape) + # each line contains only one split -> so it should be only 5 nonzero for train/test + self.assertEqual(numpy.sum(y_test), 5) + self.assertEqual(numpy.sum(y_train), 5) + # each line contains only two chars -> so it should be only 10 nonzero for train/test + self.assertEqual(numpy.count_nonzero(x_test), 10) + self.assertEqual(numpy.count_nonzero(x_train), 10) + # y should be 3 dimensional matrix + self.assertEqual(y_test.ndim, 3) + self.assertEqual(y_train.ndim, 3) + # x should be 2 dimensional matrix + self.assertEqual(x_test.ndim, 2) + self.assertEqual(x_train.ndim, 2) + # check number of samples + self.assertEqual(x_test.shape[0] + x_train.shape[0], n_lines) + self.assertEqual(y_test.shape[0] + y_train.shape[0], n_lines) + # check max_identifier_len + self.assertEqual(x_test.shape[1], max_identifier_len) + self.assertEqual(x_train.shape[1], max_identifier_len) + self.assertEqual(y_test.shape[1], max_identifier_len) + self.assertEqual(y_train.shape[1], max_identifier_len) + + # normal file + try: + prepare_features(csv_path=IDENTIFIERS, use_header=True, identifier_col=0, + max_identifier_len=max_identifier_len, split_identifier_col=1, + shuffle=True, test_ratio=0.5, padding="post") + except Exception as e: + self.fail("prepare_features raised %s with log %s" % (type(e), str(e))) + + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_read_identifiers(self): + from sourced.ml.algorithms.id_splitter.features import read_identifiers + # read with header + with tempfile.NamedTemporaryFile() as tmp: + with tarfile.open(None, "w", fileobj=tmp, encoding="utf-8") as tmp_tar: + write_fake_identifiers(tmp_tar, n_lines=10, char_sizes=1, n_cols=5) + + res = read_identifiers(csv_path=tmp.name, use_header=True, max_identifier_len=10, + identifier_col=3, split_identifier_col=4) + self.assertEqual(len(res), 10) + + # read without header + with tempfile.NamedTemporaryFile() as tmp: + with tarfile.open(None, "w", fileobj=tmp, encoding="utf-8") as tmp_tar: + write_fake_identifiers(tmp_tar, n_lines=10, char_sizes=1, n_cols=5) + + res = read_identifiers(csv_path=tmp.name, use_header=False, max_identifier_len=10, + identifier_col=3, split_identifier_col=4) + self.assertEqual(len(res), 9) + + # read with max_identifier_len equal to 0 -> expect empty list + with tempfile.NamedTemporaryFile() as tmp: + with tarfile.open(None, "w", fileobj=tmp, encoding="utf-8") as tmp_tar: + write_fake_identifiers(tmp_tar, n_lines=10, char_sizes=1, n_cols=5) + + res = read_identifiers(csv_path=tmp.name, use_header=True, max_identifier_len=0, + identifier_col=3, split_identifier_col=4) + self.assertEqual(len(res), 0) + + # generate temporary file with identifiers of specific lengths and filter by length + char_sizes = list(range(1, 11)) + + with tempfile.NamedTemporaryFile() as tmp: + with tarfile.open(None, "w", fileobj=tmp, encoding="utf-8") as tmp_tar: + write_fake_identifiers(tmp_tar, n_lines=10, char_sizes=char_sizes, n_cols=5) + + # check filtering + # read last two columns as identifiers + for i in range(11): + res = read_identifiers(csv_path=tmp.name, use_header=True, max_identifier_len=i, + identifier_col=3, split_identifier_col=4) + self.assertEqual(len(res), i) + + # read wrong columns + with tempfile.NamedTemporaryFile() as tmp: + with tarfile.open(None, "w", fileobj=tmp, encoding="utf-8") as tmp_tar: + write_fake_identifiers(tmp_tar, n_lines=10, char_sizes=char_sizes, n_cols=2) + + with self.assertRaises(IndexError): + read_identifiers(csv_path=tmp.name, use_header=True, max_identifier_len=10, + identifier_col=3, split_identifier_col=4) + + # normal file + try: + read_identifiers(csv_path=IDENTIFIERS, use_header=True, max_identifier_len=10, + identifier_col=3, split_identifier_col=4) + except Exception as e: + self.fail("read_identifiers raised %s with log %s" % (type(e), str(e))) diff --git a/sourced/ml/tests/test_id_splitter_nn_model.py b/sourced/ml/tests/test_id_splitter_nn_model.py new file mode 100644 index 0000000..74375c6 --- /dev/null +++ b/sourced/ml/tests/test_id_splitter_nn_model.py @@ -0,0 +1,56 @@ +import string +import unittest + +import numpy + +from sourced.ml.tests import has_tensorflow + + +class MetricsTests(unittest.TestCase): + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_register_metric(self): + from sourced.ml.algorithms.id_splitter.nn_model import register_metric, METRICS + fake_metric = "fake metric" + register_metric(fake_metric) + self.assertIn(fake_metric, METRICS) + METRICS.pop() + self.assertNotIn(fake_metric, METRICS) + + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_raise_register_metric(self): + from sourced.ml.algorithms.id_splitter.nn_model import register_metric, METRICS + bad_metric = 1 + with self.assertRaises(AssertionError): + register_metric(bad_metric) + self.assertNotIn(bad_metric, METRICS) + + +class ModelsTests(unittest.TestCase): + def setUp(self): + from sourced.ml.algorithms.id_splitter.nn_model import build_rnn, build_cnn + self.n_uniq = len(string.ascii_lowercase) + self.model_rnn = build_rnn(maxlen=5, units=24, stack=2, rnn_layer="LSTM", + optimizer="Adam", dev0="/cpu:0", dev1="/cpu:0") + self.model_cnn = build_cnn(maxlen=5, filters=[64, 32, 16, 8], output_n_filters=32, + stack=2, kernel_sizes=[2, 4, 8, 16], optimizer="Adam", + device="/cpu:0") + + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_build_rnn(self): + self.assertTrue(self.model_rnn.built) + self.assertTrue(self.model_rnn.trainable) + self.assertIsInstance(self.model_rnn.get_weights()[0], numpy.ndarray) + self.assertEqual(self.model_rnn.get_weights()[0].shape, (self.n_uniq+1, self.n_uniq+1)) + self.assertTrue(self.model_rnn.uses_learning_phase) + + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_build_cnn(self): + self.assertTrue(self.model_cnn.built) + self.assertTrue(self.model_cnn.trainable) + self.assertIsInstance(self.model_cnn.get_weights()[0], numpy.ndarray) + self.assertEqual(self.model_cnn.get_weights()[0].shape, (self.n_uniq+1, self.n_uniq+1)) + self.assertTrue(self.model_cnn.uses_learning_phase) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_id_splitter_pipeline.py b/sourced/ml/tests/test_id_splitter_pipeline.py new file mode 100644 index 0000000..70bc1e4 --- /dev/null +++ b/sourced/ml/tests/test_id_splitter_pipeline.py @@ -0,0 +1,126 @@ +import tempfile +import unittest + +import numpy + +from sourced.ml.tests import has_tensorflow + + +class IdSplitterPipelineTest(unittest.TestCase): + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_binarize(self): + from sourced.ml.algorithms.id_splitter.pipeline import binarize + thresholds = [0, 0.09, 0.19, 0.29, 0.39, 0.49, 0.59, 0.69, 0.79, 0.89, 0.99] + n_pos = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] + + for th, n_p in zip(thresholds, n_pos): + vals = numpy.arange(10) / 10 + res = binarize(vals, th) + self.assertEqual(sum(binarize(vals, th)), n_p) + if th in (0, 0.99): + self.assertEqual(numpy.unique(res).shape[0], 1) + else: + self.assertEqual(numpy.unique(res).shape[0], 2) + + vals = numpy.arange(10) / 10 + old_vals = vals.copy() + for th, n_p in zip(thresholds, n_pos): + res = binarize(vals, th, inplace=False) + self.assertEqual(sum(res), n_p) + self.assertTrue(numpy.array_equal(old_vals, vals)) + if th in (0, 0.99): + self.assertEqual(numpy.unique(res).shape[0], 1) + else: + self.assertEqual(numpy.unique(res).shape[0], 2) + + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_prepare_devices(self): + from sourced.ml.algorithms.id_splitter.nn_model import prepare_devices + correct_args = ["1", "0,1", "-1"] + resulted_dev = [("/gpu:1", "/gpu:1"), ("/gpu:0", "/gpu:1"), ("/cpu:0", "/cpu:0")] + for res, arg in zip(resulted_dev, correct_args): + self.assertEqual(res, prepare_devices(arg)) + + bad_args = ["", "1,2,3"] + for arg in bad_args: + with self.assertRaises(ValueError): + prepare_devices(arg) + + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_build_schedule(self): + from sourced.ml.algorithms.id_splitter.pipeline import build_schedule + start_lr = 10 + end_lr = 1 + n_epochs = 9 + + lr_schedule = build_schedule(lr=start_lr, final_lr=end_lr, n_epochs=n_epochs) + + for i in range(n_epochs): + self.assertEqual(start_lr - i, lr_schedule(epoch=i)) + + with self.assertRaises(AssertionError): + lr_schedule(-1) + with self.assertRaises(AssertionError): + lr_schedule(n_epochs + 1) + + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_build_train_generator(self): + from sourced.ml.algorithms.id_splitter.pipeline import build_train_generator + batch_size = 3 + # mismatch number of samples + bad_x = numpy.zeros(3) + bad_y = numpy.zeros(4) + with self.assertRaises(AssertionError): + build_train_generator(bad_x, bad_y, batch_size=batch_size) + + # check generator with correct inputs + x = numpy.zeros(5) + gen = build_train_generator(x, x, batch_size=batch_size) + expected_n_samples = [3, 2] + for n_samples in expected_n_samples: + x_gen, y_gen = next(gen) + self.assertEqual(x_gen.shape, y_gen.shape) + self.assertEqual(n_samples, x_gen.shape[0]) + + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_train_parameters(self): + from sourced.ml.algorithms.id_splitter.pipeline import create_generator_params + batch_size = 500 + samples_per_epoch = 10 ** 6 + n_samples = 40 * 10 ** 6 + epochs = 10 + + steps_per_epoch_ = samples_per_epoch // batch_size + n_epochs_ = numpy.ceil(epochs * n_samples / samples_per_epoch) + + steps_per_epoch, n_epochs = create_generator_params(batch_size, samples_per_epoch, + n_samples, epochs) + self.assertEqual(steps_per_epoch, steps_per_epoch_) + self.assertEqual(n_epochs, n_epochs_) + + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_config_keras(self): + from keras.backend.tensorflow_backend import get_session + from sourced.ml.algorithms.id_splitter.pipeline import config_keras + config_keras() + sess = get_session() + self.assertTrue(sess._config.gpu_options.allow_growth) + + @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") + def test_prepare_callbacks(self): + from keras.callbacks import TensorBoard, CSVLogger, ModelCheckpoint + from sourced.ml.algorithms.id_splitter.pipeline import prepare_callbacks + with tempfile.TemporaryDirectory() as tmpdir: + callbacks = prepare_callbacks(tmpdir) + + # TensorBoard + self.assertIsInstance(callbacks[0], TensorBoard) + self.assertTrue(callbacks[0].log_dir.startswith(tmpdir)) + + # CSVLogger + self.assertIsInstance(callbacks[1], CSVLogger) + self.assertTrue(callbacks[1].filename.startswith(tmpdir)) + + # ModelCheckpoint + self.assertIsInstance(callbacks[2], ModelCheckpoint) + self.assertTrue(callbacks[2].filepath.startswith(tmpdir)) diff --git a/sourced/ml/tests/test_inttypes_to_nodes.py b/sourced/ml/tests/test_inttypes_to_nodes.py new file mode 100644 index 0000000..4b4e82b --- /dev/null +++ b/sourced/ml/tests/test_inttypes_to_nodes.py @@ -0,0 +1,40 @@ +import unittest + +from bblfsh import BblfshClient + +from sourced.ml.algorithms import Uast2QuantizedChildren +from sourced.ml.tests.models import SOURCE_PY + + +class Uast2NodesBagTest(unittest.TestCase): + def setUp(self): + self.nodes_bag_extractor = Uast2QuantizedChildren(npartitions=3) + self.uast = BblfshClient("0.0.0.0:9432").parse(SOURCE_PY).uast + + def test_uast_to_bag(self): + bag = self.nodes_bag_extractor(self.uast) + self.assertGreater(len(bag), 0, "Expected size of bag should be > 0") + + def test_quantize_1(self): + freqs = {1: 100, 2: 90, 3: 10, 5: 10, 6: 5, 7: 5} + levels = self.nodes_bag_extractor.quantize_unwrapped(freqs.items()) + self.assertEqual(list(levels), [1, 2, 3, 7]) + + def test_quantize_2(self): + freqs = {1: 10, 2: 10, 3: 10, 5: 10, 6: 10, 7: 10} + levels = self.nodes_bag_extractor.quantize_unwrapped(freqs.items()) + self.assertEqual(list(levels), [1, 3, 6, 7]) + + def test_quantize_3(self): + freqs = {1: 100, 2: 1, 3: 1, 5: 1, 6: 1, 7: 1} + levels = self.nodes_bag_extractor.quantize_unwrapped(freqs.items()) + self.assertEqual(list(levels), [1, 2, 7, 7]) + + def test_quantize_4(self): + freqs = {1: 10, 2: 15, 3: 5, 5: 15, 6: 10, 7: 10} + levels = self.nodes_bag_extractor.quantize_unwrapped(freqs.items()) + self.assertEqual(list(levels), [1, 2, 5, 7]) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_merge_bow.py b/sourced/ml/tests/test_merge_bow.py new file mode 100644 index 0000000..cd01450 --- /dev/null +++ b/sourced/ml/tests/test_merge_bow.py @@ -0,0 +1,87 @@ +import os +import tempfile +import unittest + +import numpy +from scipy.sparse import csc_matrix + +from sourced.ml.models import BOW +from sourced.ml.models.model_converters.merge_bow import MergeBOW + + +class MergeBOWTests(unittest.TestCase): + def setUp(self): + self.model1 = BOW() \ + .construct(["doc_1", "doc_2", "doc_3"], ["f.tok_1", "k.tok_2", "f.tok_3"], + csc_matrix((numpy.array([1, 2]), + (numpy.array([0, 1]), numpy.array([1, 0]))), + shape=(3, 3))) + self.model1._meta = {"dependencies": [{"model": "docfreq", "uuid": "uuid"}]} + self.model2 = BOW() \ + .construct(["doc_4", "doc_5", "doc_6"], ["f.tok_1", "k.tok_2", "f.tok_3"], + csc_matrix((numpy.array([3, 4]), + (numpy.array([0, 1]), numpy.array([1, 0]))), + shape=(3, 3))) + self.model2._meta = {"dependencies": [{"model": "docfreq", "uuid": "uuid"}]} + self.merge_results = [[0, 1, 0], [2, 0, 0], [0, 0, 0], [0, 3, 0], [4, 0, 0], [0, 0, 0]] + self.merge_bow = MergeBOW() + + def test_convert_model_base(self): + self.merge_bow.convert_model(self.model1) + self.assertListEqual(self.merge_bow.documents, ["doc_1", "doc_2", "doc_3"]) + self.assertListEqual(self.merge_bow.tokens, ["f.tok_1", "k.tok_2", "f.tok_3"]) + for i, row in enumerate(self.merge_bow.matrix[0].toarray()): + self.assertListEqual(list(row), self.merge_results[i]) + self.assertEqual(self.merge_bow.deps, [{"uuid": "uuid", "model": "docfreq"}]) + self.merge_bow.convert_model(self.model2) + self.assertListEqual(self.merge_bow.documents, + ["doc_1", "doc_2", "doc_3", "doc_4", "doc_5", "doc_6"]) + self.assertListEqual(self.merge_bow.tokens, ["f.tok_1", "k.tok_2", "f.tok_3"]) + for i, arr in enumerate(self.merge_bow.matrix): + for j, row in enumerate(arr.toarray()): + self.assertListEqual(list(row), self.merge_results[i * 3 + j]) + self.assertEqual(self.merge_bow.deps, [{"model": "docfreq", "uuid": "uuid"}]) + + def test_convert_model_error(self): + self.merge_bow.convert_model(self.model1) + self.model2._tokens = ["f.tok_1", "k.tok_2"] + with self.assertRaises(ValueError): + self.merge_bow.convert_model(self.model2) + self.model2._tokens = ["f.tok_1", "k.tok_2", "f.tok_3", "f.tok_4"] + with self.assertRaises(ValueError): + self.merge_bow.convert_model(self.model2) + + def test_finalize_base(self): + self.merge_bow.convert_model(self.model1) + self.merge_bow.convert_model(self.model2) + with tempfile.TemporaryDirectory(prefix="merge-bow-") as tmpdir: + dest = os.path.join(tmpdir, "bow.asdf") + self.merge_bow.finalize(0, dest) + bow = BOW().load(dest) + self.assertListEqual(bow.documents, + ["doc_1", "doc_2", "doc_3", "doc_4", "doc_5", "doc_6"]) + self.assertListEqual(bow.tokens, ["f.tok_1", "k.tok_2", "f.tok_3"]) + for i, row in enumerate(bow.matrix.toarray()): + self.assertListEqual(list(row), self.merge_results[i]) + self.assertEqual(bow.meta["dependencies"], [{"uuid": "uuid", "model": "docfreq"}]) + + def test_finalize_reduce(self): + self.merge_bow.convert_model(self.model1) + self.merge_bow.features_namespaces = "f." + with tempfile.TemporaryDirectory(prefix="merge-bow-") as tmpdir: + dest = os.path.join(tmpdir, "bow.asdf") + self.merge_bow.finalize(0, dest) + bow = BOW().load(dest) + self.assertListEqual(bow.documents, ["doc_1", "doc_2", "doc_3"]) + self.assertListEqual(bow.tokens, ["f.tok_1", "f.tok_3"]) + for i, row in enumerate(bow.matrix.toarray()): + self.assertListEqual(list(row), self.merge_results[i][::2]) + self.assertEqual(bow.meta["dependencies"], [{"uuid": "uuid", "model": "docfreq"}]) + + def test_save_path(self): + self.assertEqual(self.merge_bow._save_path(0, "bow.asdf"), "bow.asdf") + self.assertEqual(self.merge_bow._save_path(0, "bow"), os.path.join("bow", "bow_0.asdf")) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_merge_df.py b/sourced/ml/tests/test_merge_df.py new file mode 100644 index 0000000..ed6c63c --- /dev/null +++ b/sourced/ml/tests/test_merge_df.py @@ -0,0 +1,40 @@ +import os +import tempfile +import unittest + +from sourced.ml.models import DocumentFrequencies +from sourced.ml.models.model_converters.merge_df import MergeDocFreq + + +class Model2BaseTests(unittest.TestCase): + def setUp(self): + self.model1 = DocumentFrequencies().construct(3, {"one": 1, "two": 2, "three": 3}) + self.model2 = DocumentFrequencies().construct(3, {"four": 4, "three": 3, "five": 5}) + self.merge_df = MergeDocFreq(min_docfreq=1, vocabulary_size=100) + self.merge_result = {"one": 1, "two": 2, "three": 6, "four": 4, "five": 5} + + def test_convert_model(self): + self.merge_df.convert_model(self.model1) + self.assertEqual(self.merge_df._docs, 3) + self.assertEqual(self.merge_df._df, self.model1._df) + self.merge_df.convert_model(self.model2) + self.assertEqual(self.merge_df._docs, 6) + self.assertEqual(self.merge_df._df, self.merge_result) + + def test_finalize(self): + self.merge_df.convert_model(self.model1) + self.merge_df.convert_model(self.model2) + with tempfile.TemporaryDirectory(prefix="merge-df-") as tmpdir: + dest = os.path.join(tmpdir, "df.asdf") + self.merge_df.finalize(0, dest) + df = DocumentFrequencies().load(dest) + self.assertEqual(df.docs, 6) + self.assertEqual(df._df, self.merge_result) + + def test_save_path(self): + self.assertEqual(self.merge_df._save_path(0, "df.asdf"), "df.asdf") + self.assertEqual(self.merge_df._save_path(0, "df"), os.path.join("df", "docfreq_0.asdf")) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_model2base.py b/sourced/ml/tests/test_model2base.py new file mode 100644 index 0000000..2b8ffe1 --- /dev/null +++ b/sourced/ml/tests/test_model2base.py @@ -0,0 +1,99 @@ +import os +import tempfile +import unittest + +from sourced.ml.models.model_converters.base import Model2Base + + +class FromModel: + NAME = "from" + meta = {"dependencies": ()} + + def __init__(self, **kwargs): + pass + + def load(self, source): + pass + + +class ToModel: + NAME = "to" + output = None + meta = {"dependencies": ()} + + def __init__(self, **kwargs): + pass + + def save(self, output, deps=None): + ToModel.output = output + + +class Model2Test(Model2Base): + MODEL_FROM_CLASS = FromModel + MODEL_TO_CLASS = ToModel + finalized = False + + def convert_model(self, model): + return ToModel() + + +class MockingModel2Test(Model2Base): + MODEL_FROM_CLASS = FromModel + MODEL_TO_CLASS = ToModel + finalized = False + + def convert_model(self, model): + return ToModel() + + def finalize(self, index: int, destdir: str): + self.finalized = True + + +class RaisingModel2Test(Model2Base): + MODEL_FROM_CLASS = FromModel + MODEL_TO_CLASS = ToModel + + def convert_model(self, model): + raise ValueError("happens") + + +class FakeQueue: + def __init__(self, contents: list): + self.contents = contents + + def get(self): + return self.contents.pop() + + def put(self, item): + self.contents.append(item) + + +class Model2BaseTests(unittest.TestCase): + def test_convert(self): + converter = Model2Test(num_processes=2) + with tempfile.TemporaryDirectory() as tmpdir: + status = converter.convert(os.listdir(os.path.dirname(__file__)), tmpdir) + self.assertGreater(status, 20) + + def test_process_entry(self): + converter = MockingModel2Test(num_processes=2) + queue_in = FakeQueue([None, "srcdir/job"]) + queue_out = FakeQueue([]) + with tempfile.TemporaryDirectory(prefix="sourced-ml-") as tmpdir: + converter._process_entry( + 0, os.path.join(tmpdir, "destdir"), queue_in, queue_out) + self.assertTrue(os.path.exists(os.path.join(tmpdir, "destdir"))) + self.assertEqual(ToModel.output, os.path.join(tmpdir, "destdir", "job")) + self.assertTrue(converter.finalized) + self.assertEqual(queue_out.contents, [("srcdir/job", True)]) + + def test_process_entry_exception(self): + converter = RaisingModel2Test(num_processes=2) + queue_in = FakeQueue([None, "srcdir/job"]) + queue_out = FakeQueue([]) + converter._process_entry(0, "destdir", queue_in, queue_out) + self.assertEqual(queue_out.contents, [("srcdir/job", False)]) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_pickleable_logger.py b/sourced/ml/tests/test_pickleable_logger.py new file mode 100644 index 0000000..7044b4b --- /dev/null +++ b/sourced/ml/tests/test_pickleable_logger.py @@ -0,0 +1,22 @@ +import logging +import pickle +import unittest + +from sourced.ml.utils import PickleableLogger + + +class TestLogger(PickleableLogger): + def _get_log_name(self): + return "test" + + +class PickleableLoggerTests(unittest.TestCase): + def test_pickle(self): + logger = TestLogger(log_level=logging.ERROR) + logger = pickle._loads(pickle._dumps(logger)) + self.assertIsInstance(logger._log, logging.Logger) + self.assertEqual(logger._log.level, logging.ERROR) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_projector.py b/sourced/ml/tests/test_projector.py new file mode 100644 index 0000000..4f6e664 --- /dev/null +++ b/sourced/ml/tests/test_projector.py @@ -0,0 +1,127 @@ +import json +import os +import shutil +import socket +import tempfile +import time +import unittest + +from modelforge import slogging +import requests + +from sourced.ml.tests.test_dump import captured_output +from sourced.ml.utils.projector import CORSWebServer, present_embeddings, wait, web_server + + +class ProjectorTests(unittest.TestCase): + MAX_ATTEMPTS = 40 + + @classmethod + def setUpClass(cls): + slogging.setup("DEBUG", False) + + def setUp(self): + self.pwd = os.getcwd() + + def tearDown(self): + os.chdir(self.pwd) + + def wait_for_web_server(self): + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: + result = -1 + attempts = 0 + while result != 0 and attempts < self.MAX_ATTEMPTS: + time.sleep(0.05) + attempts += 1 + result = sock.connect_ex(("0.0.0.0", 8000)) + return attempts, result + + def test_web_server(self): + with tempfile.TemporaryDirectory(prefix="sourced.ml-test-") as tmpdir: + os.chdir(tmpdir) + testfile = "test.txt" + with open(testfile, "w") as fout: + fout.write("The Zen of Python, by Tim Peters") + server = CORSWebServer() + server.start() + + try: + attempts, result = self.wait_for_web_server() + self.assertTrue(attempts < self.MAX_ATTEMPTS or result == 0) + self.assertEqual(requests.get("http://0.0.0.0:8000/test.txt").text, + "The Zen of Python, by Tim Peters") + finally: + server.stop() + + def test_wait(self): + web_server.start() + try: + attempts, result = self.wait_for_web_server() + self.assertTrue(attempts < self.MAX_ATTEMPTS or result == 0) + self.assertTrue(web_server.running) + except: # noqa + web_server.stop() + raise + os.environ["PROJECTOR_SERVER_TIME"] = "0" + wait() + self.assertFalse(web_server.running) + web_server.start() + try: + attempts, result = self.wait_for_web_server() + self.assertTrue(attempts < self.MAX_ATTEMPTS or result == 0) + self.assertTrue(web_server.running) + finally: + web_server.stop() + + def test_present_embeddings(self): + with tempfile.TemporaryDirectory(prefix="sourced.ml-test-") as tmpdir: + tmpdir = os.path.join(tmpdir, "1", "2") + present_embeddings(tmpdir, False, ["one", "two"], + [(str(i), "x") for i in range(5)], + [(i, i) for i in range(5)]) + with open(os.path.join(tmpdir, "id2vec.json")) as fin: + json.load(fin) + with open(os.path.join(tmpdir, "id2vec_meta.tsv")) as fin: + self.assertEqual(fin.read(), "one\ttwo\n0\tx\n1\tx\n2\tx\n3\tx\n4\tx\n") + with open(os.path.join(tmpdir, "id2vec_data.tsv")) as fin: + self.assertEqual(fin.read(), "0\t0\n1\t1\n2\t2\n3\t3\n4\t4\n") + + def test_present_embeddings_run_server(self): + def sweded_which(prog): + return None + + which = shutil.which + shutil.which = sweded_which + browser = os.getenv("BROWSER", "") + os.environ["BROWSER"] = "" + + try: + with tempfile.TemporaryDirectory(prefix="sourced.ml-test-") as tmpdir: + with captured_output() as (stdout, _, _): + present_embeddings(tmpdir, True, ["one"], + [str(i) for i in range(5)], + [(i, i) for i in range(5)]) + with open(os.path.join(tmpdir, "id2vec.json")) as fin: + json.load(fin) + with open(os.path.join(tmpdir, "id2vec_meta.tsv")) as fin: + self.assertEqual(fin.read(), "0\n1\n2\n3\n4\n") + with open(os.path.join(tmpdir, "id2vec_data.tsv")) as fin: + self.assertEqual(fin.read(), "0\t0\n1\t1\n2\t2\n3\t3\n4\t4\n") + self.assertIn( + "\thttp://projector.tensorflow.org/?config=http://0.0.0.0:8000/id2vec.json\n", + stdout.getvalue()) + finally: + shutil.which = which + os.environ["BROWSER"] = browser + web_server.stop() + + def test_stop(self): + web_server.stop() # dummy test to avoid partially covered line in CI + self.assertFalse(web_server.running) + web_server.start() + web_server.stop() + self.assertFalse(web_server.running) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_quant.py b/sourced/ml/tests/test_quant.py new file mode 100644 index 0000000..698aa20 --- /dev/null +++ b/sourced/ml/tests/test_quant.py @@ -0,0 +1,49 @@ +from io import BytesIO +import unittest + +import numpy + +from sourced.ml.models import QuantizationLevels +import sourced.ml.tests.models as paths + + +class QuantizationLevelsTests(unittest.TestCase): + def setUp(self): + self.model = QuantizationLevels().load(source=paths.QUANTLEVELS) + + def test_levels(self): + levels = self.model.levels + self.assertIsInstance(levels, dict) + self.assertEqual(len(levels), 1) + self.assertIsInstance(levels["children"], dict) + self.assertEqual(len(levels["children"]), 259) + + def test_len(self): + self.assertEqual(len(self.model), 1) + + def test_write(self): + levels = {"xxx": {"a": numpy.array([1, 2, 3]), "b": numpy.array([4, 5, 6]), + "c": numpy.array([7, 8, 9])}, + "yyy": {"q": numpy.array([3, 2, 1]), "w": numpy.array([6, 5, 4]), + "e": numpy.array([9, 8, 7])}} + buffer = BytesIO() + QuantizationLevels().construct(levels).save(output=buffer, series="quant") + buffer.seek(0) + model = QuantizationLevels().load(buffer) + levels = model.levels + self.assertEqual(len(levels), 2) + self.assertEqual(len(levels["xxx"]), 3) + self.assertEqual(len(levels["yyy"]), 3) + self.assertTrue((levels["xxx"]["a"] == numpy.array([1, 2, 3])).all()) + self.assertTrue((levels["xxx"]["b"] == numpy.array([4, 5, 6])).all()) + self.assertTrue((levels["xxx"]["c"] == numpy.array([7, 8, 9])).all()) + self.assertTrue((levels["yyy"]["q"] == numpy.array([3, 2, 1])).all()) + self.assertTrue((levels["yyy"]["w"] == numpy.array([6, 5, 4])).all()) + self.assertTrue((levels["yyy"]["e"] == numpy.array([9, 8, 7])).all()) + + def test_dump(self): + self.assertEqual(self.model.dump(), "Schemes: [('children', '259@10')]") + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_random_walk.py b/sourced/ml/tests/test_random_walk.py new file mode 100644 index 0000000..0d84586 --- /dev/null +++ b/sourced/ml/tests/test_random_walk.py @@ -0,0 +1,29 @@ +import unittest + +import bblfsh + +from sourced.ml.algorithms.uast_ids_to_bag import FakeVocabulary +from sourced.ml.algorithms.uast_struct_to_bag import Uast2RandomWalks +from sourced.ml.tests import models + + +class RandomWalkTests(unittest.TestCase): + def setUp(self): + self.bblfsh = bblfsh.BblfshClient("localhost:9432") + self.uast = self.bblfsh.parse(models.SOURCE_PY).uast + self.uast2walk = Uast2RandomWalks(p_explore_neighborhood=0.5, + q_leave_neighborhood=0.5, + n_walks=5, + n_steps=19, + node2index=FakeVocabulary(), + seed=42) + + def test_rw(self): + for walk in self.uast2walk(self.uast): + for i in range(len(walk)-1): + self.assertNotEqual(walk[i], walk[i+1], + "Two neighbours nodes should not be the same") + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_token_parser.py b/sourced/ml/tests/test_token_parser.py new file mode 100644 index 0000000..a155b82 --- /dev/null +++ b/sourced/ml/tests/test_token_parser.py @@ -0,0 +1,173 @@ +import pickle +import unittest + +from sourced.ml.algorithms import NoopTokenParser, TokenParser + + +class TokenParserTests(unittest.TestCase): + def setUp(self): + self.tp = TokenParser(stem_threshold=4, max_token_length=20) + self.tp._single_shot = False + + def test_process_token(self): + self.tp.max_token_length = 100 + + tokens = [ + ("UpperCamelCase", ["upper", "camel", "case"]), + ("camelCase", ["camel", "case"]), + ("FRAPScase", ["frap", "case"]), + ("SQLThing", ["sqlt", "hing"]), + ("_Astra", ["astra"]), + ("CAPS_CONST", ["caps", "const"]), + ("_something_SILLY_", ["someth", "silli"]), + ("blink182", ["blink"]), + ("FooBar100500Bingo", ["foo", "bar", "bingo"]), + ("Man45var", ["man", "var"]), + ("method_name", ["method", "name"]), + ("Method_Name", ["method", "name"]), + ("101dalms", ["dalm"]), + ("101_dalms", ["dalm"]), + ("101_DalmsBug", ["dalm", "bug"]), + ("101_Dalms45Bug7", ["dalm", "bug"]), + ("wdSize", ["wd", "size", "wdsize"]), + ("Glint", ["glint"]), + ("foo_BAR", ["foo", "bar"]), + ("sourced.ml.algorithms.uast_ids_to_bag", + ["sourc", "sourcedml", "algorithm", "mlalgorithm", + "uast", "ids", "idsto", "bag", "tobag"]), + ("WORSTnameYOUcanIMAGINE", ["worst", "name", "you", "can", "imagin"]), + # Another bad example. Parser failed to parse it correctly + ("SmallIdsToFoOo", ["small", "ids", "idsto", "fo", "oo"]), + ("SmallIdFooo", ["small", "smallid", "fooo", "idfooo"]), + ("ONE_M0re_.__badId.example", ["one", "onem", "re", "bad", "rebad", + "badid", "exampl", "idexampl"]), + ("never_use_Such__varsableNames", ["never", "use", "such", "varsabl", "name"]), + ("a.b.c.d", ["a", "b", "c", "d"]), + ("A.b.Cd.E", ["a", "b", "cd", "e"]), + ("looong_sh_loooong_sh", ["looong", "looongsh", "loooong", "shloooong", "loooongsh"]), + ("sh_sh_sh_sh", ["sh", "sh", "sh", "sh"]), + ("loooong_loooong_loooong", ["loooong", "loooong", "loooong"]) + ] + + for token, correct in tokens: + res = list(self.tp.process_token(token)) + self.assertEqual(res, correct) + + def test_process_token_single_shot(self): + self.tp.max_token_length = 100 + self.tp._single_shot = True + self.tp.min_split_length = 1 + tokens = [ + ("UpperCamelCase", ["upper", "camel", "case"]), + ("camelCase", ["camel", "case"]), + ("FRAPScase", ["frap", "case"]), + ("SQLThing", ["sqlt", "hing"]), + ("_Astra", ["astra"]), + ("CAPS_CONST", ["caps", "const"]), + ("_something_SILLY_", ["someth", "silli"]), + ("blink182", ["blink"]), + ("FooBar100500Bingo", ["foo", "bar", "bingo"]), + ("Man45var", ["man", "var"]), + ("method_name", ["method", "name"]), + ("Method_Name", ["method", "name"]), + ("101dalms", ["dalm"]), + ("101_dalms", ["dalm"]), + ("101_DalmsBug", ["dalm", "bug"]), + ("101_Dalms45Bug7", ["dalm", "bug"]), + ("wdSize", ["wd", "size"]), + ("Glint", ["glint"]), + ("foo_BAR", ["foo", "bar"]), + ("sourced.ml.algorithms.uast_ids_to_bag", + ["sourc", "ml", "algorithm", "uast", "ids", "to", "bag"]), + ("WORSTnameYOUcanIMAGINE", ["worst", "name", "you", "can", "imagin"]), + # Another bad example. Parser failed to parse it correctly + ("SmallIdsToFoOo", ["small", "ids", "to", "fo", "oo"]), + ("SmallIdFooo", ["small", "id", "fooo"]), + ("ONE_M0re_.__badId.example", ["one", "m", "re", "bad", "id", "exampl"]), + ("never_use_Such__varsableNames", ["never", "use", "such", "varsabl", "name"]), + ("a.b.c.d", ["a", "b", "c", "d"]), + ("A.b.Cd.E", ["a", "b", "cd", "e"]), + ("looong_sh_loooong_sh", ["looong", "sh", "loooong", "sh"]), + ("sh_sh_sh_sh", ["sh", "sh", "sh", "sh"]), + ("loooong_loooong_loooong", ["loooong", "loooong", "loooong"]) + ] + + for token, correct in tokens: + res = list(self.tp.process_token(token)) + self.assertEqual(res, correct) + + min_split_length = 3 + self.tp.min_split_length = min_split_length + for token, correct in tokens: + res = list(self.tp.process_token(token)) + self.assertEqual(res, [c for c in correct if len(c) >= min_split_length]) + + def test_split(self): + self.assertEqual(list(self.tp.split("set for")), ["set", "for"]) + self.assertEqual(list(self.tp.split("set /for.")), ["set", "for"]) + self.assertEqual(list(self.tp.split("NeverHav")), ["never", "hav"]) + self.assertEqual(list(self.tp.split("PrintAll")), ["print", "all"]) + self.assertEqual(list(self.tp.split("PrintAllExcept")), ["print", "all", "except"]) + self.assertEqual( + list(self.tp.split("print really long line")), + # 'longli' is expected artifact due to edge effects + ["print", "really", "long", "longli"]) + self.assertEqual( + list(self.tp.split("set /for. *&PrintAll")), + ["set", "for", "print", "all"]) + self.assertEqual( + list(self.tp.split("JumpDown not Here")), + ["jump", "down", "not", "here"]) + + self.assertEqual( + list(self.tp.split("a b c d")), + ["a", "b", "c", "d"]) + self.assertEqual( + list(self.tp.split("a b long c d")), + ["a", "b", "long", "blong", "longc", "d"]) + self.assertEqual( + list(self.tp.split("AbCd")), + ["ab", "cd"]) + + def test_split_single_shot(self): + self.tp._single_shot = True + self.tp.min_split_length = 1 + self.assertEqual( + list(self.tp.split("print really long line")), + # 'longli' is expected artifact due to edge effects + ["print", "really", "long", "li"]) + self.assertEqual( + list(self.tp.split("a b c d")), + ["a", "b", "c", "d"]) + self.assertEqual( + list(self.tp.split("a b long c d")), + ["a", "b", "long", "c", "d"]) + self.assertEqual( + list(self.tp.split("AbCd")), + ["ab", "cd"]) + + def test_stem(self): + self.assertEqual(self.tp.stem("lol"), "lol") + self.assertEqual(self.tp.stem("apple"), "appl") + self.assertEqual(self.tp.stem("orange"), "orang") + self.assertEqual(self.tp.stem("embedding"), "embed") + self.assertEqual(self.tp.stem("Alfred"), "Alfred") + self.assertEqual(self.tp.stem("Pluto"), "Pluto") + + def test_pickle(self): + tp = pickle.loads(pickle.dumps(self.tp)) + self.assertEqual(tp.stem("embedding"), "embed") + + +class NoopTokenParserTests(unittest.TestCase): + def setUp(self): + self.tp = NoopTokenParser() + + def test_process_token(self): + self.assertEqual(list(self.tp.process_token("abcdef")), ["abcdef"]) + self.assertEqual(list(self.tp.process_token("abcd_ef")), ["abcd_ef"]) + self.assertEqual(list(self.tp.process_token("abcDef")), ["abcDef"]) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_uast_inttypes_to_graphlets.py b/sourced/ml/tests/test_uast_inttypes_to_graphlets.py new file mode 100644 index 0000000..b6b1cfc --- /dev/null +++ b/sourced/ml/tests/test_uast_inttypes_to_graphlets.py @@ -0,0 +1,20 @@ +import unittest + +from bblfsh import BblfshClient + +from sourced.ml.algorithms import Uast2GraphletBag +from sourced.ml.tests.models import SOURCE_PY + + +class Uast2GraphletBagTest(unittest.TestCase): + def setUp(self): + self.graphlets_bag_extractor = Uast2GraphletBag() + self.uast = BblfshClient("0.0.0.0:9432").parse(SOURCE_PY).uast + + def test_uast_to_bag(self): + bag = self.graphlets_bag_extractor(self.uast) + self.assertGreater(len(bag), 0, "Expected size of bag should be > 0") + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_uast_struct_to_bag.py b/sourced/ml/tests/test_uast_struct_to_bag.py new file mode 100644 index 0000000..9860279 --- /dev/null +++ b/sourced/ml/tests/test_uast_struct_to_bag.py @@ -0,0 +1,55 @@ +import unittest + +from bblfsh import BblfshClient + +from sourced.ml.algorithms import UastRandomWalk2Bag, UastSeq2Bag +from sourced.ml.tests.models import SOURCE_PY + + +class Uast2RandomWalk2BagTest(unittest.TestCase): + def setUp(self): + self.uast_random_walk2bag = UastRandomWalk2Bag(seq_len=[2, 3]) + self.uast = BblfshClient("0.0.0.0:9432").parse(SOURCE_PY).uast + + def test_uast_to_bag(self): + bag = self.uast_random_walk2bag(self.uast) + self.assertGreater(len(bag), 0, "Expected size of bag should be > 0") + + def test_equivalence_prepare_starting_nodes(self): + starting_nodes_old = self.prepare_starting_nodes(self.uast) + starting_nodes = self.uast_random_walk2bag.uast2walks.prepare_starting_nodes(self.uast) + self.assertEqual(len(starting_nodes_old), len(starting_nodes)) + + def structure(tree): + from collections import Counter + return set(Counter(len(node.children) for node in tree)) + + self.assertEqual(structure(starting_nodes_old), structure(starting_nodes)) + + def prepare_starting_nodes(self, uast): + starting_nodes = [] + self._prepare_starting_nodes(uast, None, starting_nodes) + + return starting_nodes + + def _prepare_starting_nodes(self, root, parent, starting_nodes): + node = self.uast_random_walk2bag.uast2walks._extract_node(node=root, parent=parent) + starting_nodes.append(node) + + for ch in root.children: + node.children.append(self._prepare_starting_nodes( + ch, parent=node, starting_nodes=starting_nodes)) + + +class UastSeq2BagTest(unittest.TestCase): + def setUp(self): + self.uast_seq2bag = UastSeq2Bag(seq_len=[2, 3]) + self.uast = BblfshClient("0.0.0.0:9432").parse(SOURCE_PY).uast + + def test_uast_to_bag(self): + bag = self.uast_seq2bag(self.uast) + self.assertGreater(len(bag), 0, "Expected size of bag should be > 0") + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_uast_to_id_distance.py b/sourced/ml/tests/test_uast_to_id_distance.py new file mode 100644 index 0000000..6d15cfe --- /dev/null +++ b/sourced/ml/tests/test_uast_to_id_distance.py @@ -0,0 +1,137 @@ +import unittest + +from bblfsh import BblfshClient + +from sourced.ml.algorithms import NoopTokenParser, Uast2IdLineDistance, Uast2IdTreeDistance +from sourced.ml.tests.models import SOURCE_PY + + +class Uast2IdTreeDistanceTest(unittest.TestCase): + def setUp(self): + self.uast2role_id_pairs = Uast2IdTreeDistance(token_parser=NoopTokenParser(), + max_distance=4) + self.uast = BblfshClient("0.0.0.0:9432").parse(SOURCE_PY).uast + self.maxDiff = None + + def test_result(self): + correct = [(("__spec__", "ModuleSpec"), 2), + (("__spec__", "ModuleSpec"), 3), + (("__spec__", "ModuleSpec"), 3), + (("collections", "ModuleSpec"), 2), + (("collections", "ModuleSpec"), 2), + (("collections", "ModuleSpec"), 3), + (("collections", "__spec__"), 3), + (("namedtuple", "ModuleSpec"), 3), + (("namedtuple", "ModuleSpec"), 3), + (("namedtuple", "ModuleSpec"), 3), + (("namedtuple", "ModuleSpec"), 3), + (("namedtuple", "collections"), 3), + (("namedtuple", "collections"), 3), + (("setup", "modelforge.logs"), 3), + (("setup_logging", "modelforge.logs"), 3), + (("sys", "modelforge.logs"), 3), + (("sys", "modules"), 2), + (("utmain", "ModuleSpec"), 2), + (("utmain", "ModuleSpec"), 3), + (("utmain", "ModuleSpec"), 3), + (("utmain", "__package__"), 2), + (("utmain", "__spec__"), 2), + (("utmain", "__spec__"), 2), + (("utmain", "collections"), 3), + (("utmain", "modelforge.logs"), 2), + (("utmain", "modelforge.logs"), 2), + (("utmain", "setup"), 3), + (("utmain", "setup"), 3), + (("utmain", "setup_logging"), 3), + (("utmain", "setup_logging"), 3), + (("utmain", "sys"), 3), + (("utmain", "sys"), 3)] + + res = sorted(self.uast2role_id_pairs(self.uast)) + self.assertEqual(res, correct) + + +class Uast2IdLineDistanceTest(unittest.TestCase): + def setUp(self): + self.uast2role_id_pairs = Uast2IdLineDistance(token_parser=NoopTokenParser(), + max_distance=3) + self.uast = BblfshClient("0.0.0.0:9432").parse(SOURCE_PY).uast + self.maxDiff = None + + def test_result(self): + correct = [(("__package__", "ModuleSpec"), 2), + (("__spec__", "ModuleSpec"), 0), + (("__spec__", "ModuleSpec"), 1), + (("__spec__", "ModuleSpec"), 1), + (("__spec__", "ModuleSpec"), 2), + (("__spec__", "__package__"), 0), + (("collections", "ModuleSpec"), 1), + (("collections", "ModuleSpec"), 2), + (("collections", "__package__"), 1), + (("collections", "__spec__"), 1), + (("collections", "__spec__"), 2), + (("modules", "__package__"), 1), + (("modules", "__spec__"), 1), + (("modules", "collections"), 2), + (("namedtuple", "ModuleSpec"), 0), + (("namedtuple", "ModuleSpec"), 1), + (("namedtuple", "ModuleSpec"), 1), + (("namedtuple", "ModuleSpec"), 2), + (("namedtuple", "ModuleSpec"), 2), + (("namedtuple", "__package__"), 1), + (("namedtuple", "__package__"), 2), + (("namedtuple", "__spec__"), 1), + (("namedtuple", "__spec__"), 1), + (("namedtuple", "__spec__"), 2), + (("namedtuple", "__spec__"), 2), + (("namedtuple", "collections"), 0), + (("namedtuple", "collections"), 1), + (("namedtuple", "modules"), 2), + (("setup_logging", "modelforge.logs"), 0), + (("setup_logging", "setup"), 1), + (("sys", "__package__"), 1), + (("sys", "__spec__"), 1), + (("sys", "collections"), 2), + (("sys", "modelforge.logs"), 2), + (("sys", "modules"), 0), + (("sys", "namedtuple"), 2), + (("sys", "setup_logging"), 2), + (("utmain", "ModuleSpec"), 0), + (("utmain", "ModuleSpec"), 1), + (("utmain", "ModuleSpec"), 1), + (("utmain", "ModuleSpec"), 1), + (("utmain", "ModuleSpec"), 2), + (("utmain", "ModuleSpec"), 2), + (("utmain", "ModuleSpec"), 2), + (("utmain", "__package__"), 0), + (("utmain", "__package__"), 0), + (("utmain", "__package__"), 1), + (("utmain", "__spec__"), 0), + (("utmain", "__spec__"), 0), + (("utmain", "__spec__"), 0), + (("utmain", "__spec__"), 1), + (("utmain", "__spec__"), 2), + (("utmain", "collections"), 1), + (("utmain", "collections"), 1), + (("utmain", "collections"), 2), + (("utmain", "collections"), 2), + (("utmain", "modules"), 0), + (("utmain", "modules"), 1), + (("utmain", "modules"), 1), + (("utmain", "namedtuple"), 1), + (("utmain", "namedtuple"), 1), + (("utmain", "namedtuple"), 1), + (("utmain", "namedtuple"), 2), + (("utmain", "namedtuple"), 2), + (("utmain", "namedtuple"), 2), + (("utmain", "namedtuple"), 2), + (("utmain", "sys"), 0), + (("utmain", "sys"), 1), + (("utmain", "sys"), 1)] + + res = sorted(self.uast2role_id_pairs(self.uast)) + self.assertEqual(res, correct) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_uast_to_id_sequence.py b/sourced/ml/tests/test_uast_to_id_sequence.py new file mode 100644 index 0000000..7411eef --- /dev/null +++ b/sourced/ml/tests/test_uast_to_id_sequence.py @@ -0,0 +1,24 @@ +import unittest + +from bblfsh import BblfshClient + +from sourced.ml.algorithms import NoopTokenParser, Uast2IdSequence +from sourced.ml.tests.models import SOURCE_PY + + +class Uast2IdSequenceTest(unittest.TestCase): + def setUp(self): + self.uast2id_sequence = Uast2IdSequence(token_parser=NoopTokenParser()) + self.uast = BblfshClient("0.0.0.0:9432").parse(SOURCE_PY).uast + + def test_result(self): + correct = ["sys", "setup_logging", "modelforge.logs", "utmain", "modules", "sys", + "__package__", "utmain", "__spec__", "utmain", "namedtuple", "collections", + "ModuleSpec", "namedtuple", "__spec__", "utmain", "ModuleSpec", "ModuleSpec", + "utmain", "setup", "setup_logging"] + res = self.uast2id_sequence(self.uast) + self.assertEqual(res, self.uast2id_sequence.concat(correct)) + + +if __name__ == "__main__": + unittest.main() diff --git a/sourced/ml/tests/test_uast_to_role_id_pairs.py b/sourced/ml/tests/test_uast_to_role_id_pairs.py new file mode 100644 index 0000000..e57760f --- /dev/null +++ b/sourced/ml/tests/test_uast_to_role_id_pairs.py @@ -0,0 +1,41 @@ +import unittest + +from bblfsh import BblfshClient + +from sourced.ml.algorithms import NoopTokenParser, Uast2RoleIdPairs +from sourced.ml.tests.models import SOURCE_PY + + +class Uast2NodesBagTest(unittest.TestCase): + def setUp(self): + self.uast2role_id_pairs = Uast2RoleIdPairs(token_parser=NoopTokenParser()) + self.uast = BblfshClient("0.0.0.0:9432").parse(SOURCE_PY).uast + + def test_result(self): + correct = [("ModuleSpec", "BODY | IF | THEN"), + ("ModuleSpec", "IDENTIFIER | EXPRESSION | CALL | CALLEE"), + ("ModuleSpec", "STATEMENT | INCOMPLETE"), + ("__package__", "BINARY | EXPRESSION | CONDITION"), + ("__spec__", "BINARY | EXPRESSION | CONDITION"), + ("__spec__", "BODY | IF | THEN"), + ("collections", "IDENTIFIER | IMPORT | PATHNAME"), + ("modelforge.logs", "IDENTIFIER | IMPORT | PATHNAME"), + ("modules", "RIGHT | EXPRESSION | INCOMPLETE"), + ("namedtuple", "IDENTIFIER | EXPRESSION | CALL | CALLEE"), + ("namedtuple", "IDENTIFIER | IMPORT | PATHNAME"), + ("setup", "IDENTIFIER | DECLARATION | FUNCTION | NAME"), + ("setup_logging", "IDENTIFIER | EXPRESSION | CALL | CALLEE"), + ("setup_logging", "IDENTIFIER | IMPORT | PATHNAME"), + ("sys", "IDENTIFIER | IMPORT | PATHNAME"), + ("sys", "RIGHT | EXPRESSION | INCOMPLETE"), + ("utmain", "BINARY | EXPRESSION | CONDITION"), + ("utmain", "BINARY | EXPRESSION | CONDITION"), + ("utmain", "BODY | IF | THEN"), + ("utmain", "FILE | MODULE"), + ("utmain", "STATEMENT | INCOMPLETE")] + res = sorted(self.uast2role_id_pairs(self.uast)) + self.assertEqual(res, correct) + + +if __name__ == "__main__": + unittest.main() From 86098aa964118b7f9e70b345743a05849117db7d Mon Sep 17 00:00:00 2001 From: Guillem Duran Date: Fri, 26 Apr 2019 18:46:20 +0200 Subject: [PATCH 3/5] Move code inside folder core Signed-off-by: Guillem Duran --- sourced/ml/__main__.py | 358 ------------------ sourced/ml/{ => core}/algorithms/__init__.py | 3 +- .../ml/{ => core}/algorithms/id_embedding.py | 0 .../algorithms/id_splitter/README.md | 0 .../algorithms/id_splitter/__init__.py | 0 .../algorithms/id_splitter/features.py | 0 .../algorithms/id_splitter/nn_model.py | 0 .../algorithms/id_splitter/pipeline.py | 0 sourced/ml/{ => core}/algorithms/swivel.py | 0 sourced/ml/{ => core}/algorithms/tf_idf.py | 0 .../ml/{ => core}/algorithms/token_parser.py | 0 .../{ => core}/algorithms/uast_id_distance.py | 2 +- .../{ => core}/algorithms/uast_ids_to_bag.py | 0 .../algorithms/uast_inttypes_to_graphlets.py | 2 +- .../algorithms/uast_inttypes_to_nodes.py | 0 .../algorithms/uast_struct_to_bag.py | 2 +- .../ml/{ => core}/algorithms/uast_to_bag.py | 0 .../algorithms/uast_to_id_sequence.py | 0 .../algorithms/uast_to_role_id_pairs.py | 2 +- sourced/ml/{ => core}/extractors/__init__.py | 0 .../{ => core}/extractors/bags_extractor.py | 0 sourced/ml/{ => core}/extractors/children.py | 0 sourced/ml/{ => core}/extractors/graphlets.py | 0 sourced/ml/{ => core}/extractors/helpers.py | 0 .../ml/{ => core}/extractors/id_sequence.py | 0 .../extractors/identifier_distance.py | 0 .../ml/{ => core}/extractors/identifiers.py | 2 +- sourced/ml/{ => core}/extractors/literals.py | 0 .../{ => core}/extractors/uast_random_walk.py | 0 sourced/ml/{ => core}/extractors/uast_seq.py | 0 sourced/ml/{ => core}/modelforgecfg.py | 0 sourced/ml/{ => core}/models/__init__.py | 0 sourced/ml/{ => core}/models/bow.py | 0 sourced/ml/{ => core}/models/coocc.py | 0 sourced/ml/{ => core}/models/df.py | 0 sourced/ml/{ => core}/models/id2vec.py | 0 sourced/ml/{ => core}/models/license.py | 0 .../models/model_converters/__init__.py | 0 .../models/model_converters/base.py | 0 .../models/model_converters/merge_bow.py | 0 .../models/model_converters/merge_df.py | 0 sourced/ml/{ => core}/models/ordered_df.py | 0 sourced/ml/{ => core}/models/quant.py | 0 sourced/ml/{ => core}/models/tensorflow.py | 0 sourced/ml/{ => core}/models/topics.py | 0 sourced/ml/{ => core}/tests/.gitignore | 0 sourced/ml/{ => core}/tests/__init__.py | 0 sourced/ml/{ => core}/tests/asdf/bow.asdf | Bin sourced/ml/{ => core}/tests/asdf/coocc.asdf | Bin .../ml/{ => core}/tests/asdf/coocc_df.asdf | Bin .../{ => core}/tests/asdf/docfreq_1000.asdf | Bin .../ml/{ => core}/tests/asdf/id2vec_1000.asdf | Bin sourced/ml/{ => core}/tests/asdf/quant.asdf | Bin sourced/ml/{ => core}/tests/asdf/topics.asdf | Bin sourced/ml/{ => core}/tests/asdf/uast.asdf | Bin .../ml/{ => core}/tests/asdf/voccoocc.asdf | Bin .../{ => core}/tests/identifiers.csv.tar.gz | Bin sourced/ml/{ => core}/tests/models.py | 0 .../source => core/tests/models}/__init__.py | 0 .../tests/models/test_tensorflow.py | 0 sourced/ml/core/tests/source/__init__.py | 0 sourced/ml/{ => core}/tests/source/example.py | 0 .../tests/source/example_functions.py | 0 .../ml/{ => core}/tests/swivel/col_sums.txt | 0 .../{ => core}/tests/swivel/col_sums.txt.gz | Bin .../ml/{ => core}/tests/swivel/col_vocab.txt | 0 .../{ => core}/tests/swivel/col_vocab.txt.gz | Bin .../ml/{ => core}/tests/swivel/row_sums.txt | 0 .../{ => core}/tests/swivel/row_sums.txt.gz | Bin .../ml/{ => core}/tests/swivel/row_vocab.txt | 0 .../{ => core}/tests/swivel/row_vocab.txt.gz | Bin .../tests/swivel/shard-000-000.pb.gz | Bin .../ml/{ => core}/tests/test_bblfsh_utils.py | 0 sourced/ml/{ => core}/tests/test_bigartm.py | 0 sourced/ml/{ => core}/tests/test_bow.py | 0 sourced/ml/{ => core}/tests/test_coocc.py | 0 sourced/ml/{ => core}/tests/test_df.py | 0 sourced/ml/{ => core}/tests/test_dump.py | 0 .../tests/test_id_splitter_features.py | 0 .../tests/test_id_splitter_nn_model.py | 0 .../tests/test_id_splitter_pipeline.py | 0 .../tests/test_inttypes_to_nodes.py | 0 sourced/ml/{ => core}/tests/test_merge_bow.py | 0 sourced/ml/{ => core}/tests/test_merge_df.py | 0 .../ml/{ => core}/tests/test_model2base.py | 0 .../tests/test_pickleable_logger.py | 0 sourced/ml/{ => core}/tests/test_projector.py | 0 sourced/ml/{ => core}/tests/test_quant.py | 0 .../ml/{ => core}/tests/test_random_walk.py | 2 +- .../ml/{ => core}/tests/test_token_parser.py | 0 .../tests/test_uast_inttypes_to_graphlets.py | 0 .../tests/test_uast_struct_to_bag.py | 0 .../tests/test_uast_to_id_distance.py | 0 .../tests/test_uast_to_id_sequence.py | 0 .../tests/test_uast_to_role_id_pairs.py | 0 sourced/ml/{ => core}/utils/__init__.py | 0 sourced/ml/{ => core}/utils/bblfsh.py | 0 sourced/ml/{ => core}/utils/bblfsh_roles.py | 0 sourced/ml/{ => core}/utils/bigartm.py | 0 .../ml/{ => core}/utils/pickleable_logger.py | 0 sourced/ml/{ => core}/utils/projector.py | 0 101 files changed, 7 insertions(+), 366 deletions(-) delete mode 100644 sourced/ml/__main__.py rename sourced/ml/{ => core}/algorithms/__init__.py (78%) rename sourced/ml/{ => core}/algorithms/id_embedding.py (100%) rename sourced/ml/{ => core}/algorithms/id_splitter/README.md (100%) rename sourced/ml/{ => core}/algorithms/id_splitter/__init__.py (100%) rename sourced/ml/{ => core}/algorithms/id_splitter/features.py (100%) rename sourced/ml/{ => core}/algorithms/id_splitter/nn_model.py (100%) rename sourced/ml/{ => core}/algorithms/id_splitter/pipeline.py (100%) rename sourced/ml/{ => core}/algorithms/swivel.py (100%) rename sourced/ml/{ => core}/algorithms/tf_idf.py (100%) rename sourced/ml/{ => core}/algorithms/token_parser.py (100%) rename sourced/ml/{ => core}/algorithms/uast_id_distance.py (98%) rename sourced/ml/{ => core}/algorithms/uast_ids_to_bag.py (100%) rename sourced/ml/{ => core}/algorithms/uast_inttypes_to_graphlets.py (96%) rename sourced/ml/{ => core}/algorithms/uast_inttypes_to_nodes.py (100%) rename sourced/ml/{ => core}/algorithms/uast_struct_to_bag.py (98%) rename sourced/ml/{ => core}/algorithms/uast_to_bag.py (100%) rename sourced/ml/{ => core}/algorithms/uast_to_id_sequence.py (100%) rename sourced/ml/{ => core}/algorithms/uast_to_role_id_pairs.py (97%) rename sourced/ml/{ => core}/extractors/__init__.py (100%) rename sourced/ml/{ => core}/extractors/bags_extractor.py (100%) rename sourced/ml/{ => core}/extractors/children.py (100%) rename sourced/ml/{ => core}/extractors/graphlets.py (100%) rename sourced/ml/{ => core}/extractors/helpers.py (100%) rename sourced/ml/{ => core}/extractors/id_sequence.py (100%) rename sourced/ml/{ => core}/extractors/identifier_distance.py (100%) rename sourced/ml/{ => core}/extractors/identifiers.py (89%) rename sourced/ml/{ => core}/extractors/literals.py (100%) rename sourced/ml/{ => core}/extractors/uast_random_walk.py (100%) rename sourced/ml/{ => core}/extractors/uast_seq.py (100%) rename sourced/ml/{ => core}/modelforgecfg.py (100%) rename sourced/ml/{ => core}/models/__init__.py (100%) rename sourced/ml/{ => core}/models/bow.py (100%) rename sourced/ml/{ => core}/models/coocc.py (100%) rename sourced/ml/{ => core}/models/df.py (100%) rename sourced/ml/{ => core}/models/id2vec.py (100%) rename sourced/ml/{ => core}/models/license.py (100%) rename sourced/ml/{ => core}/models/model_converters/__init__.py (100%) rename sourced/ml/{ => core}/models/model_converters/base.py (100%) rename sourced/ml/{ => core}/models/model_converters/merge_bow.py (100%) rename sourced/ml/{ => core}/models/model_converters/merge_df.py (100%) rename sourced/ml/{ => core}/models/ordered_df.py (100%) rename sourced/ml/{ => core}/models/quant.py (100%) rename sourced/ml/{ => core}/models/tensorflow.py (100%) rename sourced/ml/{ => core}/models/topics.py (100%) rename sourced/ml/{ => core}/tests/.gitignore (100%) rename sourced/ml/{ => core}/tests/__init__.py (100%) rename sourced/ml/{ => core}/tests/asdf/bow.asdf (100%) rename sourced/ml/{ => core}/tests/asdf/coocc.asdf (100%) rename sourced/ml/{ => core}/tests/asdf/coocc_df.asdf (100%) rename sourced/ml/{ => core}/tests/asdf/docfreq_1000.asdf (100%) rename sourced/ml/{ => core}/tests/asdf/id2vec_1000.asdf (100%) rename sourced/ml/{ => core}/tests/asdf/quant.asdf (100%) rename sourced/ml/{ => core}/tests/asdf/topics.asdf (100%) rename sourced/ml/{ => core}/tests/asdf/uast.asdf (100%) rename sourced/ml/{ => core}/tests/asdf/voccoocc.asdf (100%) rename sourced/ml/{ => core}/tests/identifiers.csv.tar.gz (100%) rename sourced/ml/{ => core}/tests/models.py (100%) rename sourced/ml/{tests/source => core/tests/models}/__init__.py (100%) rename sourced/ml/{ => core}/tests/models/test_tensorflow.py (100%) create mode 100644 sourced/ml/core/tests/source/__init__.py rename sourced/ml/{ => core}/tests/source/example.py (100%) rename sourced/ml/{ => core}/tests/source/example_functions.py (100%) rename sourced/ml/{ => core}/tests/swivel/col_sums.txt (100%) rename sourced/ml/{ => core}/tests/swivel/col_sums.txt.gz (100%) rename sourced/ml/{ => core}/tests/swivel/col_vocab.txt (100%) rename sourced/ml/{ => core}/tests/swivel/col_vocab.txt.gz (100%) rename sourced/ml/{ => core}/tests/swivel/row_sums.txt (100%) rename sourced/ml/{ => core}/tests/swivel/row_sums.txt.gz (100%) rename sourced/ml/{ => core}/tests/swivel/row_vocab.txt (100%) rename sourced/ml/{ => core}/tests/swivel/row_vocab.txt.gz (100%) rename sourced/ml/{ => core}/tests/swivel/shard-000-000.pb.gz (100%) rename sourced/ml/{ => core}/tests/test_bblfsh_utils.py (100%) rename sourced/ml/{ => core}/tests/test_bigartm.py (100%) rename sourced/ml/{ => core}/tests/test_bow.py (100%) rename sourced/ml/{ => core}/tests/test_coocc.py (100%) rename sourced/ml/{ => core}/tests/test_df.py (100%) rename sourced/ml/{ => core}/tests/test_dump.py (100%) rename sourced/ml/{ => core}/tests/test_id_splitter_features.py (100%) rename sourced/ml/{ => core}/tests/test_id_splitter_nn_model.py (100%) rename sourced/ml/{ => core}/tests/test_id_splitter_pipeline.py (100%) rename sourced/ml/{ => core}/tests/test_inttypes_to_nodes.py (100%) rename sourced/ml/{ => core}/tests/test_merge_bow.py (100%) rename sourced/ml/{ => core}/tests/test_merge_df.py (100%) rename sourced/ml/{ => core}/tests/test_model2base.py (100%) rename sourced/ml/{ => core}/tests/test_pickleable_logger.py (100%) rename sourced/ml/{ => core}/tests/test_projector.py (100%) rename sourced/ml/{ => core}/tests/test_quant.py (100%) rename sourced/ml/{ => core}/tests/test_random_walk.py (93%) rename sourced/ml/{ => core}/tests/test_token_parser.py (100%) rename sourced/ml/{ => core}/tests/test_uast_inttypes_to_graphlets.py (100%) rename sourced/ml/{ => core}/tests/test_uast_struct_to_bag.py (100%) rename sourced/ml/{ => core}/tests/test_uast_to_id_distance.py (100%) rename sourced/ml/{ => core}/tests/test_uast_to_id_sequence.py (100%) rename sourced/ml/{ => core}/tests/test_uast_to_role_id_pairs.py (100%) rename sourced/ml/{ => core}/utils/__init__.py (100%) rename sourced/ml/{ => core}/utils/bblfsh.py (100%) rename sourced/ml/{ => core}/utils/bblfsh_roles.py (100%) rename sourced/ml/{ => core}/utils/bigartm.py (100%) rename sourced/ml/{ => core}/utils/pickleable_logger.py (100%) rename sourced/ml/{ => core}/utils/projector.py (100%) diff --git a/sourced/ml/__main__.py b/sourced/ml/__main__.py deleted file mode 100644 index eff77a6..0000000 --- a/sourced/ml/__main__.py +++ /dev/null @@ -1,358 +0,0 @@ -import argparse -import logging -import os -import sys - -from modelforge import slogging - -from sourced.ml import cmd -from sourced.ml import extractors -from sourced.ml.cmd import args -from sourced.ml.cmd.run_swivel import mirror_tf_args -from sourced.ml.transformers import Moder -from sourced.ml.utils import install_bigartm -from sourced.ml.utils.spark import add_spark_args - - -def get_parser() -> argparse.ArgumentParser: - """ - Create the cmdline argument parser. - """ - parser = argparse.ArgumentParser(formatter_class=args.ArgumentDefaultsHelpFormatterNoNone) - parser.add_argument("--log-level", default="INFO", - choices=logging._nameToLevel, - help="Logging verbosity.") - # Create and construct subparsers - subparsers = parser.add_subparsers(help="Commands", dest="command") - - def add_parser(name, help_message): - return subparsers.add_parser( - name, help=help_message, formatter_class=args.ArgumentDefaultsHelpFormatterNoNone) - - # ------------------------------------------------------------------------ - preprocessing_parser = subparsers.add_parser( - "preprocrepos", help="Convert siva to parquet files with extracted information.") - preprocessing_parser.set_defaults(handler=cmd.preprocess_repos) - preprocessing_parser.add_argument("-x", "--mode", choices=Moder.Options.__all__, - default="file", help="What to extract from repositories.") - args.add_repo2_args(preprocessing_parser) - preprocessing_parser.add_argument( - "-o", "--output", required=True, - help="[OUT] Path to the parquet files with bag batches.") - default_fields = ("blob_id", "repository_id", "content", "path", "commit_hash", "uast", "lang") - preprocessing_parser.add_argument( - "-f", "--fields", nargs="+", default=default_fields, - help="Fields to save.") - # ------------------------------------------------------------------------ - repos2bow_parser = add_parser( - "repos2bow", "Convert source code to the bag-of-words model.") - repos2bow_parser.set_defaults(handler=cmd.repos2bow) - args.add_df_args(repos2bow_parser) - args.add_repo2_args(repos2bow_parser) - args.add_feature_args(repos2bow_parser) - args.add_bow_args(repos2bow_parser) - args.add_repartitioner_arg(repos2bow_parser) - args.add_cached_index_arg(repos2bow_parser) - # ------------------------------------------------------------------------ - repos2bow_index_parser = add_parser( - "repos2bow_index", "Creates the index, quant and docfreq model of the bag-of-words model.") - repos2bow_index_parser.set_defaults(handler=cmd.repos2bow_index) - args.add_df_args(repos2bow_index_parser) - args.add_repo2_args(repos2bow_index_parser) - args.add_feature_args(repos2bow_index_parser) - args.add_repartitioner_arg(repos2bow_index_parser) - args.add_cached_index_arg(repos2bow_index_parser, create=True) - # ------------------------------------------------------------------------ - repos2df_parser = add_parser( - "repos2df", "Calculate document frequencies of features extracted from source code.") - repos2df_parser.set_defaults(handler=cmd.repos2df) - args.add_df_args(repos2df_parser) - args.add_repo2_args(repos2df_parser) - args.add_feature_args(repos2df_parser) - # ------------------------------------------------------------------------ - repos2ids_parser = subparsers.add_parser( - "repos2ids", help="Convert source code to a bag of identifiers.") - repos2ids_parser.set_defaults(handler=cmd.repos2ids) - args.add_repo2_args(repos2ids_parser) - args.add_split_stem_arg(repos2ids_parser) - args.add_repartitioner_arg(repos2ids_parser) - repos2ids_parser.add_argument( - "-o", "--output", required=True, - help="[OUT] output path to the CSV file with identifiers.") - repos2ids_parser.add_argument( - "--idfreq", action="store_true", - help="Adds identifier frequencies to the output CSV file." - "num_repos is the number of repositories where the identifier appears in." - "num_files is the number of files where the identifier appears in." - "num_occ is the total number of occurrences of the identifier.") - # ------------------------------------------------------------------------ - repos2coocc_parser = add_parser( - "repos2coocc", "Convert source code to the sparse co-occurrence matrix of identifiers.") - repos2coocc_parser.set_defaults(handler=cmd.repos2coocc) - args.add_df_args(repos2coocc_parser) - args.add_repo2_args(repos2coocc_parser) - args.add_split_stem_arg(repos2coocc_parser) - args.add_repartitioner_arg(repos2coocc_parser) - repos2coocc_parser.add_argument( - "-o", "--output", required=True, - help="[OUT] Path to the Cooccurrences model.") - - # ------------------------------------------------------------------------ - repos2roles_and_ids = add_parser( - "repos2roleids", "Converts a UAST to a list of pairs, where pair is a role and " - "identifier. Role is merged generic roles where identifier was found.") - repos2roles_and_ids.set_defaults(handler=cmd.repos2roles_and_ids) - args.add_repo2_args(repos2roles_and_ids) - args.add_split_stem_arg(repos2roles_and_ids) - repos2roles_and_ids.add_argument( - "-o", "--output", required=True, - help="[OUT] Path to the directory where spark should store the result. " - "Inside the directory you find result is csv format, status file and sumcheck files.") - # ------------------------------------------------------------------------ - repos2identifier_distance = add_parser( - "repos2id_distance", "Converts a UAST to a list of identifier pairs " - "and distance between them.") - repos2identifier_distance.set_defaults(handler=cmd.repos2id_distance) - args.add_repo2_args(repos2identifier_distance) - args.add_split_stem_arg(repos2identifier_distance) - repos2identifier_distance.add_argument( - "-t", "--type", required=True, choices=extractors.IdentifierDistance.DistanceType.All, - help="Distance type.") - repos2identifier_distance.add_argument( - "--max-distance", default=extractors.IdentifierDistance.DEFAULT_MAX_DISTANCE, type=int, - help="Maximum distance to save.") - repos2identifier_distance.add_argument( - "-o", "--output", required=True, - help="[OUT] Path to the directory where spark should store the result. " - "Inside the directory you find result is csv format, status file and sumcheck files.") - # ------------------------------------------------------------------------ - repos2id_sequence = add_parser( - "repos2idseq", "Converts a UAST to sequence of identifiers sorted by order of appearance.") - repos2id_sequence.set_defaults(handler=cmd.repos2id_sequence) - args.add_repo2_args(repos2id_sequence) - args.add_split_stem_arg(repos2id_sequence) - repos2id_sequence.add_argument( - "--skip-docname", default=False, action="store_true", - help="Do not save document name in CSV file, only identifier sequence.") - repos2id_sequence.add_argument( - "-o", "--output", required=True, - help="[OUT] Path to the directory where spark should store the result. " - "Inside the directory you find result is csv format, status file and sumcheck files.") - # ------------------------------------------------------------------------ - preproc_parser = add_parser( - "id2vec-preproc", "Convert a sparse co-occurrence matrix to the Swivel shards.") - preproc_parser.set_defaults(handler=cmd.id2vec_preprocess) - args.add_df_args(preproc_parser) - preproc_parser.add_argument("-s", "--shard-size", default=4096, type=int, - help="The shard (submatrix) size.") - preproc_parser.add_argument( - "-i", "--input", - help="Concurrence model produced by repos2coocc.") - preproc_parser.add_argument("-o", "--output", required=True, help="Output directory.") - # ------------------------------------------------------------------------ - train_parser = add_parser( - "id2vec-train", "Train identifier embeddings using Swivel.") - train_parser.set_defaults(handler=cmd.run_swivel) - mirror_tf_args(train_parser) - # ------------------------------------------------------------------------ - id2vec_postproc_parser = add_parser( - "id2vec-postproc", - "Combine row and column embeddings produced by Swivel and write them to an .asdf.") - id2vec_postproc_parser.set_defaults(handler=cmd.id2vec_postprocess) - id2vec_postproc_parser.add_argument( - "-i", "--swivel-data", required=True, - help="Folder with swivel row and column embeddings data. " - "You can get it using id2vec_train subcommand.") - id2vec_postproc_parser.add_argument( - "-o", "--output", required=True, - help="Output directory for Id2Vec model.") - # ------------------------------------------------------------------------ - id2vec_project_parser = add_parser( - "id2vec-project", "Present id2vec model in Tensorflow Projector.") - id2vec_project_parser.set_defaults(handler=cmd.id2vec_project) - args.add_df_args(id2vec_project_parser, required=False) - id2vec_project_parser.add_argument("-i", "--input", required=True, - help="id2vec model to present.") - id2vec_project_parser.add_argument("-o", "--output", required=True, - help="Projector output directory.") - id2vec_project_parser.add_argument("--no-browser", action="store_true", - help="Do not open the browser.") - # ------------------------------------------------------------------------ - train_id_split_parser = add_parser( - "train-id-split", "Train a neural network to split identifiers.") - train_id_split_parser.set_defaults(handler=cmd.train_id_split) - # common arguments for CNN/RNN models - train_id_split_parser.add_argument("-i", "--input", required=True, - help="Path to the input data in CSV format:" - "num_files,num_occ,num_repos,token,token_split") - train_id_split_parser.add_argument("-e", "--epochs", type=int, default=10, - help="Number of training epochs. The more the better" - "but the training time is proportional.") - train_id_split_parser.add_argument("-b", "--batch-size", type=int, default=500, - help="Batch size. Higher values better utilize GPUs" - "but may harm the convergence.") - train_id_split_parser.add_argument("-l", "--length", type=int, default=40, - help="RNN sequence length.") - train_id_split_parser.add_argument("-o", "--output", required=True, - help="Path to store the trained model.") - train_id_split_parser.add_argument("-t", "--test-ratio", type=float, default=0.2, - help="Fraction of the dataset to use for evaluation.") - train_id_split_parser.add_argument("-p", "--padding", default="post", choices=("pre", "post"), - help="Whether to pad before or after each sequence.") - train_id_split_parser.add_argument("--optimizer", default="Adam", choices=("RMSprop", "Adam"), - help="Algorithm to use as an optimizer for the neural net.") - train_id_split_parser.add_argument("--lr", default=0.001, type=float, - help="Initial learning rate.") - train_id_split_parser.add_argument("--final-lr", default=0.00001, type=float, - help="Final learning rate. The decrease from " - "the initial learning rate is done linearly.") - train_id_split_parser.add_argument("--samples-before-report", type=int, default=5*10**6, - help="Number of samples between each validation report" - "and training updates.") - train_id_split_parser.add_argument("--val-batch-size", type=int, default=2000, - help="Batch size for validation." - "It can be increased to speed up the pipeline but" - "it proportionally increases the memory consumption.") - train_id_split_parser.add_argument("--seed", type=int, default=1989, - help="Random seed.") - train_id_split_parser.add_argument("--devices", default="0", - help="Device(s) to use. '-1' means CPU.") - train_id_split_parser.add_argument("--csv-identifier", default=3, - help="Column name in the CSV file for the raw identifier.") - train_id_split_parser.add_argument("--csv-identifier-split", default=4, - help="Column name in the CSV file for the split" - "identifier.") - train_id_split_parser.add_argument("--include-csv-header", action="store_true", - help="Treat the first line of the input CSV as a regular" - "line.") - train_id_split_parser.add_argument("--model", type=str, choices=("RNN", "CNN"), required=True, - help="Neural Network model to use to learn the identifier" - "splitting task.") - train_id_split_parser.add_argument("-s", "--stack", default=2, type=int, - help="Number of layers stacked on each other.") - # RNN specific arguments - train_id_split_parser.add_argument("--type-cell", default="LSTM", - choices=("GRU", "LSTM", "CuDNNLSTM", "CuDNNGRU"), - help="Recurrent layer type to use.") - train_id_split_parser.add_argument("-n", "--neurons", default=256, type=int, - help="Number of neurons on each layer.") - # CNN specific arguments - train_id_split_parser.add_argument("-f", "--filters", default="64,32,16,8", - help="Number of filters for each kernel size.") - train_id_split_parser.add_argument("-k", "--kernel-sizes", default="2,4,8,16", - help="Sizes for sliding windows.") - train_id_split_parser.add_argument("--dim-reduction", default=32, type=int, - help="Number of 1-d kernels to reduce dimensionality" - "after each layer.") - # ------------------------------------------------------------------------ - bow2vw_parser = add_parser( - "bow2vw", "Convert a bag-of-words model to the dataset in Vowpal Wabbit format.") - bow2vw_parser.set_defaults(handler=cmd.bow2vw) - bow2vw_parser.add_argument( - "--bow", help="URL or path to a bag-of-words model.") - bow2vw_parser.add_argument( - "--id2vec", help="URL or path to the identifier embeddings.") - bow2vw_parser.add_argument( - "-o", "--output", required=True, help="Path to the output file.") - # ------------------------------------------------------------------------ - bigartm_postproc_parser = add_parser( - "bigartm2asdf", "Convert a human-readable BigARTM model to Modelforge format.") - bigartm_postproc_parser.set_defaults(handler=cmd.bigartm2asdf) - bigartm_postproc_parser.add_argument("input") - bigartm_postproc_parser.add_argument("output") - # ------------------------------------------------------------------------ - bigartm_parser = add_parser( - "bigartm", "Install bigartm/bigartm to the current working directory.") - bigartm_parser.set_defaults(handler=install_bigartm) - bigartm_parser.add_argument( - "--tmpdir", help="Store intermediate files in this directory instead of /tmp.") - bigartm_parser.add_argument("--output", default=os.getcwd(), help="Output directory.") - - # ------------------------------------------------------------------------ - merge_df = add_parser("merge-df", "Merge DocumentFrequencies models to a single one.") - merge_df.set_defaults(handler=cmd.merge_df) - args.add_min_docfreq(merge_df) - args.add_vocabulary_size_arg(merge_df) - merge_df.add_argument( - "-o", "--output", required=True, - help="Path to the merged DocumentFrequencies model.") - merge_df.add_argument( - "-i", "--input", required=True, nargs="+", - help="DocumentFrequencies models input files." - "Use `-i -` to read input files from stdin.") - merge_df.add_argument( - "--ordered", action="store_true", default=False, - help="Save OrderedDocumentFrequencies. " - "If not specified DocumentFrequencies model will be saved") - # ------------------------------------------------------------------------ - merge_coocc = add_parser("merge-coocc", "Merge several Cooccurrences models together.") - merge_coocc.set_defaults(handler=cmd.merge_coocc) - add_spark_args(merge_coocc) - merge_coocc.add_argument( - "-o", "--output", required=True, - help="Path to the merged Cooccurrences model.") - merge_coocc.add_argument( - "-i", "--input", required=True, - help="Cooccurrences models input files." - "Use `-i -` to read input files from stdin.") - merge_coocc.add_argument( - "--docfreq", required=True, - help="[IN] Specify OrderedDocumentFrequencies model. " - "Identifiers that are not present in the model will be ignored.") - merge_coocc.add_argument( - "--no-spark", action="store_true", default=False, - help="Use the local reduction instead of PySpark. " - "Can be faster and consume less memory if the data fits into RAM.") - # ------------------------------------------------------------------------ - merge_bow = add_parser("merge-bow", "Merge BOW models to a single one.") - merge_bow.set_defaults(handler=cmd.merge_bow) - merge_bow.add_argument( - "-i", "--input", required=True, nargs="+", - help="BOW models input files." - "Use `-i -` to read input files from stdin.") - merge_bow.add_argument( - "-o", "--output", required=True, - help="Path to the merged BOW model.") - merge_bow.add_argument( - "-f", "--features", nargs="+", - choices=[ex.NAME for ex in extractors.__extractors__.values()], - default=None, help="To keep only specific features, if not specified all will be kept.") - # ------------------------------------------------------------------------ - id2role_eval = add_parser("id2role-eval", - "Compare the embeddings quality on role prediction problem.") - id2role_eval.set_defaults(handler=cmd.id2role_eval) - id2role_eval.add_argument( - "-m", "--models", required=True, nargs="+", - help="Id2Vec models to compare." - "Use `-i -` to read input files from stdin.") - id2role_eval.add_argument( - "-d", "--dataset", required=True, - help="Dataset directory. You can collect dataset via repos2roleids command.") - id2role_eval.add_argument( - "-s", "--seed", default=420, - help="Random seed for reproducible results.") - return parser - - -def main(): - """ - Create all the argparse-rs and invokes the function from set_defaults(). - - :return: The result of the function from set_defaults(). - """ - parser = get_parser() - args = parser.parse_args() - args.log_level = logging._nameToLevel[args.log_level] - slogging.setup(args.log_level, False) - try: - handler = args.handler - except AttributeError: - def print_usage(_): - parser.print_usage() - - handler = print_usage - return handler(args) - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/sourced/ml/algorithms/__init__.py b/sourced/ml/core/algorithms/__init__.py similarity index 78% rename from sourced/ml/algorithms/__init__.py rename to sourced/ml/core/algorithms/__init__.py index d40df21..b16eb5b 100644 --- a/sourced/ml/algorithms/__init__.py +++ b/sourced/ml/core/algorithms/__init__.py @@ -1,7 +1,6 @@ # flake8: noqa from sourced.ml.algorithms.tf_idf import log_tf_log_idf -from sourced.ml.algorithms.token_parser import TokenParser, NoopTokenParser -from sourced.ml.algorithms.uast_ids_to_bag import UastIds2Bag, uast2sequence +from sourced.ml.core.algorithms.uast_ids_to_bag import UastIds2Bag, uast2sequence from sourced.ml.algorithms.uast_struct_to_bag import UastRandomWalk2Bag, UastSeq2Bag from sourced.ml.algorithms.uast_inttypes_to_nodes import Uast2QuantizedChildren from sourced.ml.algorithms.uast_inttypes_to_graphlets import Uast2GraphletBag diff --git a/sourced/ml/algorithms/id_embedding.py b/sourced/ml/core/algorithms/id_embedding.py similarity index 100% rename from sourced/ml/algorithms/id_embedding.py rename to sourced/ml/core/algorithms/id_embedding.py diff --git a/sourced/ml/algorithms/id_splitter/README.md b/sourced/ml/core/algorithms/id_splitter/README.md similarity index 100% rename from sourced/ml/algorithms/id_splitter/README.md rename to sourced/ml/core/algorithms/id_splitter/README.md diff --git a/sourced/ml/algorithms/id_splitter/__init__.py b/sourced/ml/core/algorithms/id_splitter/__init__.py similarity index 100% rename from sourced/ml/algorithms/id_splitter/__init__.py rename to sourced/ml/core/algorithms/id_splitter/__init__.py diff --git a/sourced/ml/algorithms/id_splitter/features.py b/sourced/ml/core/algorithms/id_splitter/features.py similarity index 100% rename from sourced/ml/algorithms/id_splitter/features.py rename to sourced/ml/core/algorithms/id_splitter/features.py diff --git a/sourced/ml/algorithms/id_splitter/nn_model.py b/sourced/ml/core/algorithms/id_splitter/nn_model.py similarity index 100% rename from sourced/ml/algorithms/id_splitter/nn_model.py rename to sourced/ml/core/algorithms/id_splitter/nn_model.py diff --git a/sourced/ml/algorithms/id_splitter/pipeline.py b/sourced/ml/core/algorithms/id_splitter/pipeline.py similarity index 100% rename from sourced/ml/algorithms/id_splitter/pipeline.py rename to sourced/ml/core/algorithms/id_splitter/pipeline.py diff --git a/sourced/ml/algorithms/swivel.py b/sourced/ml/core/algorithms/swivel.py similarity index 100% rename from sourced/ml/algorithms/swivel.py rename to sourced/ml/core/algorithms/swivel.py diff --git a/sourced/ml/algorithms/tf_idf.py b/sourced/ml/core/algorithms/tf_idf.py similarity index 100% rename from sourced/ml/algorithms/tf_idf.py rename to sourced/ml/core/algorithms/tf_idf.py diff --git a/sourced/ml/algorithms/token_parser.py b/sourced/ml/core/algorithms/token_parser.py similarity index 100% rename from sourced/ml/algorithms/token_parser.py rename to sourced/ml/core/algorithms/token_parser.py diff --git a/sourced/ml/algorithms/uast_id_distance.py b/sourced/ml/core/algorithms/uast_id_distance.py similarity index 98% rename from sourced/ml/algorithms/uast_id_distance.py rename to sourced/ml/core/algorithms/uast_id_distance.py index fcb9434..f69649e 100644 --- a/sourced/ml/algorithms/uast_id_distance.py +++ b/sourced/ml/core/algorithms/uast_id_distance.py @@ -3,7 +3,7 @@ import bblfsh -from sourced.ml.algorithms.uast_ids_to_bag import UastIds2Bag +from sourced.ml.core.algorithms.uast_ids_to_bag import UastIds2Bag from sourced.ml.utils import bblfsh_roles diff --git a/sourced/ml/algorithms/uast_ids_to_bag.py b/sourced/ml/core/algorithms/uast_ids_to_bag.py similarity index 100% rename from sourced/ml/algorithms/uast_ids_to_bag.py rename to sourced/ml/core/algorithms/uast_ids_to_bag.py diff --git a/sourced/ml/algorithms/uast_inttypes_to_graphlets.py b/sourced/ml/core/algorithms/uast_inttypes_to_graphlets.py similarity index 96% rename from sourced/ml/algorithms/uast_inttypes_to_graphlets.py rename to sourced/ml/core/algorithms/uast_inttypes_to_graphlets.py index 23b3d7c..1c26f2d 100644 --- a/sourced/ml/algorithms/uast_inttypes_to_graphlets.py +++ b/sourced/ml/core/algorithms/uast_inttypes_to_graphlets.py @@ -1,6 +1,6 @@ from collections import defaultdict -from sourced.ml.algorithms.uast_ids_to_bag import Uast2BagBase +from sourced.ml.core.algorithms.uast_ids_to_bag import Uast2BagBase from sourced.ml.algorithms.uast_struct_to_bag import Node diff --git a/sourced/ml/algorithms/uast_inttypes_to_nodes.py b/sourced/ml/core/algorithms/uast_inttypes_to_nodes.py similarity index 100% rename from sourced/ml/algorithms/uast_inttypes_to_nodes.py rename to sourced/ml/core/algorithms/uast_inttypes_to_nodes.py diff --git a/sourced/ml/algorithms/uast_struct_to_bag.py b/sourced/ml/core/algorithms/uast_struct_to_bag.py similarity index 98% rename from sourced/ml/algorithms/uast_struct_to_bag.py rename to sourced/ml/core/algorithms/uast_struct_to_bag.py index 9a92403..cdb16d9 100644 --- a/sourced/ml/algorithms/uast_struct_to_bag.py +++ b/sourced/ml/core/algorithms/uast_struct_to_bag.py @@ -2,7 +2,7 @@ import random from sourced.ml.algorithms import uast2sequence -from sourced.ml.algorithms.uast_ids_to_bag import FakeVocabulary, Uast2BagBase +from sourced.ml.core.algorithms.uast_ids_to_bag import FakeVocabulary, Uast2BagBase class Uast2StructBagBase(Uast2BagBase): diff --git a/sourced/ml/algorithms/uast_to_bag.py b/sourced/ml/core/algorithms/uast_to_bag.py similarity index 100% rename from sourced/ml/algorithms/uast_to_bag.py rename to sourced/ml/core/algorithms/uast_to_bag.py diff --git a/sourced/ml/algorithms/uast_to_id_sequence.py b/sourced/ml/core/algorithms/uast_to_id_sequence.py similarity index 100% rename from sourced/ml/algorithms/uast_to_id_sequence.py rename to sourced/ml/core/algorithms/uast_to_id_sequence.py diff --git a/sourced/ml/algorithms/uast_to_role_id_pairs.py b/sourced/ml/core/algorithms/uast_to_role_id_pairs.py similarity index 97% rename from sourced/ml/algorithms/uast_to_role_id_pairs.py rename to sourced/ml/core/algorithms/uast_to_role_id_pairs.py index 7db31cd..b76c136 100644 --- a/sourced/ml/algorithms/uast_to_role_id_pairs.py +++ b/sourced/ml/core/algorithms/uast_to_role_id_pairs.py @@ -2,7 +2,7 @@ import bblfsh -from sourced.ml.algorithms.uast_ids_to_bag import UastIds2Bag +from sourced.ml.core.algorithms.uast_ids_to_bag import UastIds2Bag from sourced.ml.utils import bblfsh_roles diff --git a/sourced/ml/extractors/__init__.py b/sourced/ml/core/extractors/__init__.py similarity index 100% rename from sourced/ml/extractors/__init__.py rename to sourced/ml/core/extractors/__init__.py diff --git a/sourced/ml/extractors/bags_extractor.py b/sourced/ml/core/extractors/bags_extractor.py similarity index 100% rename from sourced/ml/extractors/bags_extractor.py rename to sourced/ml/core/extractors/bags_extractor.py diff --git a/sourced/ml/extractors/children.py b/sourced/ml/core/extractors/children.py similarity index 100% rename from sourced/ml/extractors/children.py rename to sourced/ml/core/extractors/children.py diff --git a/sourced/ml/extractors/graphlets.py b/sourced/ml/core/extractors/graphlets.py similarity index 100% rename from sourced/ml/extractors/graphlets.py rename to sourced/ml/core/extractors/graphlets.py diff --git a/sourced/ml/extractors/helpers.py b/sourced/ml/core/extractors/helpers.py similarity index 100% rename from sourced/ml/extractors/helpers.py rename to sourced/ml/core/extractors/helpers.py diff --git a/sourced/ml/extractors/id_sequence.py b/sourced/ml/core/extractors/id_sequence.py similarity index 100% rename from sourced/ml/extractors/id_sequence.py rename to sourced/ml/core/extractors/id_sequence.py diff --git a/sourced/ml/extractors/identifier_distance.py b/sourced/ml/core/extractors/identifier_distance.py similarity index 100% rename from sourced/ml/extractors/identifier_distance.py rename to sourced/ml/core/extractors/identifier_distance.py diff --git a/sourced/ml/extractors/identifiers.py b/sourced/ml/core/extractors/identifiers.py similarity index 89% rename from sourced/ml/extractors/identifiers.py rename to sourced/ml/core/extractors/identifiers.py index d7bdbfb..b969f6a 100644 --- a/sourced/ml/extractors/identifiers.py +++ b/sourced/ml/core/extractors/identifiers.py @@ -1,5 +1,5 @@ from sourced.ml.algorithms import NoopTokenParser -from sourced.ml.algorithms.uast_ids_to_bag import UastIds2Bag +from sourced.ml.core.algorithms.uast_ids_to_bag import UastIds2Bag from sourced.ml.extractors import BagsExtractor, register_extractor diff --git a/sourced/ml/extractors/literals.py b/sourced/ml/core/extractors/literals.py similarity index 100% rename from sourced/ml/extractors/literals.py rename to sourced/ml/core/extractors/literals.py diff --git a/sourced/ml/extractors/uast_random_walk.py b/sourced/ml/core/extractors/uast_random_walk.py similarity index 100% rename from sourced/ml/extractors/uast_random_walk.py rename to sourced/ml/core/extractors/uast_random_walk.py diff --git a/sourced/ml/extractors/uast_seq.py b/sourced/ml/core/extractors/uast_seq.py similarity index 100% rename from sourced/ml/extractors/uast_seq.py rename to sourced/ml/core/extractors/uast_seq.py diff --git a/sourced/ml/modelforgecfg.py b/sourced/ml/core/modelforgecfg.py similarity index 100% rename from sourced/ml/modelforgecfg.py rename to sourced/ml/core/modelforgecfg.py diff --git a/sourced/ml/models/__init__.py b/sourced/ml/core/models/__init__.py similarity index 100% rename from sourced/ml/models/__init__.py rename to sourced/ml/core/models/__init__.py diff --git a/sourced/ml/models/bow.py b/sourced/ml/core/models/bow.py similarity index 100% rename from sourced/ml/models/bow.py rename to sourced/ml/core/models/bow.py diff --git a/sourced/ml/models/coocc.py b/sourced/ml/core/models/coocc.py similarity index 100% rename from sourced/ml/models/coocc.py rename to sourced/ml/core/models/coocc.py diff --git a/sourced/ml/models/df.py b/sourced/ml/core/models/df.py similarity index 100% rename from sourced/ml/models/df.py rename to sourced/ml/core/models/df.py diff --git a/sourced/ml/models/id2vec.py b/sourced/ml/core/models/id2vec.py similarity index 100% rename from sourced/ml/models/id2vec.py rename to sourced/ml/core/models/id2vec.py diff --git a/sourced/ml/models/license.py b/sourced/ml/core/models/license.py similarity index 100% rename from sourced/ml/models/license.py rename to sourced/ml/core/models/license.py diff --git a/sourced/ml/models/model_converters/__init__.py b/sourced/ml/core/models/model_converters/__init__.py similarity index 100% rename from sourced/ml/models/model_converters/__init__.py rename to sourced/ml/core/models/model_converters/__init__.py diff --git a/sourced/ml/models/model_converters/base.py b/sourced/ml/core/models/model_converters/base.py similarity index 100% rename from sourced/ml/models/model_converters/base.py rename to sourced/ml/core/models/model_converters/base.py diff --git a/sourced/ml/models/model_converters/merge_bow.py b/sourced/ml/core/models/model_converters/merge_bow.py similarity index 100% rename from sourced/ml/models/model_converters/merge_bow.py rename to sourced/ml/core/models/model_converters/merge_bow.py diff --git a/sourced/ml/models/model_converters/merge_df.py b/sourced/ml/core/models/model_converters/merge_df.py similarity index 100% rename from sourced/ml/models/model_converters/merge_df.py rename to sourced/ml/core/models/model_converters/merge_df.py diff --git a/sourced/ml/models/ordered_df.py b/sourced/ml/core/models/ordered_df.py similarity index 100% rename from sourced/ml/models/ordered_df.py rename to sourced/ml/core/models/ordered_df.py diff --git a/sourced/ml/models/quant.py b/sourced/ml/core/models/quant.py similarity index 100% rename from sourced/ml/models/quant.py rename to sourced/ml/core/models/quant.py diff --git a/sourced/ml/models/tensorflow.py b/sourced/ml/core/models/tensorflow.py similarity index 100% rename from sourced/ml/models/tensorflow.py rename to sourced/ml/core/models/tensorflow.py diff --git a/sourced/ml/models/topics.py b/sourced/ml/core/models/topics.py similarity index 100% rename from sourced/ml/models/topics.py rename to sourced/ml/core/models/topics.py diff --git a/sourced/ml/tests/.gitignore b/sourced/ml/core/tests/.gitignore similarity index 100% rename from sourced/ml/tests/.gitignore rename to sourced/ml/core/tests/.gitignore diff --git a/sourced/ml/tests/__init__.py b/sourced/ml/core/tests/__init__.py similarity index 100% rename from sourced/ml/tests/__init__.py rename to sourced/ml/core/tests/__init__.py diff --git a/sourced/ml/tests/asdf/bow.asdf b/sourced/ml/core/tests/asdf/bow.asdf similarity index 100% rename from sourced/ml/tests/asdf/bow.asdf rename to sourced/ml/core/tests/asdf/bow.asdf diff --git a/sourced/ml/tests/asdf/coocc.asdf b/sourced/ml/core/tests/asdf/coocc.asdf similarity index 100% rename from sourced/ml/tests/asdf/coocc.asdf rename to sourced/ml/core/tests/asdf/coocc.asdf diff --git a/sourced/ml/tests/asdf/coocc_df.asdf b/sourced/ml/core/tests/asdf/coocc_df.asdf similarity index 100% rename from sourced/ml/tests/asdf/coocc_df.asdf rename to sourced/ml/core/tests/asdf/coocc_df.asdf diff --git a/sourced/ml/tests/asdf/docfreq_1000.asdf b/sourced/ml/core/tests/asdf/docfreq_1000.asdf similarity index 100% rename from sourced/ml/tests/asdf/docfreq_1000.asdf rename to sourced/ml/core/tests/asdf/docfreq_1000.asdf diff --git a/sourced/ml/tests/asdf/id2vec_1000.asdf b/sourced/ml/core/tests/asdf/id2vec_1000.asdf similarity index 100% rename from sourced/ml/tests/asdf/id2vec_1000.asdf rename to sourced/ml/core/tests/asdf/id2vec_1000.asdf diff --git a/sourced/ml/tests/asdf/quant.asdf b/sourced/ml/core/tests/asdf/quant.asdf similarity index 100% rename from sourced/ml/tests/asdf/quant.asdf rename to sourced/ml/core/tests/asdf/quant.asdf diff --git a/sourced/ml/tests/asdf/topics.asdf b/sourced/ml/core/tests/asdf/topics.asdf similarity index 100% rename from sourced/ml/tests/asdf/topics.asdf rename to sourced/ml/core/tests/asdf/topics.asdf diff --git a/sourced/ml/tests/asdf/uast.asdf b/sourced/ml/core/tests/asdf/uast.asdf similarity index 100% rename from sourced/ml/tests/asdf/uast.asdf rename to sourced/ml/core/tests/asdf/uast.asdf diff --git a/sourced/ml/tests/asdf/voccoocc.asdf b/sourced/ml/core/tests/asdf/voccoocc.asdf similarity index 100% rename from sourced/ml/tests/asdf/voccoocc.asdf rename to sourced/ml/core/tests/asdf/voccoocc.asdf diff --git a/sourced/ml/tests/identifiers.csv.tar.gz b/sourced/ml/core/tests/identifiers.csv.tar.gz similarity index 100% rename from sourced/ml/tests/identifiers.csv.tar.gz rename to sourced/ml/core/tests/identifiers.csv.tar.gz diff --git a/sourced/ml/tests/models.py b/sourced/ml/core/tests/models.py similarity index 100% rename from sourced/ml/tests/models.py rename to sourced/ml/core/tests/models.py diff --git a/sourced/ml/tests/source/__init__.py b/sourced/ml/core/tests/models/__init__.py similarity index 100% rename from sourced/ml/tests/source/__init__.py rename to sourced/ml/core/tests/models/__init__.py diff --git a/sourced/ml/tests/models/test_tensorflow.py b/sourced/ml/core/tests/models/test_tensorflow.py similarity index 100% rename from sourced/ml/tests/models/test_tensorflow.py rename to sourced/ml/core/tests/models/test_tensorflow.py diff --git a/sourced/ml/core/tests/source/__init__.py b/sourced/ml/core/tests/source/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/sourced/ml/tests/source/example.py b/sourced/ml/core/tests/source/example.py similarity index 100% rename from sourced/ml/tests/source/example.py rename to sourced/ml/core/tests/source/example.py diff --git a/sourced/ml/tests/source/example_functions.py b/sourced/ml/core/tests/source/example_functions.py similarity index 100% rename from sourced/ml/tests/source/example_functions.py rename to sourced/ml/core/tests/source/example_functions.py diff --git a/sourced/ml/tests/swivel/col_sums.txt b/sourced/ml/core/tests/swivel/col_sums.txt similarity index 100% rename from sourced/ml/tests/swivel/col_sums.txt rename to sourced/ml/core/tests/swivel/col_sums.txt diff --git a/sourced/ml/tests/swivel/col_sums.txt.gz b/sourced/ml/core/tests/swivel/col_sums.txt.gz similarity index 100% rename from sourced/ml/tests/swivel/col_sums.txt.gz rename to sourced/ml/core/tests/swivel/col_sums.txt.gz diff --git a/sourced/ml/tests/swivel/col_vocab.txt b/sourced/ml/core/tests/swivel/col_vocab.txt similarity index 100% rename from sourced/ml/tests/swivel/col_vocab.txt rename to sourced/ml/core/tests/swivel/col_vocab.txt diff --git a/sourced/ml/tests/swivel/col_vocab.txt.gz b/sourced/ml/core/tests/swivel/col_vocab.txt.gz similarity index 100% rename from sourced/ml/tests/swivel/col_vocab.txt.gz rename to sourced/ml/core/tests/swivel/col_vocab.txt.gz diff --git a/sourced/ml/tests/swivel/row_sums.txt b/sourced/ml/core/tests/swivel/row_sums.txt similarity index 100% rename from sourced/ml/tests/swivel/row_sums.txt rename to sourced/ml/core/tests/swivel/row_sums.txt diff --git a/sourced/ml/tests/swivel/row_sums.txt.gz b/sourced/ml/core/tests/swivel/row_sums.txt.gz similarity index 100% rename from sourced/ml/tests/swivel/row_sums.txt.gz rename to sourced/ml/core/tests/swivel/row_sums.txt.gz diff --git a/sourced/ml/tests/swivel/row_vocab.txt b/sourced/ml/core/tests/swivel/row_vocab.txt similarity index 100% rename from sourced/ml/tests/swivel/row_vocab.txt rename to sourced/ml/core/tests/swivel/row_vocab.txt diff --git a/sourced/ml/tests/swivel/row_vocab.txt.gz b/sourced/ml/core/tests/swivel/row_vocab.txt.gz similarity index 100% rename from sourced/ml/tests/swivel/row_vocab.txt.gz rename to sourced/ml/core/tests/swivel/row_vocab.txt.gz diff --git a/sourced/ml/tests/swivel/shard-000-000.pb.gz b/sourced/ml/core/tests/swivel/shard-000-000.pb.gz similarity index 100% rename from sourced/ml/tests/swivel/shard-000-000.pb.gz rename to sourced/ml/core/tests/swivel/shard-000-000.pb.gz diff --git a/sourced/ml/tests/test_bblfsh_utils.py b/sourced/ml/core/tests/test_bblfsh_utils.py similarity index 100% rename from sourced/ml/tests/test_bblfsh_utils.py rename to sourced/ml/core/tests/test_bblfsh_utils.py diff --git a/sourced/ml/tests/test_bigartm.py b/sourced/ml/core/tests/test_bigartm.py similarity index 100% rename from sourced/ml/tests/test_bigartm.py rename to sourced/ml/core/tests/test_bigartm.py diff --git a/sourced/ml/tests/test_bow.py b/sourced/ml/core/tests/test_bow.py similarity index 100% rename from sourced/ml/tests/test_bow.py rename to sourced/ml/core/tests/test_bow.py diff --git a/sourced/ml/tests/test_coocc.py b/sourced/ml/core/tests/test_coocc.py similarity index 100% rename from sourced/ml/tests/test_coocc.py rename to sourced/ml/core/tests/test_coocc.py diff --git a/sourced/ml/tests/test_df.py b/sourced/ml/core/tests/test_df.py similarity index 100% rename from sourced/ml/tests/test_df.py rename to sourced/ml/core/tests/test_df.py diff --git a/sourced/ml/tests/test_dump.py b/sourced/ml/core/tests/test_dump.py similarity index 100% rename from sourced/ml/tests/test_dump.py rename to sourced/ml/core/tests/test_dump.py diff --git a/sourced/ml/tests/test_id_splitter_features.py b/sourced/ml/core/tests/test_id_splitter_features.py similarity index 100% rename from sourced/ml/tests/test_id_splitter_features.py rename to sourced/ml/core/tests/test_id_splitter_features.py diff --git a/sourced/ml/tests/test_id_splitter_nn_model.py b/sourced/ml/core/tests/test_id_splitter_nn_model.py similarity index 100% rename from sourced/ml/tests/test_id_splitter_nn_model.py rename to sourced/ml/core/tests/test_id_splitter_nn_model.py diff --git a/sourced/ml/tests/test_id_splitter_pipeline.py b/sourced/ml/core/tests/test_id_splitter_pipeline.py similarity index 100% rename from sourced/ml/tests/test_id_splitter_pipeline.py rename to sourced/ml/core/tests/test_id_splitter_pipeline.py diff --git a/sourced/ml/tests/test_inttypes_to_nodes.py b/sourced/ml/core/tests/test_inttypes_to_nodes.py similarity index 100% rename from sourced/ml/tests/test_inttypes_to_nodes.py rename to sourced/ml/core/tests/test_inttypes_to_nodes.py diff --git a/sourced/ml/tests/test_merge_bow.py b/sourced/ml/core/tests/test_merge_bow.py similarity index 100% rename from sourced/ml/tests/test_merge_bow.py rename to sourced/ml/core/tests/test_merge_bow.py diff --git a/sourced/ml/tests/test_merge_df.py b/sourced/ml/core/tests/test_merge_df.py similarity index 100% rename from sourced/ml/tests/test_merge_df.py rename to sourced/ml/core/tests/test_merge_df.py diff --git a/sourced/ml/tests/test_model2base.py b/sourced/ml/core/tests/test_model2base.py similarity index 100% rename from sourced/ml/tests/test_model2base.py rename to sourced/ml/core/tests/test_model2base.py diff --git a/sourced/ml/tests/test_pickleable_logger.py b/sourced/ml/core/tests/test_pickleable_logger.py similarity index 100% rename from sourced/ml/tests/test_pickleable_logger.py rename to sourced/ml/core/tests/test_pickleable_logger.py diff --git a/sourced/ml/tests/test_projector.py b/sourced/ml/core/tests/test_projector.py similarity index 100% rename from sourced/ml/tests/test_projector.py rename to sourced/ml/core/tests/test_projector.py diff --git a/sourced/ml/tests/test_quant.py b/sourced/ml/core/tests/test_quant.py similarity index 100% rename from sourced/ml/tests/test_quant.py rename to sourced/ml/core/tests/test_quant.py diff --git a/sourced/ml/tests/test_random_walk.py b/sourced/ml/core/tests/test_random_walk.py similarity index 93% rename from sourced/ml/tests/test_random_walk.py rename to sourced/ml/core/tests/test_random_walk.py index 0d84586..bf5f508 100644 --- a/sourced/ml/tests/test_random_walk.py +++ b/sourced/ml/core/tests/test_random_walk.py @@ -2,7 +2,7 @@ import bblfsh -from sourced.ml.algorithms.uast_ids_to_bag import FakeVocabulary +from sourced.ml.core.algorithms.uast_ids_to_bag import FakeVocabulary from sourced.ml.algorithms.uast_struct_to_bag import Uast2RandomWalks from sourced.ml.tests import models diff --git a/sourced/ml/tests/test_token_parser.py b/sourced/ml/core/tests/test_token_parser.py similarity index 100% rename from sourced/ml/tests/test_token_parser.py rename to sourced/ml/core/tests/test_token_parser.py diff --git a/sourced/ml/tests/test_uast_inttypes_to_graphlets.py b/sourced/ml/core/tests/test_uast_inttypes_to_graphlets.py similarity index 100% rename from sourced/ml/tests/test_uast_inttypes_to_graphlets.py rename to sourced/ml/core/tests/test_uast_inttypes_to_graphlets.py diff --git a/sourced/ml/tests/test_uast_struct_to_bag.py b/sourced/ml/core/tests/test_uast_struct_to_bag.py similarity index 100% rename from sourced/ml/tests/test_uast_struct_to_bag.py rename to sourced/ml/core/tests/test_uast_struct_to_bag.py diff --git a/sourced/ml/tests/test_uast_to_id_distance.py b/sourced/ml/core/tests/test_uast_to_id_distance.py similarity index 100% rename from sourced/ml/tests/test_uast_to_id_distance.py rename to sourced/ml/core/tests/test_uast_to_id_distance.py diff --git a/sourced/ml/tests/test_uast_to_id_sequence.py b/sourced/ml/core/tests/test_uast_to_id_sequence.py similarity index 100% rename from sourced/ml/tests/test_uast_to_id_sequence.py rename to sourced/ml/core/tests/test_uast_to_id_sequence.py diff --git a/sourced/ml/tests/test_uast_to_role_id_pairs.py b/sourced/ml/core/tests/test_uast_to_role_id_pairs.py similarity index 100% rename from sourced/ml/tests/test_uast_to_role_id_pairs.py rename to sourced/ml/core/tests/test_uast_to_role_id_pairs.py diff --git a/sourced/ml/utils/__init__.py b/sourced/ml/core/utils/__init__.py similarity index 100% rename from sourced/ml/utils/__init__.py rename to sourced/ml/core/utils/__init__.py diff --git a/sourced/ml/utils/bblfsh.py b/sourced/ml/core/utils/bblfsh.py similarity index 100% rename from sourced/ml/utils/bblfsh.py rename to sourced/ml/core/utils/bblfsh.py diff --git a/sourced/ml/utils/bblfsh_roles.py b/sourced/ml/core/utils/bblfsh_roles.py similarity index 100% rename from sourced/ml/utils/bblfsh_roles.py rename to sourced/ml/core/utils/bblfsh_roles.py diff --git a/sourced/ml/utils/bigartm.py b/sourced/ml/core/utils/bigartm.py similarity index 100% rename from sourced/ml/utils/bigartm.py rename to sourced/ml/core/utils/bigartm.py diff --git a/sourced/ml/utils/pickleable_logger.py b/sourced/ml/core/utils/pickleable_logger.py similarity index 100% rename from sourced/ml/utils/pickleable_logger.py rename to sourced/ml/core/utils/pickleable_logger.py diff --git a/sourced/ml/utils/projector.py b/sourced/ml/core/utils/projector.py similarity index 100% rename from sourced/ml/utils/projector.py rename to sourced/ml/core/utils/projector.py From 5b766c8abaa676a036487454e0520c6ddcd52811 Mon Sep 17 00:00:00 2001 From: Guillem Duran Date: Fri, 26 Apr 2019 18:46:49 +0200 Subject: [PATCH 4/5] Fix imports to match new namespace Signed-off-by: Guillem Duran --- sourced/ml/core/algorithms/__init__.py | 14 ++++++------- .../ml/core/algorithms/uast_id_distance.py | 2 +- sourced/ml/core/algorithms/uast_ids_to_bag.py | 6 +++--- .../algorithms/uast_inttypes_to_graphlets.py | 2 +- .../core/algorithms/uast_inttypes_to_nodes.py | 2 +- .../ml/core/algorithms/uast_struct_to_bag.py | 3 +-- .../ml/core/algorithms/uast_to_id_sequence.py | 2 +- .../core/algorithms/uast_to_role_id_pairs.py | 2 +- sourced/ml/core/extractors/__init__.py | 20 +++++++++---------- sourced/ml/core/extractors/bags_extractor.py | 5 +++-- sourced/ml/core/extractors/children.py | 7 ++++--- sourced/ml/core/extractors/graphlets.py | 7 ++++--- sourced/ml/core/extractors/helpers.py | 2 +- sourced/ml/core/extractors/id_sequence.py | 6 +++--- .../ml/core/extractors/identifier_distance.py | 7 ++++--- sourced/ml/core/extractors/identifiers.py | 5 +++-- sourced/ml/core/extractors/literals.py | 7 ++++--- .../ml/core/extractors/uast_random_walk.py | 4 ++-- sourced/ml/core/extractors/uast_seq.py | 4 ++-- sourced/ml/core/models/__init__.py | 20 +++++++++---------- sourced/ml/core/models/bow.py | 4 ++-- sourced/ml/core/models/coocc.py | 2 +- sourced/ml/core/models/df.py | 2 +- sourced/ml/core/models/id2vec.py | 2 +- .../ml/core/models/model_converters/base.py | 2 +- .../core/models/model_converters/merge_bow.py | 6 +++--- .../core/models/model_converters/merge_df.py | 6 +++--- sourced/ml/core/models/ordered_df.py | 2 +- sourced/ml/core/models/quant.py | 2 +- sourced/ml/core/models/tensorflow.py | 2 +- sourced/ml/core/models/topics.py | 2 +- sourced/ml/core/tests/__init__.py | 13 ------------ sourced/ml/core/tests/models/__init__.py | 0 .../ml/core/tests/models/test_tensorflow.py | 4 ++-- sourced/ml/core/tests/test_bblfsh_utils.py | 2 +- sourced/ml/core/tests/test_bigartm.py | 2 +- sourced/ml/core/tests/test_bow.py | 4 ++-- sourced/ml/core/tests/test_coocc.py | 4 ++-- sourced/ml/core/tests/test_df.py | 4 ++-- sourced/ml/core/tests/test_dump.py | 2 +- .../core/tests/test_id_splitter_features.py | 8 ++++---- .../core/tests/test_id_splitter_nn_model.py | 8 ++++---- .../core/tests/test_id_splitter_pipeline.py | 16 +++++++-------- .../ml/core/tests/test_inttypes_to_nodes.py | 4 ++-- sourced/ml/core/tests/test_merge_bow.py | 4 ++-- sourced/ml/core/tests/test_merge_df.py | 4 ++-- sourced/ml/core/tests/test_model2base.py | 2 +- .../ml/core/tests/test_pickleable_logger.py | 2 +- sourced/ml/core/tests/test_projector.py | 10 +++++----- sourced/ml/core/tests/test_quant.py | 4 ++-- sourced/ml/core/tests/test_random_walk.py | 4 ++-- sourced/ml/core/tests/test_token_parser.py | 2 +- .../tests/test_uast_inttypes_to_graphlets.py | 4 ++-- .../ml/core/tests/test_uast_struct_to_bag.py | 4 ++-- .../ml/core/tests/test_uast_to_id_distance.py | 5 +++-- .../ml/core/tests/test_uast_to_id_sequence.py | 5 +++-- .../core/tests/test_uast_to_role_id_pairs.py | 5 +++-- sourced/ml/core/utils/__init__.py | 4 ++-- 58 files changed, 142 insertions(+), 147 deletions(-) delete mode 100644 sourced/ml/core/tests/models/__init__.py diff --git a/sourced/ml/core/algorithms/__init__.py b/sourced/ml/core/algorithms/__init__.py index b16eb5b..f457888 100644 --- a/sourced/ml/core/algorithms/__init__.py +++ b/sourced/ml/core/algorithms/__init__.py @@ -1,9 +1,9 @@ # flake8: noqa -from sourced.ml.algorithms.tf_idf import log_tf_log_idf +from sourced.ml.core.algorithms.tf_idf import log_tf_log_idf from sourced.ml.core.algorithms.uast_ids_to_bag import UastIds2Bag, uast2sequence -from sourced.ml.algorithms.uast_struct_to_bag import UastRandomWalk2Bag, UastSeq2Bag -from sourced.ml.algorithms.uast_inttypes_to_nodes import Uast2QuantizedChildren -from sourced.ml.algorithms.uast_inttypes_to_graphlets import Uast2GraphletBag -from sourced.ml.algorithms.uast_to_role_id_pairs import Uast2RoleIdPairs -from sourced.ml.algorithms.uast_id_distance import Uast2IdLineDistance, Uast2IdTreeDistance -from sourced.ml.algorithms.uast_to_id_sequence import Uast2IdSequence +from sourced.ml.core.algorithms.uast_struct_to_bag import UastRandomWalk2Bag, UastSeq2Bag +from sourced.ml.core.algorithms.uast_inttypes_to_nodes import Uast2QuantizedChildren +from sourced.ml.core.algorithms.uast_inttypes_to_graphlets import Uast2GraphletBag +from sourced.ml.core.algorithms.uast_to_role_id_pairs import Uast2RoleIdPairs +from sourced.ml.core.algorithms.uast_id_distance import Uast2IdLineDistance, Uast2IdTreeDistance +from sourced.ml.core.algorithms.uast_to_id_sequence import Uast2IdSequence diff --git a/sourced/ml/core/algorithms/uast_id_distance.py b/sourced/ml/core/algorithms/uast_id_distance.py index f69649e..8be6fb9 100644 --- a/sourced/ml/core/algorithms/uast_id_distance.py +++ b/sourced/ml/core/algorithms/uast_id_distance.py @@ -4,7 +4,7 @@ import bblfsh from sourced.ml.core.algorithms.uast_ids_to_bag import UastIds2Bag -from sourced.ml.utils import bblfsh_roles +from sourced.ml.core.utils import bblfsh_roles class Uast2IdDistance(UastIds2Bag): diff --git a/sourced/ml/core/algorithms/uast_ids_to_bag.py b/sourced/ml/core/algorithms/uast_ids_to_bag.py index 13ffbf2..2e02f7f 100644 --- a/sourced/ml/core/algorithms/uast_ids_to_bag.py +++ b/sourced/ml/core/algorithms/uast_ids_to_bag.py @@ -2,9 +2,9 @@ import bblfsh -from sourced.ml.algorithms import NoopTokenParser, TokenParser -from sourced.ml.algorithms.uast_to_bag import Uast2BagBase -from sourced.ml.utils import bblfsh_roles +from sourced.ml.core.algorithms.token_parser import NoopTokenParser, TokenParser +from sourced.ml.core.algorithms.uast_to_bag import Uast2BagBase +from sourced.ml.core.utils import bblfsh_roles def uast2sequence(root): diff --git a/sourced/ml/core/algorithms/uast_inttypes_to_graphlets.py b/sourced/ml/core/algorithms/uast_inttypes_to_graphlets.py index 1c26f2d..d089756 100644 --- a/sourced/ml/core/algorithms/uast_inttypes_to_graphlets.py +++ b/sourced/ml/core/algorithms/uast_inttypes_to_graphlets.py @@ -1,7 +1,7 @@ from collections import defaultdict from sourced.ml.core.algorithms.uast_ids_to_bag import Uast2BagBase -from sourced.ml.algorithms.uast_struct_to_bag import Node +from sourced.ml.core.algorithms.uast_struct_to_bag import Node class Uast2GraphletBag(Uast2BagBase): diff --git a/sourced/ml/core/algorithms/uast_inttypes_to_nodes.py b/sourced/ml/core/algorithms/uast_inttypes_to_nodes.py index 3fbaf9f..5d9daee 100644 --- a/sourced/ml/core/algorithms/uast_inttypes_to_nodes.py +++ b/sourced/ml/core/algorithms/uast_inttypes_to_nodes.py @@ -3,7 +3,7 @@ from bblfsh import Node import numpy -from sourced.ml.algorithms.uast_to_bag import Uast2BagThroughSingleScan +from sourced.ml.core.algorithms.uast_to_bag import Uast2BagThroughSingleScan class Uast2QuantizedChildren(Uast2BagThroughSingleScan): diff --git a/sourced/ml/core/algorithms/uast_struct_to_bag.py b/sourced/ml/core/algorithms/uast_struct_to_bag.py index cdb16d9..5ee4ce1 100644 --- a/sourced/ml/core/algorithms/uast_struct_to_bag.py +++ b/sourced/ml/core/algorithms/uast_struct_to_bag.py @@ -1,8 +1,7 @@ from collections import defaultdict import random -from sourced.ml.algorithms import uast2sequence -from sourced.ml.core.algorithms.uast_ids_to_bag import FakeVocabulary, Uast2BagBase +from sourced.ml.core.algorithms.uast_ids_to_bag import FakeVocabulary, Uast2BagBase, uast2sequence class Uast2StructBagBase(Uast2BagBase): diff --git a/sourced/ml/core/algorithms/uast_to_id_sequence.py b/sourced/ml/core/algorithms/uast_to_id_sequence.py index 13365d6..1829bd7 100644 --- a/sourced/ml/core/algorithms/uast_to_id_sequence.py +++ b/sourced/ml/core/algorithms/uast_to_id_sequence.py @@ -2,7 +2,7 @@ import bblfsh -from sourced.ml.algorithms.uast_id_distance import Uast2IdLineDistance +from sourced.ml.core.algorithms.uast_id_distance import Uast2IdLineDistance class Uast2IdSequence(Uast2IdLineDistance): diff --git a/sourced/ml/core/algorithms/uast_to_role_id_pairs.py b/sourced/ml/core/algorithms/uast_to_role_id_pairs.py index b76c136..08a81d7 100644 --- a/sourced/ml/core/algorithms/uast_to_role_id_pairs.py +++ b/sourced/ml/core/algorithms/uast_to_role_id_pairs.py @@ -3,7 +3,7 @@ import bblfsh from sourced.ml.core.algorithms.uast_ids_to_bag import UastIds2Bag -from sourced.ml.utils import bblfsh_roles +from sourced.ml.core.utils import bblfsh_roles class Uast2RoleIdPairs(UastIds2Bag): diff --git a/sourced/ml/core/extractors/__init__.py b/sourced/ml/core/extractors/__init__.py index 0ab1565..2d6f137 100644 --- a/sourced/ml/core/extractors/__init__.py +++ b/sourced/ml/core/extractors/__init__.py @@ -1,12 +1,12 @@ # flake8: noqa -from sourced.ml.extractors.helpers import __extractors__, get_names_from_kwargs, \ +from sourced.ml.core.extractors.helpers import __extractors__, get_names_from_kwargs, \ register_extractor, filter_kwargs, create_extractors_from_args -from sourced.ml.extractors.bags_extractor import Extractor, BagsExtractor, RoleIdsExtractor -from sourced.ml.extractors.identifiers import IdentifiersBagExtractor -from sourced.ml.extractors.literals import LiteralsBagExtractor -from sourced.ml.extractors.uast_random_walk import UastRandomWalkBagExtractor -from sourced.ml.extractors.uast_seq import UastSeqBagExtractor -from sourced.ml.extractors.children import ChildrenBagExtractor -from sourced.ml.extractors.graphlets import GraphletBagExtractor -from sourced.ml.extractors.identifier_distance import IdentifierDistance -from sourced.ml.extractors.id_sequence import IdSequenceExtractor +from sourced.ml.core.extractors.bags_extractor import Extractor, BagsExtractor, RoleIdsExtractor +from sourced.ml.core.extractors.identifiers import IdentifiersBagExtractor +from sourced.ml.core.extractors.literals import LiteralsBagExtractor +from sourced.ml.core.extractors.uast_random_walk import UastRandomWalkBagExtractor +from sourced.ml.core.extractors.uast_seq import UastSeqBagExtractor +from sourced.ml.core.extractors.children import ChildrenBagExtractor +from sourced.ml.core.extractors.graphlets import GraphletBagExtractor +from sourced.ml.core.extractors.identifier_distance import IdentifierDistance +from sourced.ml.core.extractors.id_sequence import IdSequenceExtractor diff --git a/sourced/ml/core/extractors/bags_extractor.py b/sourced/ml/core/extractors/bags_extractor.py index 86c3c25..cf6637f 100644 --- a/sourced/ml/core/extractors/bags_extractor.py +++ b/sourced/ml/core/extractors/bags_extractor.py @@ -1,7 +1,8 @@ import bblfsh -from sourced.ml.algorithms import NoopTokenParser, Uast2RoleIdPairs -from sourced.ml.utils import PickleableLogger +from sourced.ml.core.algorithms.token_parser import NoopTokenParser +from sourced.ml.core.algorithms.uast_to_role_id_pairs import Uast2RoleIdPairs +from sourced.ml.core.utils.pickleable_logger import PickleableLogger class Extractor(PickleableLogger): diff --git a/sourced/ml/core/extractors/children.py b/sourced/ml/core/extractors/children.py index 565b802..6f2b7ff 100644 --- a/sourced/ml/core/extractors/children.py +++ b/sourced/ml/core/extractors/children.py @@ -1,9 +1,10 @@ import logging from typing import Iterable, Tuple -from sourced.ml.algorithms import Uast2QuantizedChildren -from sourced.ml.extractors import ( - BagsExtractor, filter_kwargs, get_names_from_kwargs, register_extractor) +from sourced.ml.core.algorithms.uast_inttypes_to_nodes import Uast2QuantizedChildren +from sourced.ml.core.extractors.bags_extractor import BagsExtractor +from sourced.ml.core.extractors.helpers import (filter_kwargs, get_names_from_kwargs, + register_extractor) @register_extractor diff --git a/sourced/ml/core/extractors/graphlets.py b/sourced/ml/core/extractors/graphlets.py index d0ea444..bb9cf6b 100644 --- a/sourced/ml/core/extractors/graphlets.py +++ b/sourced/ml/core/extractors/graphlets.py @@ -1,6 +1,7 @@ -from sourced.ml.algorithms import Uast2GraphletBag -from sourced.ml.extractors import \ - (BagsExtractor, filter_kwargs, get_names_from_kwargs, register_extractor) +from sourced.ml.core.algorithms.uast_inttypes_to_graphlets import Uast2GraphletBag +from sourced.ml.core.extractors.bags_extractor import BagsExtractor +from sourced.ml.core.extractors.helpers import \ + (filter_kwargs, get_names_from_kwargs, register_extractor) @register_extractor diff --git a/sourced/ml/core/extractors/helpers.py b/sourced/ml/core/extractors/helpers.py index 62d9480..885c7d5 100644 --- a/sourced/ml/core/extractors/helpers.py +++ b/sourced/ml/core/extractors/helpers.py @@ -2,7 +2,7 @@ import inspect from typing import List -from sourced.ml.extractors.bags_extractor import BagsExtractor +from sourced.ml.core.extractors.bags_extractor import BagsExtractor __extractors__ = {} diff --git a/sourced/ml/core/extractors/id_sequence.py b/sourced/ml/core/extractors/id_sequence.py index 3a729b8..b793d87 100644 --- a/sourced/ml/core/extractors/id_sequence.py +++ b/sourced/ml/core/extractors/id_sequence.py @@ -2,9 +2,9 @@ import bblfsh -from sourced.ml.algorithms import NoopTokenParser -from sourced.ml.algorithms import Uast2IdSequence -from sourced.ml.extractors.bags_extractor import BagsExtractor +from sourced.ml.core.algorithms.token_parser import NoopTokenParser +from sourced.ml.core.algorithms.uast_to_id_sequence import Uast2IdSequence +from sourced.ml.core.extractors.bags_extractor import BagsExtractor class IdSequenceExtractor(BagsExtractor): diff --git a/sourced/ml/core/extractors/identifier_distance.py b/sourced/ml/core/extractors/identifier_distance.py index f85fd1c..8168913 100644 --- a/sourced/ml/core/extractors/identifier_distance.py +++ b/sourced/ml/core/extractors/identifier_distance.py @@ -2,9 +2,10 @@ import bblfsh -from sourced.ml.algorithms import NoopTokenParser, Uast2IdLineDistance, Uast2IdTreeDistance -from sourced.ml.algorithms.uast_id_distance import Uast2IdDistance -from sourced.ml.extractors.bags_extractor import BagsExtractor +from sourced.ml.core.algorithms.token_parser import NoopTokenParser +from sourced.ml.core.algorithms.uast_id_distance import (Uast2IdDistance, Uast2IdLineDistance, + Uast2IdTreeDistance) +from sourced.ml.core.extractors.bags_extractor import BagsExtractor class IdentifierDistance(BagsExtractor): diff --git a/sourced/ml/core/extractors/identifiers.py b/sourced/ml/core/extractors/identifiers.py index b969f6a..375d594 100644 --- a/sourced/ml/core/extractors/identifiers.py +++ b/sourced/ml/core/extractors/identifiers.py @@ -1,6 +1,7 @@ -from sourced.ml.algorithms import NoopTokenParser +from sourced.ml.core.algorithms.token_parser import NoopTokenParser from sourced.ml.core.algorithms.uast_ids_to_bag import UastIds2Bag -from sourced.ml.extractors import BagsExtractor, register_extractor +from sourced.ml.core.extractors.bags_extractor import BagsExtractor +from sourced.ml.core.extractors.helpers import register_extractor @register_extractor diff --git a/sourced/ml/core/extractors/literals.py b/sourced/ml/core/extractors/literals.py index 78718b5..6430d9e 100644 --- a/sourced/ml/core/extractors/literals.py +++ b/sourced/ml/core/extractors/literals.py @@ -2,9 +2,10 @@ from collections import defaultdict import os -from sourced.ml.algorithms import uast2sequence, UastIds2Bag -from sourced.ml.extractors import BagsExtractor, register_extractor -from sourced.ml.utils import bblfsh_roles +from sourced.ml.core.algorithms.uast_ids_to_bag import uast2sequence, UastIds2Bag +from sourced.ml.core.extractors.bags_extractor import BagsExtractor +from sourced.ml.core.extractors.helpers import register_extractor +from sourced.ml.core.utils import bblfsh_roles class HashedTokenParser: diff --git a/sourced/ml/core/extractors/uast_random_walk.py b/sourced/ml/core/extractors/uast_random_walk.py index da9a9ea..b4db69e 100644 --- a/sourced/ml/core/extractors/uast_random_walk.py +++ b/sourced/ml/core/extractors/uast_random_walk.py @@ -1,5 +1,5 @@ -from sourced.ml.algorithms import UastRandomWalk2Bag -from sourced.ml.extractors import ( +from sourced.ml.core.algorithms.uast_struct_to_bag import UastRandomWalk2Bag +from sourced.ml.core.extractors.helpers import ( BagsExtractor, filter_kwargs, get_names_from_kwargs, register_extractor) diff --git a/sourced/ml/core/extractors/uast_seq.py b/sourced/ml/core/extractors/uast_seq.py index 6d69a49..5f02138 100644 --- a/sourced/ml/core/extractors/uast_seq.py +++ b/sourced/ml/core/extractors/uast_seq.py @@ -1,5 +1,5 @@ -from sourced.ml.algorithms import UastSeq2Bag -from sourced.ml.extractors import ( +from sourced.ml.core.algorithms.uast_struct_to_bag import UastSeq2Bag +from sourced.ml.core.extractors.helpers import ( BagsExtractor, filter_kwargs, get_names_from_kwargs, register_extractor) diff --git a/sourced/ml/core/models/__init__.py b/sourced/ml/core/models/__init__.py index bbc1990..5edb673 100644 --- a/sourced/ml/core/models/__init__.py +++ b/sourced/ml/core/models/__init__.py @@ -1,12 +1,12 @@ # flake8: noqa -from sourced.ml.models.bow import BOW -from sourced.ml.models.coocc import Cooccurrences -from sourced.ml.models.df import DocumentFrequencies -from sourced.ml.models.ordered_df import OrderedDocumentFrequencies -from sourced.ml.models.id2vec import Id2Vec -from sourced.ml.models.tensorflow import TensorFlowModel -from sourced.ml.models.topics import Topics -from sourced.ml.models.quant import QuantizationLevels +from sourced.ml.core.models.bow import BOW +from sourced.ml.core.models.coocc import Cooccurrences +from sourced.ml.core.models.df import DocumentFrequencies +from sourced.ml.core.models.ordered_df import OrderedDocumentFrequencies +from sourced.ml.core.models.id2vec import Id2Vec +from sourced.ml.core.models.tensorflow import TensorFlowModel +from sourced.ml.core.models.topics import Topics +from sourced.ml.core.models.quant import QuantizationLevels -from sourced.ml.models.model_converters.merge_df import MergeDocFreq -from sourced.ml.models.model_converters.merge_bow import MergeBOW +from sourced.ml.core.models.model_converters.merge_df import MergeDocFreq +from sourced.ml.core.models.model_converters.merge_bow import MergeBOW diff --git a/sourced/ml/core/models/bow.py b/sourced/ml/core/models/bow.py index 1bd7edf..86f5447 100644 --- a/sourced/ml/core/models/bow.py +++ b/sourced/ml/core/models/bow.py @@ -6,8 +6,8 @@ from modelforge.progress_bar import progress_bar from scipy import sparse -from sourced.ml.models.df import DocumentFrequencies -from sourced.ml.models.license import DEFAULT_LICENSE +from sourced.ml.core.models.df import DocumentFrequencies +from sourced.ml.core.models.license import DEFAULT_LICENSE @register_model diff --git a/sourced/ml/core/models/coocc.py b/sourced/ml/core/models/coocc.py index a9396b1..66f2dfc 100644 --- a/sourced/ml/core/models/coocc.py +++ b/sourced/ml/core/models/coocc.py @@ -2,7 +2,7 @@ assemble_sparse_matrix, disassemble_sparse_matrix, merge_strings, Model, split_strings) from modelforge.models import register_model -from sourced.ml.models.license import DEFAULT_LICENSE +from sourced.ml.core.models.license import DEFAULT_LICENSE @register_model diff --git a/sourced/ml/core/models/df.py b/sourced/ml/core/models/df.py index 04cf36f..fad83d4 100644 --- a/sourced/ml/core/models/df.py +++ b/sourced/ml/core/models/df.py @@ -4,7 +4,7 @@ from modelforge import merge_strings, Model, register_model, split_strings import numpy -from sourced.ml.models.license import DEFAULT_LICENSE +from sourced.ml.core.models.license import DEFAULT_LICENSE @register_model diff --git a/sourced/ml/core/models/id2vec.py b/sourced/ml/core/models/id2vec.py index a9f7c14..782ae23 100644 --- a/sourced/ml/core/models/id2vec.py +++ b/sourced/ml/core/models/id2vec.py @@ -1,6 +1,6 @@ from modelforge import merge_strings, Model, register_model, split_strings -from sourced.ml.models.license import DEFAULT_LICENSE +from sourced.ml.core.models.license import DEFAULT_LICENSE @register_model diff --git a/sourced/ml/core/models/model_converters/base.py b/sourced/ml/core/models/model_converters/base.py index ab1a43a..bcc0ee2 100644 --- a/sourced/ml/core/models/model_converters/base.py +++ b/sourced/ml/core/models/model_converters/base.py @@ -6,7 +6,7 @@ from modelforge import Model from modelforge.progress_bar import progress_bar -from sourced.ml.utils.pickleable_logger import PickleableLogger +from sourced.ml.core.utils.pickleable_logger import PickleableLogger class Model2Base(PickleableLogger): diff --git a/sourced/ml/core/models/model_converters/merge_bow.py b/sourced/ml/core/models/model_converters/merge_bow.py index 1b4c95a..305ccb1 100644 --- a/sourced/ml/core/models/model_converters/merge_bow.py +++ b/sourced/ml/core/models/model_converters/merge_bow.py @@ -2,9 +2,9 @@ from scipy.sparse import vstack -from sourced.ml import extractors -from sourced.ml.models.bow import BOW -from sourced.ml.models.model_converters.base import Model2Base +from sourced.ml.core import extractors +from sourced.ml.core.models.bow import BOW +from sourced.ml.core.models.model_converters.base import Model2Base class MergeBOW(Model2Base): diff --git a/sourced/ml/core/models/model_converters/merge_df.py b/sourced/ml/core/models/model_converters/merge_df.py index a96f8f6..68f0a58 100644 --- a/sourced/ml/core/models/model_converters/merge_df.py +++ b/sourced/ml/core/models/model_converters/merge_df.py @@ -1,9 +1,9 @@ from collections import defaultdict import os -from sourced.ml.models.df import DocumentFrequencies -from sourced.ml.models.model_converters.base import Model2Base -from sourced.ml.models.ordered_df import OrderedDocumentFrequencies +from sourced.ml.core.models.df import DocumentFrequencies +from sourced.ml.core.models.model_converters.base import Model2Base +from sourced.ml.core.models.ordered_df import OrderedDocumentFrequencies class MergeDocFreq(Model2Base): diff --git a/sourced/ml/core/models/ordered_df.py b/sourced/ml/core/models/ordered_df.py index bb60a31..ecfd6ed 100644 --- a/sourced/ml/core/models/ordered_df.py +++ b/sourced/ml/core/models/ordered_df.py @@ -3,7 +3,7 @@ from modelforge import merge_strings, register_model, split_strings import numpy -from sourced.ml.models import DocumentFrequencies +from sourced.ml.core.models import DocumentFrequencies @register_model diff --git a/sourced/ml/core/models/quant.py b/sourced/ml/core/models/quant.py index d0d0867..f56e253 100644 --- a/sourced/ml/core/models/quant.py +++ b/sourced/ml/core/models/quant.py @@ -3,7 +3,7 @@ from modelforge import merge_strings, Model, register_model, split_strings import numpy -from sourced.ml.models.license import DEFAULT_LICENSE +from sourced.ml.core.models.license import DEFAULT_LICENSE @register_model diff --git a/sourced/ml/core/models/tensorflow.py b/sourced/ml/core/models/tensorflow.py index 12da859..a45f97b 100644 --- a/sourced/ml/core/models/tensorflow.py +++ b/sourced/ml/core/models/tensorflow.py @@ -3,7 +3,7 @@ from modelforge import Model, register_model import numpy -from sourced.ml.models.license import DEFAULT_LICENSE +from sourced.ml.core.models.license import DEFAULT_LICENSE @register_model diff --git a/sourced/ml/core/models/topics.py b/sourced/ml/core/models/topics.py index 546e131..95cf873 100644 --- a/sourced/ml/core/models/topics.py +++ b/sourced/ml/core/models/topics.py @@ -3,7 +3,7 @@ from modelforge import assemble_sparse_matrix, disassemble_sparse_matrix, merge_strings, \ Model, register_model, split_strings -from sourced.ml.models.license import DEFAULT_LICENSE +from sourced.ml.core.models.license import DEFAULT_LICENSE @register_model diff --git a/sourced/ml/core/tests/__init__.py b/sourced/ml/core/tests/__init__.py index d510cfd..1f8dc17 100644 --- a/sourced/ml/core/tests/__init__.py +++ b/sourced/ml/core/tests/__init__.py @@ -1,12 +1,7 @@ import sys -from unittest import SkipTest from modelforge import slogging -from sourced.ml.utils.engine import ( - get_bblfsh_dependency, get_engine_package, get_engine_version) -from sourced.ml.utils.spark import create_spark - utmain = sys.modules["__main__"] if utmain.__package__ == "unittest" and utmain.__spec__ is None: @@ -17,14 +12,6 @@ del utmain -def create_spark_for_test(name="test"): - if sys.version_info >= (3, 7): - raise SkipTest("Python 3.7 is not yet supported.") - packages = (get_engine_package(get_engine_version()),) - config = (get_bblfsh_dependency("localhost"),) - return create_spark(name, config=config, packages=packages) - - def has_tensorflow(): try: import tensorflow # noqa diff --git a/sourced/ml/core/tests/models/__init__.py b/sourced/ml/core/tests/models/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/sourced/ml/core/tests/models/test_tensorflow.py b/sourced/ml/core/tests/models/test_tensorflow.py index b025acb..dde91a9 100644 --- a/sourced/ml/core/tests/models/test_tensorflow.py +++ b/sourced/ml/core/tests/models/test_tensorflow.py @@ -1,8 +1,8 @@ import io import unittest -from sourced.ml.models.tensorflow import TensorFlowModel -from sourced.ml.tests import has_tensorflow +from sourced.ml.core.models.tensorflow import TensorFlowModel +from sourced.ml.core.tests import has_tensorflow class TensorFlowModelTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_bblfsh_utils.py b/sourced/ml/core/tests/test_bblfsh_utils.py index c668a33..fa7cee8 100644 --- a/sourced/ml/core/tests/test_bblfsh_utils.py +++ b/sourced/ml/core/tests/test_bblfsh_utils.py @@ -6,7 +6,7 @@ import docker.client -from sourced.ml.utils.bblfsh import BBLFSH_VERSION_HIGH, BBLFSH_VERSION_LOW, check_version +from sourced.ml.core.utils.bblfsh import BBLFSH_VERSION_HIGH, BBLFSH_VERSION_LOW, check_version class BblfshUtilsTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_bigartm.py b/sourced/ml/core/tests/test_bigartm.py index 1a08a89..1228c13 100644 --- a/sourced/ml/core/tests/test_bigartm.py +++ b/sourced/ml/core/tests/test_bigartm.py @@ -4,7 +4,7 @@ import tempfile import unittest -from sourced.ml.utils import install_bigartm +from sourced.ml.core.utils import install_bigartm class BigartmTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_bow.py b/sourced/ml/core/tests/test_bow.py index fde087c..4d054d0 100644 --- a/sourced/ml/core/tests/test_bow.py +++ b/sourced/ml/core/tests/test_bow.py @@ -3,8 +3,8 @@ import numpy -from sourced.ml.models import BOW -import sourced.ml.tests.models as paths +from sourced.ml.core.models import BOW +import sourced.ml.core.tests.models as paths class BOWTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_coocc.py b/sourced/ml/core/tests/test_coocc.py index 1979552..d21a21b 100644 --- a/sourced/ml/core/tests/test_coocc.py +++ b/sourced/ml/core/tests/test_coocc.py @@ -1,7 +1,7 @@ import unittest -from sourced.ml.models import Cooccurrences -import sourced.ml.tests.models as paths +from sourced.ml.core.models import Cooccurrences +import sourced.ml.core.tests.models as paths class CooccurrencesTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_df.py b/sourced/ml/core/tests/test_df.py index 725d2f9..b7b2872 100644 --- a/sourced/ml/core/tests/test_df.py +++ b/sourced/ml/core/tests/test_df.py @@ -1,8 +1,8 @@ from io import BytesIO import unittest -from sourced.ml.models import DocumentFrequencies -import sourced.ml.tests.models as paths +from sourced.ml.core.models import DocumentFrequencies +import sourced.ml.core.tests.models as paths class DocumentFrequenciesTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_dump.py b/sourced/ml/core/tests/test_dump.py index 18e6e0d..74d2d19 100644 --- a/sourced/ml/core/tests/test_dump.py +++ b/sourced/ml/core/tests/test_dump.py @@ -10,7 +10,7 @@ from modelforge.tools import dump_model -import sourced.ml.tests.models as paths +import sourced.ml.core.tests.models as paths cache_dir = os.path.join(tempfile.gettempdir(), "ml-test-dump") diff --git a/sourced/ml/core/tests/test_id_splitter_features.py b/sourced/ml/core/tests/test_id_splitter_features.py index f87bab3..6334d24 100644 --- a/sourced/ml/core/tests/test_id_splitter_features.py +++ b/sourced/ml/core/tests/test_id_splitter_features.py @@ -5,8 +5,8 @@ import numpy -from sourced.ml.tests import has_tensorflow -from sourced.ml.tests.models import IDENTIFIERS +from sourced.ml.core.tests import has_tensorflow +from sourced.ml.core.tests.models import IDENTIFIERS def write_fake_identifiers(tar_file, n_lines, char_sizes, n_cols, text="a"): @@ -40,7 +40,7 @@ def write_fake_identifiers(tar_file, n_lines, char_sizes, n_cols, text="a"): class IdSplitterTest(unittest.TestCase): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_prepare_features(self): - from sourced.ml.algorithms.id_splitter.features import prepare_features + from sourced.ml.core.algorithms.id_splitter.features import prepare_features # check feature extraction text = "a a" n_lines = 10 @@ -86,7 +86,7 @@ def test_prepare_features(self): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_read_identifiers(self): - from sourced.ml.algorithms.id_splitter.features import read_identifiers + from sourced.ml.core.algorithms.id_splitter.features import read_identifiers # read with header with tempfile.NamedTemporaryFile() as tmp: with tarfile.open(None, "w", fileobj=tmp, encoding="utf-8") as tmp_tar: diff --git a/sourced/ml/core/tests/test_id_splitter_nn_model.py b/sourced/ml/core/tests/test_id_splitter_nn_model.py index 74375c6..d98cfba 100644 --- a/sourced/ml/core/tests/test_id_splitter_nn_model.py +++ b/sourced/ml/core/tests/test_id_splitter_nn_model.py @@ -3,13 +3,13 @@ import numpy -from sourced.ml.tests import has_tensorflow +from sourced.ml.core.tests import has_tensorflow class MetricsTests(unittest.TestCase): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_register_metric(self): - from sourced.ml.algorithms.id_splitter.nn_model import register_metric, METRICS + from sourced.ml.core.algorithms.id_splitter.nn_model import register_metric, METRICS fake_metric = "fake metric" register_metric(fake_metric) self.assertIn(fake_metric, METRICS) @@ -18,7 +18,7 @@ def test_register_metric(self): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_raise_register_metric(self): - from sourced.ml.algorithms.id_splitter.nn_model import register_metric, METRICS + from sourced.ml.core.algorithms.id_splitter.nn_model import register_metric, METRICS bad_metric = 1 with self.assertRaises(AssertionError): register_metric(bad_metric) @@ -27,7 +27,7 @@ def test_raise_register_metric(self): class ModelsTests(unittest.TestCase): def setUp(self): - from sourced.ml.algorithms.id_splitter.nn_model import build_rnn, build_cnn + from sourced.ml.core.algorithms.id_splitter.nn_model import build_rnn, build_cnn self.n_uniq = len(string.ascii_lowercase) self.model_rnn = build_rnn(maxlen=5, units=24, stack=2, rnn_layer="LSTM", optimizer="Adam", dev0="/cpu:0", dev1="/cpu:0") diff --git a/sourced/ml/core/tests/test_id_splitter_pipeline.py b/sourced/ml/core/tests/test_id_splitter_pipeline.py index 70bc1e4..ac8d384 100644 --- a/sourced/ml/core/tests/test_id_splitter_pipeline.py +++ b/sourced/ml/core/tests/test_id_splitter_pipeline.py @@ -3,13 +3,13 @@ import numpy -from sourced.ml.tests import has_tensorflow +from sourced.ml.core.tests import has_tensorflow class IdSplitterPipelineTest(unittest.TestCase): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_binarize(self): - from sourced.ml.algorithms.id_splitter.pipeline import binarize + from sourced.ml.core.algorithms.id_splitter.pipeline import binarize thresholds = [0, 0.09, 0.19, 0.29, 0.39, 0.49, 0.59, 0.69, 0.79, 0.89, 0.99] n_pos = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] @@ -35,7 +35,7 @@ def test_binarize(self): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_prepare_devices(self): - from sourced.ml.algorithms.id_splitter.nn_model import prepare_devices + from sourced.ml.core.algorithms.id_splitter.nn_model import prepare_devices correct_args = ["1", "0,1", "-1"] resulted_dev = [("/gpu:1", "/gpu:1"), ("/gpu:0", "/gpu:1"), ("/cpu:0", "/cpu:0")] for res, arg in zip(resulted_dev, correct_args): @@ -48,7 +48,7 @@ def test_prepare_devices(self): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_build_schedule(self): - from sourced.ml.algorithms.id_splitter.pipeline import build_schedule + from sourced.ml.core.algorithms.id_splitter.pipeline import build_schedule start_lr = 10 end_lr = 1 n_epochs = 9 @@ -65,7 +65,7 @@ def test_build_schedule(self): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_build_train_generator(self): - from sourced.ml.algorithms.id_splitter.pipeline import build_train_generator + from sourced.ml.core.algorithms.id_splitter.pipeline import build_train_generator batch_size = 3 # mismatch number of samples bad_x = numpy.zeros(3) @@ -84,7 +84,7 @@ def test_build_train_generator(self): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_train_parameters(self): - from sourced.ml.algorithms.id_splitter.pipeline import create_generator_params + from sourced.ml.core.algorithms.id_splitter.pipeline import create_generator_params batch_size = 500 samples_per_epoch = 10 ** 6 n_samples = 40 * 10 ** 6 @@ -101,7 +101,7 @@ def test_train_parameters(self): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_config_keras(self): from keras.backend.tensorflow_backend import get_session - from sourced.ml.algorithms.id_splitter.pipeline import config_keras + from sourced.ml.core.algorithms.id_splitter.pipeline import config_keras config_keras() sess = get_session() self.assertTrue(sess._config.gpu_options.allow_growth) @@ -109,7 +109,7 @@ def test_config_keras(self): @unittest.skipIf(not has_tensorflow(), "Tensorflow is not installed.") def test_prepare_callbacks(self): from keras.callbacks import TensorBoard, CSVLogger, ModelCheckpoint - from sourced.ml.algorithms.id_splitter.pipeline import prepare_callbacks + from sourced.ml.core.algorithms.id_splitter.pipeline import prepare_callbacks with tempfile.TemporaryDirectory() as tmpdir: callbacks = prepare_callbacks(tmpdir) diff --git a/sourced/ml/core/tests/test_inttypes_to_nodes.py b/sourced/ml/core/tests/test_inttypes_to_nodes.py index 4b4e82b..998a7fd 100644 --- a/sourced/ml/core/tests/test_inttypes_to_nodes.py +++ b/sourced/ml/core/tests/test_inttypes_to_nodes.py @@ -2,8 +2,8 @@ from bblfsh import BblfshClient -from sourced.ml.algorithms import Uast2QuantizedChildren -from sourced.ml.tests.models import SOURCE_PY +from sourced.ml.core.algorithms import Uast2QuantizedChildren +from sourced.ml.core.tests.models import SOURCE_PY class Uast2NodesBagTest(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_merge_bow.py b/sourced/ml/core/tests/test_merge_bow.py index cd01450..d59d73c 100644 --- a/sourced/ml/core/tests/test_merge_bow.py +++ b/sourced/ml/core/tests/test_merge_bow.py @@ -5,8 +5,8 @@ import numpy from scipy.sparse import csc_matrix -from sourced.ml.models import BOW -from sourced.ml.models.model_converters.merge_bow import MergeBOW +from sourced.ml.core.models import BOW +from sourced.ml.core.models.model_converters.merge_bow import MergeBOW class MergeBOWTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_merge_df.py b/sourced/ml/core/tests/test_merge_df.py index ed6c63c..c2c536a 100644 --- a/sourced/ml/core/tests/test_merge_df.py +++ b/sourced/ml/core/tests/test_merge_df.py @@ -2,8 +2,8 @@ import tempfile import unittest -from sourced.ml.models import DocumentFrequencies -from sourced.ml.models.model_converters.merge_df import MergeDocFreq +from sourced.ml.core.models import DocumentFrequencies +from sourced.ml.core.models.model_converters.merge_df import MergeDocFreq class Model2BaseTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_model2base.py b/sourced/ml/core/tests/test_model2base.py index 2b8ffe1..97c6625 100644 --- a/sourced/ml/core/tests/test_model2base.py +++ b/sourced/ml/core/tests/test_model2base.py @@ -2,7 +2,7 @@ import tempfile import unittest -from sourced.ml.models.model_converters.base import Model2Base +from sourced.ml.core.models.model_converters.base import Model2Base class FromModel: diff --git a/sourced/ml/core/tests/test_pickleable_logger.py b/sourced/ml/core/tests/test_pickleable_logger.py index 7044b4b..e52b436 100644 --- a/sourced/ml/core/tests/test_pickleable_logger.py +++ b/sourced/ml/core/tests/test_pickleable_logger.py @@ -2,7 +2,7 @@ import pickle import unittest -from sourced.ml.utils import PickleableLogger +from sourced.ml.core.utils.pickleable_logger import PickleableLogger class TestLogger(PickleableLogger): diff --git a/sourced/ml/core/tests/test_projector.py b/sourced/ml/core/tests/test_projector.py index 4f6e664..0c36b60 100644 --- a/sourced/ml/core/tests/test_projector.py +++ b/sourced/ml/core/tests/test_projector.py @@ -9,8 +9,8 @@ from modelforge import slogging import requests -from sourced.ml.tests.test_dump import captured_output -from sourced.ml.utils.projector import CORSWebServer, present_embeddings, wait, web_server +from sourced.ml.core.tests.test_dump import captured_output +from sourced.ml.core.utils.projector import CORSWebServer, present_embeddings, wait, web_server class ProjectorTests(unittest.TestCase): @@ -37,7 +37,7 @@ def wait_for_web_server(self): return attempts, result def test_web_server(self): - with tempfile.TemporaryDirectory(prefix="sourced.ml-test-") as tmpdir: + with tempfile.TemporaryDirectory(prefix="sourced.ml.core-test-") as tmpdir: os.chdir(tmpdir) testfile = "test.txt" with open(testfile, "w") as fout: @@ -74,7 +74,7 @@ def test_wait(self): web_server.stop() def test_present_embeddings(self): - with tempfile.TemporaryDirectory(prefix="sourced.ml-test-") as tmpdir: + with tempfile.TemporaryDirectory(prefix="sourced.ml.core-test-") as tmpdir: tmpdir = os.path.join(tmpdir, "1", "2") present_embeddings(tmpdir, False, ["one", "two"], [(str(i), "x") for i in range(5)], @@ -96,7 +96,7 @@ def sweded_which(prog): os.environ["BROWSER"] = "" try: - with tempfile.TemporaryDirectory(prefix="sourced.ml-test-") as tmpdir: + with tempfile.TemporaryDirectory(prefix="sourced.ml.core-test-") as tmpdir: with captured_output() as (stdout, _, _): present_embeddings(tmpdir, True, ["one"], [str(i) for i in range(5)], diff --git a/sourced/ml/core/tests/test_quant.py b/sourced/ml/core/tests/test_quant.py index 698aa20..f2decf9 100644 --- a/sourced/ml/core/tests/test_quant.py +++ b/sourced/ml/core/tests/test_quant.py @@ -3,8 +3,8 @@ import numpy -from sourced.ml.models import QuantizationLevels -import sourced.ml.tests.models as paths +from sourced.ml.core.models import QuantizationLevels +import sourced.ml.core.tests.models as paths class QuantizationLevelsTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_random_walk.py b/sourced/ml/core/tests/test_random_walk.py index bf5f508..1827589 100644 --- a/sourced/ml/core/tests/test_random_walk.py +++ b/sourced/ml/core/tests/test_random_walk.py @@ -3,8 +3,8 @@ import bblfsh from sourced.ml.core.algorithms.uast_ids_to_bag import FakeVocabulary -from sourced.ml.algorithms.uast_struct_to_bag import Uast2RandomWalks -from sourced.ml.tests import models +from sourced.ml.core.algorithms.uast_struct_to_bag import Uast2RandomWalks +from sourced.ml.core.tests import models class RandomWalkTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_token_parser.py b/sourced/ml/core/tests/test_token_parser.py index a155b82..5dab621 100644 --- a/sourced/ml/core/tests/test_token_parser.py +++ b/sourced/ml/core/tests/test_token_parser.py @@ -1,7 +1,7 @@ import pickle import unittest -from sourced.ml.algorithms import NoopTokenParser, TokenParser +from sourced.ml.core.algorithms.token_parser import NoopTokenParser, TokenParser class TokenParserTests(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_uast_inttypes_to_graphlets.py b/sourced/ml/core/tests/test_uast_inttypes_to_graphlets.py index b6b1cfc..b360683 100644 --- a/sourced/ml/core/tests/test_uast_inttypes_to_graphlets.py +++ b/sourced/ml/core/tests/test_uast_inttypes_to_graphlets.py @@ -2,8 +2,8 @@ from bblfsh import BblfshClient -from sourced.ml.algorithms import Uast2GraphletBag -from sourced.ml.tests.models import SOURCE_PY +from sourced.ml.core.algorithms import Uast2GraphletBag +from sourced.ml.core.tests.models import SOURCE_PY class Uast2GraphletBagTest(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_uast_struct_to_bag.py b/sourced/ml/core/tests/test_uast_struct_to_bag.py index 9860279..d6590d4 100644 --- a/sourced/ml/core/tests/test_uast_struct_to_bag.py +++ b/sourced/ml/core/tests/test_uast_struct_to_bag.py @@ -2,8 +2,8 @@ from bblfsh import BblfshClient -from sourced.ml.algorithms import UastRandomWalk2Bag, UastSeq2Bag -from sourced.ml.tests.models import SOURCE_PY +from sourced.ml.core.algorithms import UastRandomWalk2Bag, UastSeq2Bag +from sourced.ml.core.tests.models import SOURCE_PY class Uast2RandomWalk2BagTest(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_uast_to_id_distance.py b/sourced/ml/core/tests/test_uast_to_id_distance.py index 6d15cfe..d3f5d56 100644 --- a/sourced/ml/core/tests/test_uast_to_id_distance.py +++ b/sourced/ml/core/tests/test_uast_to_id_distance.py @@ -2,8 +2,9 @@ from bblfsh import BblfshClient -from sourced.ml.algorithms import NoopTokenParser, Uast2IdLineDistance, Uast2IdTreeDistance -from sourced.ml.tests.models import SOURCE_PY +from sourced.ml.core.algorithms import Uast2IdLineDistance, Uast2IdTreeDistance +from sourced.ml.core.algorithms.token_parser import NoopTokenParser +from sourced.ml.core.tests.models import SOURCE_PY class Uast2IdTreeDistanceTest(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_uast_to_id_sequence.py b/sourced/ml/core/tests/test_uast_to_id_sequence.py index 7411eef..ffce913 100644 --- a/sourced/ml/core/tests/test_uast_to_id_sequence.py +++ b/sourced/ml/core/tests/test_uast_to_id_sequence.py @@ -2,8 +2,9 @@ from bblfsh import BblfshClient -from sourced.ml.algorithms import NoopTokenParser, Uast2IdSequence -from sourced.ml.tests.models import SOURCE_PY +from sourced.ml.core.algorithms import Uast2IdSequence +from sourced.ml.core.algorithms.token_parser import NoopTokenParser +from sourced.ml.core.tests.models import SOURCE_PY class Uast2IdSequenceTest(unittest.TestCase): diff --git a/sourced/ml/core/tests/test_uast_to_role_id_pairs.py b/sourced/ml/core/tests/test_uast_to_role_id_pairs.py index e57760f..6ec6b08 100644 --- a/sourced/ml/core/tests/test_uast_to_role_id_pairs.py +++ b/sourced/ml/core/tests/test_uast_to_role_id_pairs.py @@ -2,8 +2,9 @@ from bblfsh import BblfshClient -from sourced.ml.algorithms import NoopTokenParser, Uast2RoleIdPairs -from sourced.ml.tests.models import SOURCE_PY +from sourced.ml.core.algorithms import Uast2RoleIdPairs +from sourced.ml.core.algorithms.token_parser import NoopTokenParser +from sourced.ml.core.tests.models import SOURCE_PY class Uast2NodesBagTest(unittest.TestCase): diff --git a/sourced/ml/core/utils/__init__.py b/sourced/ml/core/utils/__init__.py index f779fe3..41754f0 100644 --- a/sourced/ml/core/utils/__init__.py +++ b/sourced/ml/core/utils/__init__.py @@ -1,3 +1,3 @@ # flake8: noqa -from sourced.ml.utils.bigartm import install_bigartm -from sourced.ml.utils.pickleable_logger import PickleableLogger +from sourced.ml.core.utils.bigartm import install_bigartm +from sourced.ml.core.utils.pickleable_logger import PickleableLogger From c52da300531a13956a84383371215e6613099028 Mon Sep 17 00:00:00 2001 From: Guillem Duran Date: Fri, 26 Apr 2019 11:52:02 +0200 Subject: [PATCH 5/5] Fix tests Signed-off-by: Guillem Duran --- sourced/ml/core/tests/models/test_tensorflow.py | 5 +++-- sourced/ml/core/tests/test_bblfsh_utils.py | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sourced/ml/core/tests/models/test_tensorflow.py b/sourced/ml/core/tests/models/test_tensorflow.py index dde91a9..f33d441 100644 --- a/sourced/ml/core/tests/models/test_tensorflow.py +++ b/sourced/ml/core/tests/models/test_tensorflow.py @@ -14,14 +14,15 @@ def test_serialize(self): c = tf.matmul(a, b) gd = tf.get_default_graph().as_graph_def() buffer = io.BytesIO() - TensorFlowModel().construct(graphdef=gd).save(buffer) + TensorFlowModel().construct(graphdef=gd).save(buffer, series="tensorflow-model") buffer.seek(0) model = TensorFlowModel().load(buffer) self.assertEqual(gd.node, model.graphdef.node) buffer = io.BytesIO() with tf.Session() as session: - TensorFlowModel().construct(session=session, outputs=[c.name[:-2]]).save(buffer) + TensorFlowModel().construct(session=session, outputs=[c.name[:-2]]).save( + buffer, series="tensorflow-model") buffer.seek(0) model = TensorFlowModel().load(buffer) self.assertEqual(gd.node, model.graphdef.node) diff --git a/sourced/ml/core/tests/test_bblfsh_utils.py b/sourced/ml/core/tests/test_bblfsh_utils.py index fa7cee8..1e6f6c5 100644 --- a/sourced/ml/core/tests/test_bblfsh_utils.py +++ b/sourced/ml/core/tests/test_bblfsh_utils.py @@ -1,4 +1,5 @@ import errno +import os import random import socket import time @@ -9,6 +10,7 @@ from sourced.ml.core.utils.bblfsh import BBLFSH_VERSION_HIGH, BBLFSH_VERSION_LOW, check_version +@unittest.skipIf(os.getenv("SKIP_BBLFSH_UTILS_TESTS", False), "Skip ml_core.utils.bblfsh tests.") class BblfshUtilsTests(unittest.TestCase): @classmethod def setUpClass(cls):