本文整理汇总了Python中param.parameterized.ParamOverrides类的典型用法代码示例。如果您正苦于以下问题:Python ParamOverrides类的具体用法?Python ParamOverrides怎么用?Python ParamOverrides使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ParamOverrides类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __call__
def __call__(self,output_fn,init_time=0,final_time=None,**params):
p=ParamOverrides(self,params)
if final_time is None:
final_time=topo.sim.time()
attrs = p.attrib_names if len(p.attrib_names)>0 else output_fn.attrib_names
for a in attrs:
pylab.figure(figsize=(6,4))
isint=pylab.isinteractive()
pylab.ioff()
pylab.grid(True)
ylabel=p.ylabel
pylab.ylabel(a+" "+ylabel)
pylab.xlabel('Iteration Number')
coords = p.units if len(p.units)>0 else output_fn.units
for coord in coords:
y_data=[y for (x,y) in output_fn.values[a][coord]]
x_data=[x for (x,y) in output_fn.values[a][coord]]
if p.raw==True:
plot_data=zip(x_data,y_data)
pylab.save(normalize_path(p.filename+a+'(%.2f, %.2f)' %(coord[0], coord[1])),plot_data,fmt='%.6f', delimiter=',')
pylab.plot(x_data,y_data, label='Unit (%.2f, %.2f)' %(coord[0], coord[1]))
(ymin,ymax)=p.ybounds
pylab.axis(xmin=init_time,xmax=final_time,ymin=ymin,ymax=ymax)
if isint: pylab.ion()
pylab.legend(loc=0)
p.title=topo.sim.name+': '+a
p.filename_suffix=a
self._generate_figure(p)
示例2: __call__
def __call__(self,**params_to_override):
p = ParamOverrides(self,params_to_override)
p.generators=[Gaussian(aspect_ratio=p.aspect_ratio,size=p.gaussian_size),
UniformRandom(name=p.name,
time_dependent=p.time_dependent,
time_fn = p.time_fn)]
return super(GaussianCloud,self).__call__(**p)
示例3: __call__
def __call__(self,mat,aspect=None,colorbar=True,**params):
p=ParamOverrides(self,params)
p.plot_type()
pylab.figure(figsize=(5,5))
pylab.imshow(mat,interpolation='nearest',aspect=aspect)
if colorbar and (mat.min()!= mat.max()): pylab.colorbar()
self._generate_figure(p)
示例4: __call__
def __call__(self, features, **params):
p = ParamOverrides(self, params, allow_extra_keywords=True)
self.features = features
self._initialize_featureresponses(p)
self._measure_responses(p)
results = self._collate_results(p)
if p.measurement_storage_hook:
p.measurement_storage_hook(results)
return results
示例5: __init__
def __init__(self,inherent_features={},**params):
"""
If a dataset already and inherently includes certain features, a dictionary
with feature-name:code-to-access-the-feature pairs should be supplied
specifying how to select (e.g. from a set of images) the appropriate
feature value.
Any extra parameter values supplied here will be passed down to the
feature_coordinators requested in features_to_vary.
"""
p=ParamOverrides(self,params,allow_extra_keywords=True)
super(PatternCoordinator, self).__init__(**p.param_keywords())
self._feature_params = p.extra_keywords()
self._inherent_features = inherent_features
# And also, this key must be in feature_coordinators because _inherent_features
# can have additional features such as i to support multiple images
# TFALERT: Once spatial frequency (sf) is added, this will
# cause warnings, because all image datasets will have a
# spatial frequency inherent feature, but mostly we just
# ignore that by having only a single size of DoG, which
# discards all but a narrow range of sf. So the dataset will
# have sf inherently, but that won't be an error or even
# worthy of a warning.
if(len((set(self._inherent_features.keys()) - set(self.features_to_vary)) & set(self.feature_coordinators.keys()))):
self.warning('Inherent feature present which is not requested in features')
self._feature_coordinators_to_apply = []
for feature, feature_coordinator in self.feature_coordinators.iteritems():
if feature in self.features_to_vary and feature not in self._inherent_features:
# if it is a list, append each list item individually
if isinstance(feature_coordinator,list):
for individual_feature_coordinator in feature_coordinator:
self._feature_coordinators_to_apply.append(individual_feature_coordinator)
else:
self._feature_coordinators_to_apply.append(feature_coordinator)
示例6: __call__
def __call__(self, **params):
p=ParamOverrides(self,params)
name=p.plot_template.keys().pop(0)
plot=make_template_plot(p.plot_template,
p.sheet.views.Maps, p.sheet.xdensity,p.sheet.bounds,
p.normalize,name=p.plot_template[name])
fig = plt.figure(figsize=(5,5))
if plot:
bitmap=plot.bitmap
isint=plt.isinteractive() # Temporarily make non-interactive for plotting
plt.ioff() # Turn interactive mode off
plt.imshow(bitmap.image,origin='lower',interpolation='nearest')
plt.axis('off')
for (t,pref,sel,c) in p.overlay:
v = plt.flipud(p.sheet.views.Maps[pref].view()[0])
if (t=='contours'):
plt.contour(v,[sel,sel],colors=c,linewidths=2)
if (t=='arrows'):
s = plt.flipud(p.sheet.views.Maps[sel].view()[0])
scale = int(np.ceil(np.log10(len(v))))
X = np.array([x for x in xrange(len(v)/scale)])
v_sc = np.zeros((len(v)/scale,len(v)/scale))
s_sc = np.zeros((len(v)/scale,len(v)/scale))
for i in X:
for j in X:
v_sc[i][j] = v[scale*i][scale*j]
s_sc[i][j] = s[scale*i][scale*j]
plt.quiver(scale*X, scale*X, -np.cos(2*np.pi*v_sc)*s_sc,
-np.sin(2*np.pi*v_sc)*s_sc, color=c,
edgecolors=c, minshaft=3, linewidths=1)
p.title='%s overlaid with %s at time %s' %(plot.name,pref,topo.sim.timestr())
if isint: plt.ion()
p.filename_suffix="_"+p.sheet.name
self._generate_figure(p)
return fig
示例7: __call__
def __call__(self,**params_to_override):
p=ParamOverrides(self,params_to_override)
if self.time_fn() >= self.last_time + p.reset_period:
## Returns early if within episode interval
if self.time_fn()<self.last_time+p.reset_period+p.episode_interval:
return p.episode_separator(xdensity=p.xdensity,
ydensity=p.ydensity,
bounds=p.bounds)
else:
self._advance_params()
# JABALERT: Does not allow x, y, or direction to be passed in
# to the call; fixing this would require implementing
# inspect_value and force_new_dynamic_value (for
# use in _advance_params) for ParamOverrides.
#
# Access parameter values without giving them new values
assert ('x' not in params_to_override and
'y' not in params_to_override and
'direction' not in params_to_override)
x = self.inspect_value('x')
y = self.inspect_value('y')
direction = self.inspect_value('direction')
# compute how much time elapsed from the last reset
# float(t) required because time could be e.g. gmpy.mpq
t = float(self.time_fn()-self.last_time)
## CEBALERT: mask gets applied twice, both for the underlying
## generator and for this one. (leads to redundant
## calculations in current lissom_oo_or usage, but will lead
## to problems/limitations in the future).
return p.generator(
xdensity=p.xdensity,ydensity=p.ydensity,bounds=p.bounds,
x=x+t*np.cos(direction)*p.speed+p.generator.x,
y=y+t*np.sin(direction)*p.speed+p.generator.y,
orientation=(direction-pi/2)+p.generator.orientation)
示例8: __init__
def __init__(self,inherent_features=[],**params):
"""
If a dataset already and inherently includes certain features,
a list with the inherent feature names should be supplied.
Any extra parameter values supplied here will be passed down
to the feature_coordinators requested in features_to_vary.
"""
p=ParamOverrides(self,params,allow_extra_keywords=True)
super(PatternCoordinator, self).__init__(**p.param_keywords())
self._feature_params = p.extra_keywords()
self._inherent_features = inherent_features
# TFALERT: Once spatial frequency (sf) is added, this will
# cause warnings, because all image datasets will have a
# spatial frequency inherent feature, but mostly we just
# ignore that by having only a single size of DoG, which
# discards all but a narrow range of sf. So the dataset will
# have sf inherently, but that won't be an error or even
# worthy of a warning.
if(len(set(self._inherent_features) - set(self.features_to_vary))):
self.warning('Inherent feature present which is not requested in features')
self._feature_coordinators_to_apply = []
for feature, feature_coordinator in self.feature_coordinators.items():
if feature in self.features_to_vary and feature not in self._inherent_features:
# if it is a list, append each list item individually
if isinstance(feature_coordinator,list):
for individual_feature_coordinator in feature_coordinator:
self._feature_coordinators_to_apply.append(individual_feature_coordinator)
else:
self._feature_coordinators_to_apply.append(feature_coordinator)
示例9: __call__
def __call__(self,script_file,**params_to_override):
p=ParamOverrides(self,params_to_override,allow_extra_keywords=True)
import os
import shutil
# Construct simulation name, etc.
scriptbase= re.sub('.ty$','',os.path.basename(script_file))
prefix = ""
if p.timestamp==(0,0): prefix += time.strftime(p.name_time_format)
else: prefix += time.strftime(p.name_time_format, p.timestamp)
prefix += "_" + scriptbase + "_" + p.tag
simname = prefix
# Construct parameter-value portion of filename; should do more filtering
# CBENHANCEMENT: should provide chance for user to specify a
# function (i.e. make this a function, and have a parameter to
# allow the function to be overridden).
# And sort by name by default? Skip ones that aren't different
# from default, or at least put them at the end?
prefix += p.dirname_params_filter(p.extra_keywords())
# Set provided parameter values in main namespace
from topo.misc.commandline import global_params
global_params.set_in_context(**p.extra_keywords())
# Create output directories
if not os.path.isdir(normalize_path(p['output_directory'])):
try: os.mkdir(normalize_path(p['output_directory']))
except OSError: pass # Catches potential race condition (simultaneous run_batch runs)
dirname = self._truncate(p,p.dirname_prefix+prefix)
normalize_path.prefix = normalize_path(os.path.join(p['output_directory'],dirname))
if os.path.isdir(normalize_path.prefix):
print "Batch run: Warning -- directory already exists!"
print "Run aborted; wait one minute before trying again, or else rename existing directory: \n" + \
normalize_path.prefix
sys.exit(-1)
else:
os.mkdir(normalize_path.prefix)
print "Batch run output will be in " + normalize_path.prefix
if p['vc_info']:
_print_vc_info(simname+".diffs")
hostinfo = "Host: " + " ".join(platform.uname())
topographicalocation = "Topographica: " + os.path.abspath(sys.argv[0])
topolocation = "topo package: " + os.path.abspath(topo.__file__)
scriptlocation = "script: " + os.path.abspath(script_file)
starttime=time.time()
startnote = "Batch run started at %s." % time.strftime("%a %d %b %Y %H:%M:%S +0000",
time.gmtime())
# store a re-runnable copy of the command used to start this batch run
try:
# pipes.quote is undocumented, so I'm not sure which
# versions of python include it (I checked python 2.6 and
# 2.7 on linux; they both have it).
import pipes
quotefn = pipes.quote
except (ImportError,AttributeError):
# command will need a human to insert quotes before it can be re-used
quotefn = lambda x: x
command_used_to_start = string.join([quotefn(arg) for arg in sys.argv])
# CBENHANCEMENT: would be nice to separately write out a
# runnable script that does everything necessary to
# re-generate results (applies diffs etc).
# Shadow stdout to a .out file in the output directory, so that
# print statements will go to both the file and to stdout.
batch_output = open(normalize_path(simname+".out"),'w')
batch_output.write(command_used_to_start+"\n")
sys.stdout = MultiFile(batch_output,sys.stdout)
print
print hostinfo
print topographicalocation
print topolocation
print scriptlocation
print
print startnote
from topo.misc.commandline import auto_import_commands
auto_import_commands()
# Ensure that saved state includes all parameter values
from topo.command import save_script_repr
param.parameterized.script_repr_suppress_defaults=False
# Save a copy of the script file for reference
shutil.copy2(script_file, normalize_path.prefix)
shutil.move(normalize_path(scriptbase+".ty"),
normalize_path(simname+".ty"))
#.........这里部分代码省略.........