コード例 #1
0
def __read_configuration(configuration_handler,
                         filename="tuf.interposition.json",
                         parent_repository_directory=None,
                         parent_ssl_certificates_directory=None):
    """
  A generic function to read TUF interposition configurations off a file, and
  then handle those configurations with a given function. configuration_handler
  must be a function which accepts a tuf.interposition.Configuration
  instance.

  Returns the parsed configurations as a dictionary of configurations indexed
  by hostnames."""

    INVALID_TUF_CONFIGURATION = "Invalid configuration for {network_location}!"
    INVALID_TUF_INTERPOSITION_JSON = "Invalid configuration in {filename}!"
    NO_CONFIGURATIONS = "No configurations found in configuration in {filename}!"

    # Configurations indexed by hostnames.
    parsed_configurations = {}

    try:
        with open(filename) as tuf_interposition_json:
            tuf_interpositions = json.load(tuf_interposition_json)
            configurations = tuf_interpositions.get("configurations", {})

            if len(configurations) == 0:
                raise InvalidConfiguration(
                    NO_CONFIGURATIONS.format(filename=filename))

            else:
                for network_location, configuration in configurations.iteritems(
                ):
                    try:
                        configuration_parser = ConfigurationParser(
                            network_location,
                            configuration,
                            parent_repository_directory=
                            parent_repository_directory,
                            parent_ssl_certificates_directory=
                            parent_ssl_certificates_directory)

                        configuration = configuration_parser.parse()
                        configuration_handler(configuration)
                        parsed_configurations[
                            configuration.hostname] = configuration

                    except:
                        Logger.exception(
                            INVALID_TUF_CONFIGURATION.format(
                                network_location=network_location))
                        raise

    except:
        Logger.exception(
            INVALID_TUF_INTERPOSITION_JSON.format(filename=filename))
        raise

    else:
        return parsed_configurations
コード例 #2
0
ファイル: run.py プロジェクト: tswsxk/XKT
def sym_run(stage: (int, str) = "viz"):  # pragma: no cover
    if isinstance(stage, str):
        stage = {
            "viz": 0,
            "pseudo": 1,
            "real": 2,
            "cli": 3,
        }[stage]

    if stage <= 1:
        cfg = Configuration(
            hyper_params={
                "ku_num": 835,
                "latent_dim": 600,
                "hidden_num": 900,
            },
            nettype="EmbedDKT",
        )

        net = get_net(**cfg.hyper_params)

        if stage == 0:
            # ############################## Net Visualization ###########################
            net_viz(net, cfg, False)
        else:
            # ############################## Pseudo Test #################################
            pseudo_numerical_check(net, cfg)

    elif stage == 2:
        # ################################# Simple Train ###############################
        import mxnet as mx
        train(
            "$data_dir/train.json",
            "$data_dir/test.json",
            dataset="assistment_2009_2010",
            ctx=mx.gpu(2),
            optimizer_params={"learning_rate": 0.001},
            hyper_params={
                "ku_num": 146,
                "hidden_num": 200,
                "dropout": 0.5
            },
            batch_size=16,
        )

    elif stage == 3:
        # ################################# CLI ###########################
        cfg_parser = ConfigurationParser(Configuration, commands=[train])
        cfg_kwargs = cfg_parser()
        assert "subcommand" in cfg_kwargs
        subcommand = cfg_kwargs["subcommand"]
        del cfg_kwargs["subcommand"]
        print(cfg_kwargs)
        eval("%s" % subcommand)(**cfg_kwargs)

    else:
        raise TypeError
