class TopoSolver[source]
TopoSolver(device:str='cpu',name:str=None,trainable:bool=False,differentiable:bool=False)
A parent class that inherits all kinds of topo solvers, i.e., algorithms that solve the topology optimization task.
| Type | Default | Details | |
|---|---|---|---|
device |
str |
cpu |
The device of the topo solver. Can bei either "cpu" or "cuda". |
name |
str |
None |
The name of the topo solver. |
trainable |
bool |
False |
Whether the topo solver is trainable. |
differentiable |
bool |
False |
Whether the topo solver is differentiable. |
TopoSolver.to[source]
TopoSolver.to(device:str)
Move the topo solver to device.
| Type | Default | Details | |
|---|---|---|---|
device |
str |
The device of the topo solver. Can bei either "cpu" or "cuda". |
TopoSolver.clone[source]
TopoSolver.clone()
Return a dl4to.topo_solvers.TopoSolver object, which is clone of the current topo solver.
TopoSolver.__call__[source]
TopoSolver.__call__(problems_or_solutions:list,eval_mode:bool=True)
Perform a forward pass of the topo solver. Expects a list of problems or solutions.
Returns a dl4to.solution.Solution object or a list of solutions, if the input was also a list.
| Type | Default | Details | |
|---|---|---|---|
problems_or_solutions |
list |
A list containing problem and solution objects. | |
eval_mode |
bool |
True |
Determines whether to calculate gradients for the backwards pass or not. If True, then no gradients are calculated. |
TopoSolver.eval[source]
TopoSolver.eval(root:str,criteria:list,dataloader:DataLoader)
Evalate criteria with outputs from the topo solver. Returns a collections.defaultdict dictionary.
| Type | Default | Details | |
|---|---|---|---|
root |
str |
The root directory where the evaluation results are saved. | |
criteria |
list |
A list of dl4to.criteria.Criterion objects that are used for the evaluation. |
|
dataloader |
DataLoader |
The dataloader that is used for retrieving the validation data. |
TopoSolver.plot_first_solutions_from_dataloader[source]
TopoSolver.plot_first_solutions_from_dataloader(root:str,n_plots:int,dataloader:DataLoader,camera_position:Union[tuple,list]=(0, 0.1, 0.12),export_png:bool=True)
Saves n_plots plots of solutions obtained via the topo_solver from problems from the dataloader.
| Type | Default | Details | |
|---|---|---|---|
root |
str |
The root where the plots should be saved. | |
n_plots |
int |
The number of solutions to plot. | |
dataloader |
DataLoader |
The dataloader that is used to obtain the data. | |
camera_position |
typing.Union[tuple, list] |
(0, 0.1, 0.12) |
x, y, and z coordinates of the camera position. |
export_png |
bool |
True |
Whether the figure is exported and saved as a png file, in addition to the standard html format. |