# Pytorch: Different Input within Stacking Ensemble & Apex library!

**URL:** <https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106>\
**Category:** vision\
**Created:** [December 23, 2021, 3:09pm UTC](https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106 "2021-12-23T15:09:14Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sang\_Dinh](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/sang_dinh/32/45006_2.png) [@Sang\_Dinh](https://discuss.pytorch.org/u/Sang_Dinh)\
**Post date:** [December 23, 2021, 3:09pm UTC](https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106/1 "2021-12-23T15:09:14Z")

</div>

I shortly will describe my project:  
+2 input for 2 networks: image(3x256x256) & 20 features(1 tensor of 20 number)  
+Stacking ensemble. [more](https://discuss.pytorch.org/t/custom-ensemble-approach/52024/4)  
This is my model:

```auto
class MetaMelanoma(nn.Module):
    def __init__ (self,out_dim=9,n_meta_features=0,n_meta_dim=[512, 128]):
            super(MetaMelanoma,self). __init__ ()
            self.enet = timm.create_model('tf_efficientnet_b0_ns',pretrained=True)
            self.n_meta_features = n_meta_features
            self.dropouts = nn.ModuleList([
            nn.Dropout(0.5) for _ in range(5)])
            in_ch = self.enet.classifier.in_features
            self.meta = nn.Sequential(
                nn.Linear(n_meta_features, n_meta_dim[0]),
                nn.BatchNorm1d(n_meta_dim[0]),
                Swish_Module(),
                nn.Dropout(p=0.3),
                nn.Linear(n_meta_dim[0], n_meta_dim[1]),
                nn.BatchNorm1d(n_meta_dim[1]),
                Swish_Module(),
                nn.Linear(n_meta_dim[1],9)
            )
            self.myfc = nn.Linear(in_ch, out_dim)
            self.enet.classifier = nn.Identity()
    def extract(self, x):
        x = self.enet(x)
        return x
    def forward(self, x,x_meta):
        x = self.extract(x).squeeze(-1).squeeze(-1)
        if self.n_meta_features > 0:
            x_meta = self.meta(x_meta)
            x = torch.cat((x, x_meta), dim=1)
        for i, dropout in enumerate(self.dropouts):
            if i == 0:
                out = self.myfc(dropout(x))
            else:
                out += self.myfc(dropout(x))
        out /= len(self.dropouts)

        return out

```

In order to train the network, I need Apex Nvidia library for optimizer and loss function [more](https://nvidia.github.io/apex/)  
Problem: To install Apex, we need old cuda version satisfying pytorch version. However, I am using a sever from my school, I can’t change cuda version. So anyone have any solution for this, maybe the same library or protocol?

---

<div class="post-metadata">

**Author:** ![ptrblck](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/ptrblck/32/1823_2.png) [@ptrblck](https://discuss.pytorch.org/u/ptrblck)\
**Post date:** [December 23, 2021, 8:53pm UTC](https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106/2 "2021-12-23T20:53:51Z")

</div>

`apex.amp` is deprecated so use the native mixed-precision training utility via `torch.cuda.amp`. You can find the examples [here](https://pytorch.org/docs/stable/notes/amp_examples.html#amp-examples).

---

<div class="post-metadata">

**Author:** ![Diaz65](https://discuss.pytorch.org/letter_avatar_proxy/v4/letter/d/e274bd/32.png) [@Diaz65](https://discuss.pytorch.org/u/Diaz65)\
**Post date:** [December 29, 2021, 9:35am UTC](https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106/3 "2021-12-29T09:35:06Z")

</div>

Thanks for sharing this info this is useful keep it up[.](https://www.skylightpaycard.me/)

---

<div class="post-metadata">

**Author:** ![Sang\_Dinh](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/sang_dinh/32/45006_2.png) [@Sang\_Dinh](https://discuss.pytorch.org/u/Sang_Dinh)\
**Post date:** [January 9, 2022, 6:46am UTC](https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106/4 "2022-01-09T06:46:12Z")

</div>

Thank you very much, that was the solution for me. I searched for someone who had the same model, but unfortunately, I am having some problems there with torch.cuda.amp. Could you suggest some projects using different inputs in same the model?

---

<div class="post-metadata">

**Author:** ![ptrblck](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/ptrblck/32/1823_2.png) [@ptrblck](https://discuss.pytorch.org/u/ptrblck)\
**Post date:** [January 9, 2022, 8:45pm UTC](https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106/5 "2022-01-09T20:45:42Z")

</div>

What kind of issues are you seeing using `torch.cuda.amp`?  
Since this util. is built into PyTorch, you don’t have to build any extensions manually using a locally installed CUDA toolkit as described in your first post.

---

<div class="post-metadata">

**Author:** ![MyCenturaHealth](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/mycenturahealth/32/46345_2.png) [@MyCenturaHealth](https://discuss.pytorch.org/u/MyCenturaHealth)\
**Post date:** [October 15, 2022, 10:49am UTC](https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106/7 "2022-10-15T10:49:47Z")

</div>

torch.amp provides convenience methods for mixed precision, where some operations use the torch.float32 (float) datatype and other operations use lower precision floating point datatype (lower\_precision\_fp)[:](https://mycenturahealth.site/) torch.float16 (half) or torch.bfloat16.

---

<div class="post-metadata">

**Author:** ![GrantElliot](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/grantelliot/32/45450_2.png) [@GrantElliot](https://discuss.pytorch.org/u/GrantElliot)\
**Post date:** [November 7, 2022, 8:17pm UTC](https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106/8 "2022-11-07T20:17:59Z")

</div>

Thanks a lot[.](https://paybyplatema.site/) I will try and let here know how it went

---

<div class="post-metadata">

**Author:** ![SamuelChukweze](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/samuelchukweze/32/62918_2.png) [@SamuelChukweze](https://discuss.pytorch.org/u/SamuelChukweze)\
**Post date:** [August 5, 2023, 6:18am UTC](https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106/10 "2023-08-05T06:18:42Z")

</div>

Did it worked for you? If yes, can you also help me in this regard[.](https://ehallpass.us/login/) Thanks in advance.

---

<div class="post-metadata">

**Author:** ![HarryKane](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/harrykane/32/61642_2.png) [@HarryKane](https://discuss.pytorch.org/u/HarryKane)\
**Post date:** [August 11, 2023, 4:51pm UTC](https://discuss.pytorch.org/t/pytorch-different-input-within-stacking-ensemble-apex-library/140106/11 "2023-08-11T16:51:08Z")

</div>

I can help you in this regard[,](https://mostlyboating.com/do-canoes-tip-over-easily/) let me know if you need my assistance. I would be more than happy to help you out.
