예제 #1
0
    def test_partition(self):
        df_name = self.smallfile.rsplit('.', 1)[0]
        dataframe = load_dataframe(df_name)
        cand, seed = partition_intercomp(dataframe)
        self.assertEqual(len(dataframe), len(cand) + len(seed))

        cand, seed = partition_intercomp(dataframe, n_elements=1)
        self.assertEqual(len(dataframe), len(cand) + len(seed))
        self.assertGreater(len(seed), 0)
예제 #2
0
    def test_initialize_and_update(self):
        agent_pool = ParameterTable(TEST_AGENT_PARAMS)
        dataframe = get_oqmd_data_by_chemsys("Fe-O")
        cand, seed = partition_intercomp(dataframe, n_elements=1)
        analyzer = StabilityAnalyzer()
        experiment = LocalAgentSimulation(
            cand, iterations=5,
            analyzer=analyzer, seed_data=seed
        )

        MetaAgentCampaign.reserve(
            name="test_meta_agent", experiment=experiment,
            agent_pool=agent_pool, analyzer=analyzer
        )
        self.assertRaises(ValueError, MetaAgentCampaign.reserve,
                          "test_meta_agent", dataframe, agent_pool, None)

        agent_pool, data, analyzer = MetaAgentCampaign.load_pickled_objects(
            "test_meta_agent"
        )
        self.assertEqual(len(agent_pool), 12)

        MetaAgentCampaign.update_agent_pool(
            "test_meta_agent",
            TEST_AGENT_PARAMS
        )
        agent_pool, _, _ = MetaAgentCampaign.load_pickled_objects(
            "test_meta_agent"
        )
        self.assertEqual(len(agent_pool), 12)
예제 #3
0
 def test_run(self):
     with ScratchDir('.'):
         dataframe = get_oqmd_data_by_chemsys("Fe-O")
         cand, seed = partition_intercomp(dataframe, n_elements=1)
         agents_df = pd.DataFrame({"agent": [RandomAgent()]})
         simulation = LocalAgentSimulation(
             cand, iterations=5, seed_data=seed,
             analyzer=StabilityAnalyzer())
         simulation.submit(agents_df)
         simulation.monitor()
         results = simulation.get_results()
         self.assertTrue(True)
예제 #4
0
 def test_run(self):
     agent_pool = ParameterTable(RANDOM_TEST_AGENT_PARAMS)
     # Construct experiment
     dataframe = get_oqmd_data_by_chemsys("Fe-O")
     cand, seed = partition_intercomp(dataframe, n_elements=1)
     experiment = LocalAgentSimulation(
         atf_candidate_data=cand, seed_data=seed,
         analyzer=StabilityAnalyzer(), iterations=10,
     )
     analyzer = StabilityCampaignAnalyzer(checkpoint_indices=[2, 5, 10])
     MetaAgentCampaign.reserve(
         name="test_meta_agent", experiment=experiment,
         agent_pool=agent_pool, analyzer=analyzer
     )
     with ScratchDir('.'):
         print("Testing meta agent")
         campaign = MetaAgentCampaign.from_reserved_name(
             "test_meta_agent", meta_agent=RandomAgent(n_query=1),
         )
         campaign.autorun()
     self.assertTrue(True)