问题描述
借鉴GoogleNet和NiN的思想,我想在Inception最后在添加两个卷积全连接层,但是这样子写会报错,说是final这层的权重没有在GPU中。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5fe23adfe42d5781a07b47581ad96804.png)
问题解决
分为两步:
(1) 手动把self.final层的参数加入到GPU中
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/847323ffd18e1f88ebc27f333540e1da.png)
(2)把net先手动加入到GPU中,并且先在GPU中跑一下,因为只有在GPU中运行了一下,这个self.final才会到GPU中。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e629148f7e01110a94592ddd03b931e1.png)
一开始实例化一个模型是不会把forward函数里面定义的层加进去的
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1e5b02eb770c234c2dfba66b79f5fc26.png)
只有跑了才会加进入
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6cfbef628f7e23b53fe1746a15d4faed.png)
所以把X加入到GPU中,然后把模型加入到GPU中先预热一下,自己定义的层就会出现在模型中了。