@Namespace(value="torch::nn") @NoOffset @Properties(inherit=torch.class) public class ModuleListImpl extends ModuleListImplCloneable
Module
s that registers its elements.
\rst
.. code-block:: cpp
torch::nn::ModuleList mlist(
torch::nn::Linear(3, 4),
torch::nn::BatchNorm1d(4),
torch::nn::Dropout(0.5)
);
for (const auto &module : *mlist) {
module->pretty_print(std::cout);
}
\endrst
Why should you use ModuleList
instead of a simple std::vector
? The value
a ModuleList
provides over manually calling a sequence of modules is that
it allows treating the whole container *as a single module*, such that
performing a transformation on the ModuleList
applies to each of the
modules it stores (which are each a registered submodule of the
ModuleList
). For example, calling
.to(torch::kCUDA)
on a ModuleList
will move each module in the list to
CUDA memory. For example:
\rst
.. code-block:: cpp
torch::nn::ModuleList mlist(
torch::nn::Linear(3, 4),
torch::nn::BatchNorm1d(4),
torch::nn::Dropout(0.5)
);
// Convert all modules to CUDA.
mlist->to(torch::kCUDA);
\endrst
Finally, ModuleList
provides a lightweight container API, such as allowing
iteration over submodules, positional access, adding a new module after
construction via push_back
, as well as joining two ModuleList
s via
extend
.Pointer.CustomDeallocator, Pointer.Deallocator, Pointer.NativeDeallocator, Pointer.ReferenceCounter
Constructor and Description |
---|
ModuleListImpl() |
ModuleListImpl(Pointer p)
Pointer cast constructor.
|
Modifier and Type | Method and Description |
---|---|
SharedModuleVector.Iterator |
begin()
Returns an iterator to the start of the
ModuleList . |
Module |
clone() |
Module |
clone(DeviceOptional device)
Special cloning function for
ModuleList because it does not use
reset() . |
SharedModuleVector.Iterator |
end()
Returns an iterator to the end of the
ModuleList . |
Module |
get(long index)
Like
ptr(index) . |
void |
insert(long index,
Module module) |
boolean |
is_empty()
True if there are no modules in the
ModuleList . |
void |
pretty_print(Pointer stream)
Pretty prints the
ModuleList module into the given stream . |
Module |
ptr(long index)
Attempts to return a
std::shared_ptr whose dynamic type is that of the
underlying module at the given index. |
void |
push_back(Module module) |
void |
reset()
reset() is empty for ModuleList , since it does not have parameters of
its own. |
long |
size()
The current size of the
ModuleList container. |
apply, apply, apply, apply, apply, apply, apply, apply, asAdaptiveAvgPool1d, asAdaptiveAvgPool2d, asAdaptiveAvgPool3d, asAdaptiveLogSoftmaxWithLoss, asAdaptiveMaxPool1d, asAdaptiveMaxPool2d, asAdaptiveMaxPool3d, asAlphaDropout, asAvgPool1d, asAvgPool2d, asAvgPool3d, asBatchNorm1d, asBatchNorm2d, asBatchNorm3d, asBCELoss, asBCEWithLogitsLoss, asBilinear, asCELU, asConstantPad1d, asConstantPad2d, asConstantPad3d, asConv1d, asConv2d, asConv3d, asConvTranspose1d, asConvTranspose2d, asConvTranspose3d, asCosineEmbeddingLoss, asCosineSimilarity, asCrossEntropyLoss, asCrossMapLRN2d, asCTCLoss, asDropout, asDropout2d, asDropout3d, asELU, asEmbedding, asEmbeddingBag, asFeatureAlphaDropout, asFlatten, asFold, asFractionalMaxPool2d, asFractionalMaxPool3d, asGELU, asGLU, asGroupNorm, asGRU, asGRUCell, asHardshrink, asHardtanh, asHingeEmbeddingLoss, asHuberLoss, asIdentity, asInstanceNorm1d, asInstanceNorm2d, asInstanceNorm3d, asKLDivLoss, asL1Loss, asLayerNorm, asLeakyReLU, asLinear, asLocalResponseNorm, asLogSigmoid, asLogSoftmax, asLPPool1d, asLPPool2d, asLPPool3d, asLSTM, asLSTMCell, asMarginRankingLoss, asMaxPool1d, asMaxPool2d, asMaxPool3d, asMaxUnpool1d, asMaxUnpool2d, asMaxUnpool3d, asMish, asModuleDict, asModuleList, asMSELoss, asMultiheadAttention, asMultiLabelMarginLoss, asMultiLabelSoftMarginLoss, asMultiMarginLoss, asNLLLoss, asPairwiseDistance, asParameterDict, asParameterList, asPixelShuffle, asPixelUnshuffle, asPoissonNLLLoss, asPReLU, asReflectionPad1d, asReflectionPad2d, asReflectionPad3d, asReLU, asReLU6, asReplicationPad1d, asReplicationPad2d, asReplicationPad3d, asRNN, asRNNCell, asRReLU, asSELU, asSequential, asSigmoid, asSiLU, asSmoothL1Loss, asSoftMarginLoss, asSoftmax, asSoftmax2d, asSoftmin, asSoftplus, asSoftshrink, asSoftsign, asTanh, asTanhshrink, asThreshold, asTransformer, asTransformerDecoder, asTransformerDecoderLayer, asTransformerEncoder, asTransformerEncoderLayer, asTripletMarginLoss, asTripletMarginWithDistanceLoss, asUnflatten, asUnfold, asUpsample, asZeroPad1d, asZeroPad2d, asZeroPad3d, buffers, buffers, children, eval, is_serializable, is_training, load, modules, modules, name, named_buffers, named_buffers, named_children, named_modules, named_modules, named_modules, named_parameters, named_parameters, parameters, parameters, put, register_buffer, register_buffer, register_module, register_module, register_parameter, register_parameter, register_parameter, register_parameter, save, shiftLeft, to, to, to, train, unregister_module, unregister_module, zero_grad
address, asBuffer, asByteBuffer, availablePhysicalBytes, calloc, capacity, capacity, close, deallocate, deallocate, deallocateReferences, deallocator, deallocator, equals, fill, formatBytes, free, getDirectBufferAddress, getPointer, getPointer, getPointer, getPointer, hashCode, interruptDeallocatorThread, isNull, isNull, limit, limit, malloc, maxBytes, maxPhysicalBytes, memchr, memcmp, memcpy, memmove, memset, offsetAddress, offsetof, offsetof, parseBytes, physicalBytes, physicalBytesInaccurate, position, position, put, realloc, referenceCount, releaseReference, retainReference, setNull, sizeof, sizeof, toString, totalBytes, totalCount, totalPhysicalBytes, withDeallocator, zero
public ModuleListImpl(Pointer p)
Pointer(Pointer)
.public ModuleListImpl()
@SharedPtr(value="torch::nn::Module") @ByVal public Module clone(@Const @ByRef(nullValue="std::optional<torch::Device>(std::nullopt)") DeviceOptional device)
ModuleList
because it does not use
reset()
.clone
in class ModuleListImplCloneable
@SharedPtr(value="torch::nn::Module") @ByVal public Module clone()
clone
in class ModuleListImplCloneable
public void reset()
reset()
is empty for ModuleList
, since it does not have parameters of
its own.reset
in class ModuleListImplCloneable
public void pretty_print(@Cast(value="std::ostream*") @ByRef Pointer stream)
ModuleList
module into the given stream
.pretty_print
in class Module
public void push_back(@SharedPtr(value="torch::nn::Module") @ByVal Module module)
@ByVal @Cast(value="torch::nn::ModuleListImpl::Iterator*") public SharedModuleVector.Iterator begin()
ModuleList
.@ByVal @Cast(value="torch::nn::ModuleListImpl::Iterator*") public SharedModuleVector.Iterator end()
ModuleList
.@SharedPtr(value="torch::nn::Module") @ByVal public Module ptr(@Cast(value="size_t") long index)
std::shared_ptr
whose dynamic type is that of the
underlying module at the given index. Throws an exception if the index is
out of bounds.@SharedPtr(value="torch::nn::Module") @ByVal @Name(value="operator []") public Module get(@Cast(value="size_t") long index)
ptr(index)
.@Cast(value="size_t") @NoException(value=true) public long size()
ModuleList
container.@Cast(value="bool") @NoException(value=true) public boolean is_empty()
ModuleList
.Copyright © 2024. All rights reserved.