コード例 #3
0
ファイル: run.py プロジェクト: zhouyunnudt/XCD
def sym_run(stage: (int, str) = "viz"):  # pragma: no cover
    if isinstance(stage, str):
        stage = {
            "viz": 0,
            "pseudo": 1,
            "real": 2,
            "cli": 3,
        }[stage]

    if stage <= 1:
        cfg = Configuration(hyper_params={})
        net = get_net(**cfg.hyper_params)
        net.initialize()

        if stage == 0:
            # ############################## Net Visualization ###########################
            net_viz(net, cfg, False)
        else:
            # ############################## Pseudo Test #################################
            pseudo_numerical_check(net, cfg)

    elif stage == 2:
        # ################################# Simple Train ###############################
        import mxnet as mx
        train(
            "$data_dir/train.csv",
            "$data_dir/test.csv",
            ctx=mx.cpu(),
            optimizer_params={
                "learning_rate": 0.01,
                "clip_gradient": 1,
            },
            dataset="a0910",
            # init_params_update={"initial_user_item": False},
            # workspace="random",
            workspace="init",
            # params_save=True
        )

    elif stage == 3:
        # ################################# CLI ###########################
        cfg_parser = ConfigurationParser(Configuration, commands=[train])
        cfg_kwargs = cfg_parser()
        assert "subcommand" in cfg_kwargs
        subcommand = cfg_kwargs["subcommand"]
        del cfg_kwargs["subcommand"]
        print(cfg_kwargs)
        eval("%s" % subcommand)(**cfg_kwargs)

    else:
        raise TypeError
コード例 #4
0
def sym_run(stage: (int, str) = "pesudo"):  # pragma: no cover
    if isinstance(stage, str):
        stage = {
            "pseudo": 0,
            "real": 1,
            "cli": 2,
        }[stage]

    if stage == 0:
        # ############################## Pesudo Test #################################
        cfg = Configuration(
            hyper_params={
                "ku_num": 835,
                "hidden_num": 835,
            },
            ctx="cuda:0,1,2",
        )
        net = get_net(**cfg.hyper_params)
        pseudo_numerical_check(net, cfg)

    elif stage == 1:
        # ################################# Simple Train ###############################
        train(
            "$data_dir/train",
            "$data_dir/test",
            dataset="junyi",
            ctx="cuda:0",
            optimizer_params={"lr": 0.001},
            hyper_params={
                "ku_num": 835,
                "hidden_num": 835
            },
            batch_size=16,
        )

    elif stage == 2:
        # ################################# CLI ###########################
        cfg_parser = ConfigurationParser(Configuration, commands=[train])
        cfg_kwargs = cfg_parser()
        assert "subcommand" in cfg_kwargs
        subcommand = cfg_kwargs["subcommand"]
        del cfg_kwargs["subcommand"]
        print(cfg_kwargs)
        eval("%s" % subcommand)(**cfg_kwargs)

    else:
        raise TypeError
コード例 #5
0
def __read_configuration(configuration_handler,
                         filename="tuf.interposition.json",
                         parent_repository_directory=None,
                         parent_ssl_certificates_directory=None):
  """
  A generic function to read a TUF interposition configuration off the disk,
  and handle it. configuration_handler must be a function which accepts a
  tuf.interposition.Configuration instance."""

  INVALID_TUF_CONFIGURATION = "Invalid configuration for {network_location}!"
  INVALID_TUF_INTERPOSITION_JSON = "Invalid configuration in {filename}!"
  NO_CONFIGURATIONS = "No configurations found in configuration in {filename}!"

  try:
    with open(filename) as tuf_interposition_json:
      tuf_interpositions = json.load(tuf_interposition_json)
      configurations = tuf_interpositions.get("configurations", {})

      if len(configurations) == 0:
        raise InvalidConfiguration(NO_CONFIGURATIONS.format(filename=filename))

      else:
        for network_location, configuration in configurations.iteritems():
          try:
            configuration_parser = ConfigurationParser(network_location,
              configuration, parent_repository_directory=parent_repository_directory,
              parent_ssl_certificates_directory=parent_ssl_certificates_directory)

            configuration = configuration_parser.parse()
            configuration_handler(configuration)

          except:
            Logger.exception(INVALID_TUF_CONFIGURATION.format(network_location=network_location))
            raise

  except:
    Logger.exception(INVALID_TUF_INTERPOSITION_JSON.format(filename=filename))
    raise
