本文整理汇总了Python中pypet.trajectory.Trajectory.f_get方法的典型用法代码示例。如果您正苦于以下问题:Python Trajectory.f_get方法的具体用法?Python Trajectory.f_get怎么用?Python Trajectory.f_get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pypet.trajectory.Trajectory
的用法示例。
在下文中一共展示了Trajectory.f_get方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_auto_load
# 需要导入模块: from pypet.trajectory import Trajectory [as 别名]
# 或者: from pypet.trajectory.Trajectory import f_get [as 别名]
def test_auto_load(self):
traj = Trajectory(name='Test', filename=make_temp_file('autoload.hdf5'))
traj.v_auto_load = True
traj.f_add_result('I.am.$.a.mean.resu', 42, comment='Test')
traj.f_add_derived_parameter('ffa', 42)
traj.f_store()
ffa=traj.f_get('ffa')
ffa.f_unlock()
ffa.f_empty()
self.assertTrue(ffa.f_is_empty())
traj.f_remove_child('results', recursive=True)
# check auto load
val = traj.res.I.am.crun.a.mean.resu
self.assertTrue(val==42)
val = traj.ffa
self.assertTrue(val==42)
with self.assertRaises(Exception):
traj.kdsfdsf
示例2: main
# 需要导入模块: from pypet.trajectory import Trajectory [as 别名]
# 或者: from pypet.trajectory.Trajectory import f_get [as 别名]
def main():
folder = 'experiments/example_11/HDF5/'
filename = 'Clustered_Network.hdf5'
filename = os.path.join(folder, filename)
# If we pass a filename to the trajectory a new HDF5StorageService will
# be automatically created
traj = Trajectory(filename=filename,
dynamically_imported_classes=[BrianDurationParameter,
BrianMonitorResult,
BrianParameter])
# Let's create and fake environment to enable logging:
Environment(traj, do_single_runs=False)
# Load the trajectory, but onyl laod the skeleton of the results
traj.f_load(index=0, # Change if you do not want to load the very first trajectory
load_parameters=2,
load_derived_parameters=2,
load_results=1)
# Find the result instances related to the fano factor
fano_dict = traj.f_get_from_runs('mean_fano_factor', fast_access=False)
# Load the data of the fano factor results
ffs = fano_dict.values()
traj.f_load_items(ffs)
# Extract all values and R_ee values for each run
ffs_values = [x.f_get() for x in ffs]
Rees = traj.f_get('R_ee').f_get_range()
# Plot average fano factor as a function of R_ee
plt.plot(Rees, ffs_values)
plt.xlabel('R_ee')
plt.ylabel('Avg. Fano Factor')
plt.show()
示例3: setUp
# 需要导入模块: from pypet.trajectory import Trajectory [as 别名]
# 或者: from pypet.trajectory.Trajectory import f_get [as 别名]
def setUp(self):
logging.basicConfig(level = logging.INFO)
traj = Trajectory('Test')
traj.v_storage_service=LazyStorageService()
large_amount = 11
for irun in range(large_amount):
name = 'There.Are.Many.Parameters.Like.Me' + str(irun)
traj.f_add_parameter(name, irun)
traj.f_add_parameter('TestExplorer', 1)
traj.f_explore({traj.f_get('TestExplorer').v_full_name:[1,2,3,4,5]})
self.traj = traj
self.n = 1
self.single_run = self.traj._make_single_run(self.n)
self.assertTrue(len(self.single_run)==1)
示例4: main
# 需要导入模块: from pypet.trajectory import Trajectory [as 别名]
# 或者: from pypet.trajectory.Trajectory import f_get [as 别名]
def main():
env = Environment(trajectory='Example_05_Euler_Integration',
filename='experiments/example_05/HDF5/example_05.hdf5',
file_title='Example_05_Euler_Integration',
log_folder='experiments/example_05/LOGS/',
comment = 'Go for Euler!')
traj = env.v_trajectory
trajectory_name = traj.v_name
# 1st a) phase parameter addition
add_parameters(traj)
# 1st b) phase preparation
# We will add the differential equation (well, its source code only) as a derived parameter
traj.f_add_derived_parameter(FunctionParameter,'diff_eq', diff_lorenz,
comment='Source code of our equation!')
# We want to explore some initial conditions
traj.f_explore({'initial_conditions' : [
np.array([0.01,0.01,0.01]),
np.array([2.02,0.02,0.02]),
np.array([42.0,4.2,0.42])
]})
# 3 different conditions are enough for an illustrative example
# 2nd phase let's run the experiment
# We pass `euler_scheme` as our top-level simulation function and
# the Lorenz equation 'diff_lorenz' as an additional argument
env.f_run(euler_scheme, diff_lorenz)
# We don't have a 3rd phase of post-processing here
# 4th phase analysis.
# I would recommend to do post-processing completely independent from the simulation,
# but for simplicity let's do it here.
# Let's assume that we start all over again and load the entire trajectory new.
# Yet, there is an error within this approach, do you spot it?
del traj
traj = Trajectory(filename='experiments/example_05/HDF5/example_05.hdf5')
# We will only fully load parameters and derived parameters.
# Results will be loaded manually later on.
try:
# However, this will fail because our trajectory does not know how to
# build the FunctionParameter. You have seen this coming, right?
traj.f_load(name=trajectory_name,load_parameters=2,
load_derived_parameters=2,load_results=1)
except ImportError as e:
print 'That did\'nt work, I am sorry. %s ' % e.message
# Ok, let's try again but this time with adding our parameter to the imports
traj = Trajectory(filename='experiments/example_05/HDF5/example_05.hdf5',
dynamically_imported_classes=FunctionParameter)
# Now it works:
traj.f_load(name=trajectory_name,load_parameters=2,
load_derived_parameters=2,load_results=1)
#For the fun of it, let's print the source code
print '\n ---------- The source code of your function ---------- \n %s' % traj.diff_eq
# Let's get the exploration array:
initial_conditions_exploration_array = traj.f_get('initial_conditions').f_get_range()
# Now let's plot our simulated equations for the different initial conditions:
# We will iterate through the run names
for idx, run_name in enumerate(traj.f_get_run_names()):
#Get the result of run idx from the trajectory
euler_result = traj.results.f_get(run_name).euler_evolution
# Now we manually need to load the result. Actually the results are not so large and we
# could load them all at once. But for demonstration we do as if they were huge:
traj.f_load_item(euler_result)
euler_data = euler_result.data
#Plot fancy 3d plot
fig = plt.figure(idx)
ax = fig.gca(projection='3d')
x = euler_data[:,0]
y = euler_data[:,1]
z = euler_data[:,2]
ax.plot(x, y, z, label='Initial Conditions: %s' % str(initial_conditions_exploration_array[idx]))
plt.legend()
plt.show()
# Now we free the data again (because we assume its huuuuuuge):
del euler_data
euler_result.f_empty()
示例5: Trajectory
# 需要导入模块: from pypet.trajectory import Trajectory [as 别名]
# 或者: from pypet.trajectory.Trajectory import f_get [as 别名]
traj = Trajectory('Example', filename='experiments/example_02/HDF5/example_02.hdf5',
comment='Access and Storage!')
# We add our first parameter with the data 'Harrison Ford'
traj.f_add_parameter('starwars.characters.han_solo', 'Harrison Ford')
# This automatically added the groups 'starwars' and the subgroup 'characters'
# Let's get the characters subgroup
characters = traj.parameters.starwars.characters
# Since characters is unique we could also use shortcuts
characters = traj.characters
# Or the get method
characters = traj.f_get('characters')
# Or square brackets
characters = traj['characters']
# Lets add another character
characters.f_add_parameter('luke_skywalker', 'Mark Hamill', comment='May the force be with you!')
#The full name of luke skywalker is now `parameters.starwars.characters.luke_skywalker`:
print 'The full name of the new Skywalker Parameter is %s' % \
traj.f_get('luke_skywalker').v_full_name
#Lets see what happens if we have not unique entries:
traj.f_add_parameter_group('spaceballs.characters')
# Now our shortcuts no longer work, since we have two character groups!
示例6: TrajectoryTest
# 需要导入模块: from pypet.trajectory import Trajectory [as 别名]
# 或者: from pypet.trajectory.Trajectory import f_get [as 别名]
class TrajectoryTest(unittest.TestCase):
def setUp(self):
name = 'Moop'
self.traj = Trajectory(name,dynamically_imported_classes=[ImAParameterInDisguise,
'pypet.tests.test_helpers.ImAResultInDisguise'])
self.assertTrue(self.traj.f_is_empty())
comment = 'This is a comment'
self.traj.v_comment=comment
self.assertTrue(comment == self.traj.v_comment)
self.traj.f_add_parameter('IntParam',3)
sparsemat = spsp.csr_matrix((1000,1000))
sparsemat[1,2] = 17.777
self.traj.f_add_parameter(PickleParameter,'SparseParam', sparsemat)
self.traj.f_add_parameter('FloatParam')
self.traj.f_add_derived_parameter(Parameter('FortyTwo', 42))
self.traj.f_add_result(Result,'Im.A.Simple.Result',44444)
self.traj.FloatParam=4.0
self.explore_dict = {'FloatParam':[1.0,1.1,1.2,1.3]}
self.traj.f_explore(self.explore_dict)
self.assertTrue(len(self.traj) == 4)
self.traj.f_add_parameter_group('peter.paul')
self.traj.f_add_parameter('peter.markus.yve',6)
self.traj.f_add_result('Test',42)
self.traj.peter.f_add_parameter('paul.peter')
self.traj.f_add_config('make.impossible.promises',1)
with self.assertRaises(AttributeError):
self.traj.markus.peter
with self.assertRaises(ValueError):
self.traj.f_add_parameter('Peter. h ._hurz')
def test_shrink(self):
self.assertTrue(len(self.traj)>1)
self.traj.f_shrink()
self.assertTrue(len(self.traj)==1)
self.assertTrue(len(self.traj.f_get_explored_parameters())==0)
def test_get_all(self):
all_nodes = self.traj.f_get_all('peter')
self.assertTrue(len(all_nodes)==2)
all_nodes = self.traj.f_get_all('peter.yve')
self.assertTrue(len(all_nodes)==1)
all_nodes = self.traj.f_get_all('paul.yve')
self.assertTrue(len(all_nodes)==0)
self.traj.f_add_parameter('paul.paul')
all_nodes = self.traj.peter.f_get_all('paul')
self.assertTrue(len(all_nodes)==1)
self.traj.f_add_result('results.runs.run_00000000.x.y',10)
self.traj.f_add_result('results.runs.run_00000001.x.y',10)
self.traj.f_add_derived_parameter('hfhfhf.x.y')
self.traj.f_add_result('x.y.y')
self.traj.f_as_run(1)
all_nodes=self.traj.f_get_all('x.y')
self.assertTrue(len(all_nodes)==4)
def test_backwards_search(self):
x=self.traj.peter.f_get('paul.peter', backwards_search=False)
#.........这里部分代码省略.........
示例7: AnnotationsTest
# 需要导入模块: from pypet.trajectory import Trajectory [as 别名]
# 或者: from pypet.trajectory.Trajectory import f_get [as 别名]
#.........这里部分代码省略.........
for name in name_list:
delattr(node.v_annotations, name)
self.assertTrue(node.v_annotations.f_is_empty())
def test_get_item(self):
for node in self.traj.f_iter_nodes(recursive=True):
for key, val1 in node.v_annotations.f_to_dict().items():
val2 = node.v_annotations[key]
self.assertTrue(comp.nested_equal(val1,val2))
def test_get_item_no_copy(self):
for node in self.traj.f_iter_nodes(recursive=True):
for key, val1 in node.v_annotations.f_to_dict(copy=False).items():
val2 = node.v_annotations[key]
self.assertTrue(comp.nested_equal(val1,val2))
@staticmethod
def dict_to_str(dictionary):
resstr = ''
new_dict={}
for key, val in dictionary.items():
if key == 0:
key = 'annotation'
new_dict[key]=val
for key in sorted(new_dict.keys()):
resstr+='%s=%s; ' % (key,str(new_dict[key]))
return resstr[:-2]
def test_to_str(self):
dict_str = self.dict_to_str(self.annotations)
for node in self.traj.f_iter_nodes(recursive=True):
ann_str = node.f_ann_to_str()
self.assertTrue(not ann_str.endswith(' ') or not ann_str.endswith(','))
for name in self.annotations:
if name==0:
name = 'annotation'
self.assertTrue(name in ann_str)
self.assertEqual(dict_str, ann_str, '%s!=%s' % (dict_str, ann_str))
ann_str = str(node.v_annotations)
self.assertEqual(dict_str, ann_str, '%s!=%s' % (dict_str, ann_str))
def test_single_get_and_getattr_and_setattr(self):
self.traj.f_add_parameter('test2', 42)
self.traj.f_get('test2').v_annotations.test = 4
self.assertTrue(self.traj.f_get('test2').v_annotations.test, 4)
self.assertTrue(self.traj.f_get('test2').v_annotations.f_get(), 4)
def test_get_annotations(self):
key_list = sorted(self.annotations.keys())
for node in self.traj.f_iter_nodes(recursive=True):
for name in self.annotations:
self.assertTrue(comp.nested_equal(self.annotations[name],
node.f_get_annotations(name)))
val_list = node.f_get_annotations(*key_list)
for idx, val in enumerate(val_list):
self.assertTrue(comp.nested_equal(self.annotations[key_list[idx]], val))
def test_f_get_errors(self):
for node in self.traj.f_iter_nodes(recursive=True):
with self.assertRaises(ValueError):
node.v_annotations.f_get()
with self.assertRaises(AttributeError):
node.v_annotations.f_get('gdsdfd')
testparam = self.traj.f_add_parameter('ggg',343)
with self.assertRaises(AttributeError):
testparam.v_annotations.f_get()
def test_f_set_numbering(self):
int_list = range(10)
for node in self.traj.f_iter_nodes(recursive=True):
node.v_annotations.f_set(*int_list)
self.assertEqual(node.v_annotations.f_get(*int_list), tuple(int_list))
for integer in int_list:
if integer == 0:
name = 'annotation'
else:
name = 'annotation_%d' % integer
self.assertTrue(name in node.v_annotations)