コード例 #6
0
def sym_run(stage: (int, str) = "viz"):  # pragma: no cover
    if isinstance(stage, str):
        stage = {
            "viz": 0,
            "pseudo": 1,
            "real": 2,
            "cli": 3,
        }[stage]

    if stage <= 1:
        cfg = Configuration(
            hyper_params=dict(
                ku_num=835,
                key_embedding_dim=50,
                value_embedding_dim=200,
                hidden_num=900,
                key_memory_size=20,
                value_memory_size=20,
                key_memory_state_dim=50,
                value_memory_state_dim=200,
            )
        )

        net = get_net(**cfg.hyper_params)

        if stage == 0:
            # ############################## Net Visualization ###########################
            net_viz(net, cfg, False)
        else:
            # ############################## Pseudo Test #################################
            pseudo_numerical_check(net, cfg)

    elif stage == 2:
        # ################################# Simple Train ###############################
        import mxnet as mx
        train(
            "$data_dir/train.json",
            "$data_dir/test.json",
            dataset="junyi",
            ctx=mx.gpu(),
            optimizer_params={
                "learning_rate": 0.001
            },
            hyper_params=dict(
                ku_num=835,
                key_embedding_dim=200,
                value_embedding_dim=200,
                hidden_num=835,
                key_memory_size=40,
                dropout=0.5,
            ),
            batch_size=16,
            root="../../../",
            data_dir="$root_data_dir",
            end_epoch=10,
        )

    elif stage == 3:
        # ################################# CLI ###########################
        cfg_parser = ConfigurationParser(Configuration, commands=[train])
        cfg_kwargs = cfg_parser()
        assert "subcommand" in cfg_kwargs
        subcommand = cfg_kwargs["subcommand"]
        del cfg_kwargs["subcommand"]
        print(cfg_kwargs)
        eval("%s" % subcommand)(**cfg_kwargs)

    else:
        raise TypeError
コード例 #7
0
ファイル: run.py プロジェクト: tswsxk/CangJie
def sym_run(stage: (int, str) = "viz"):  # pragma: no cover
    if isinstance(stage, str):
        stage = {
            "viz": 0,
            "pseudo": 1,
            "real": 2,
            "cli": 3,
        }[stage]

    if stage <= 1:
        cfg = Configuration(
            hyper_params={
                "model_type": "wclstm",
                "class_num": 32,
                "embedding_dim": 256,
            }
        )
        embedding_size = {
            "w": 100,
            "c": 100,
        }
        net = get_net(embedding_size=embedding_size, **cfg.hyper_params)

        if stage == 0:
            # ############################## Net Visualization ###########################
            net_viz(net, cfg, False)
        else:
            # ############################## Pseudo Test #################################
            pseudo_numerical_check(net, cfg)

    elif stage == 2:
        # ################################# Simple Train ###############################
        import mxnet as mx
        train(
            "$data_dir/train.json",
            "$data_dir/test.json",
            "w:$vec_dir/word.vec.dat,c:$vec_dir/char.vec.dat",
            ctx=mx.gpu(),
            hyper_params={
                "model_type": "wclstm",
                "class_num": 32,
                "embedding_dim": 256,
            },
            root="../../../..",
            dataset="ctc32",
            data_dir="$root_data_dir",
            end_epoch=1,
        )

    elif stage == 3:
        # ################################# CLI ###########################
        cfg_parser = ConfigurationParser(Configuration, commands=[train])
        cfg_kwargs = cfg_parser()
        assert "subcommand" in cfg_kwargs
        subcommand = cfg_kwargs["subcommand"]
        del cfg_kwargs["subcommand"]
        print(cfg_kwargs)
        eval("%s" % subcommand)(**cfg_kwargs)

    else:
        raise TypeError
コード例 #8
0
def sym_run(stage: (int, str) = "viz"):  # pragma: no cover
    if isinstance(stage, str):
        stage = {
            "viz": 0,
            "pseudo": 1,
            "real": 2,
            "cli": 3,
        }[stage]

    if stage <= 1:
        cfg = Configuration(
            hyper_params=dict(
                ku_num=835,
            )
        )

        net = get_net(**cfg.hyper_params)

        if stage == 0:
            # ############################## Net Visualization ###########################
            net_viz(net, cfg, False)
        else:
            # ############################## Pseudo Test #################################
            pseudo_numerical_check(net, cfg)

    elif stage == 2:
        # ################################# Simple Train ###############################
        import mxnet as mx
        train(
            "$data_dir/train.json",
            "$data_dir/test.json",
            ctx=mx.gpu(),
            optimizer_params={
                "learning_rate": 0.001
            },
            dump=True,
            data_dir="$root_data_dir",
            # end_epoch=20,
            # root="../../../",
            # dataset="assistment_2009_2010",
            # hyper_params=dict(
            #     ku_num=124,
            #     hidden_num=32,
            #     latent_dim=32,
            #     dropout=0.5,
            # ),
            end_epoch=10,
            hyper_params=dict(
                ku_num=835,
                hidden_num=32,
                latent_dim=32,
                dropout=0.5,
            ),
            dataset="junyi",
            root="/data/tongshiwei/KT",
            root_data_dir="$root/$dataset",
        )

    elif stage == 3:
        # ################################# CLI ###########################
        cfg_parser = ConfigurationParser(Configuration, commands=[train])
        cfg_kwargs = cfg_parser()
        assert "subcommand" in cfg_kwargs
        subcommand = cfg_kwargs["subcommand"]
        del cfg_kwargs["subcommand"]
        print(cfg_kwargs)
        eval("%s" % subcommand)(**cfg_kwargs)

    else:
        raise TypeError
コード例 #9
0
ファイル: run.py プロジェクト: tswsxk/xrec
def sym_run(stage: (int, str) = "viz"):  # pragma: no cover
    if isinstance(stage, str):
        stage = {
            "viz": 0,
            "pseudo": 1,
            "real": 2,
            "cli": 3,
        }[stage]

    if stage <= 1:
        cfg = Configuration(hyper_params={
            "user_num": 1000,
            "item_num": 100,
            "vec_dim": 100,
            "op": "mlp"
        },
                            eval_params={
                                "unlabeled_value": 0,
                                "k": [1, 3],
                                "pointwise": True,
                            })
        net = get_net(**cfg.hyper_params)

        if stage == 0:
            # ############################## Net Visualization ###########################
            net_viz(net, cfg, False)
        else:
            # ############################## Pseudo Test #################################
            pseudo_numerical_check(net, cfg)

    elif stage == 2:
        # ################################# Simple Train ###############################
        import mxnet as mx
        train(
            "$data_dir/ml-1m/train.jsonl",
            "$data_dir/ml-1m/test.jsonl",
            hyper_params={
                "num_a": 6040,
                "num_b": 3900,
                "vec_dim": 128,
                "op": "linear"
            },
            root_data_dir="../../../../",
            optimizer_params={"learning_rate": 0.001},
            # ctx=[mx.gpu(3)],
            ctx=[mx.gpu(5)],
            batch_size=16,
            # optimizer_params={
            #     "learning_rate": 0.01
            # },
            # ctx=[mx.gpu(5), mx.gpu(6), mx.gpu(7), mx.gpu(8)],
            # batch_size=256,
        )

    elif stage == 3:
        # ################################# CLI ###########################
        cfg_parser = ConfigurationParser(Configuration, commands=[train])
        cfg_kwargs = cfg_parser()
        assert "subcommand" in cfg_kwargs
        subcommand = cfg_kwargs["subcommand"]
        del cfg_kwargs["subcommand"]
        print(cfg_kwargs)
        eval("%s" % subcommand)(**cfg_kwargs)

    else:
        raise TypeError