使用张量作为输入构建 MLP
2019-7-29 17:2:52
收藏:0
阅读:68
评论:1
我正在创建一个具有一个隐藏层的简单神经网络进行分类。 我的输入数据集已经准备好并以 .t7 文件保存。
input =
{
data : DoubleTensor - size: 1400x1002x3
label : DoubleTensor - size: 1400
}
这是我创建的 MLP 的代码
-------------------------神经网络-------------------------
net = nn.Sequential()
inputs= "?" ; outputs=70; HUs= 25 --参数及问题在于我需要输入 "?"
--我应该写什么?当时我有上面描述的输入。
net:add( nn.Linear(inputs, HUs) )
net:add(nn.ReLU()) -- 激活函数
net:add( nn.Linear(HUs, outputs) ) -- 70 输出:mpeg7 的类别
----------------------------------------------------------------------
print('NN : ' .. net:__tostring())
-------------------------损失函数-------------------------
criterion=nn.ClassNLLCriterion() -- 负对数似然损失函数
print('Duree NN : ' .. os.time())
---------------------- 加载数据 ---------------------------------
trainset=torch.load('TrainSetTable.t7')
------------------------训练神经网络----------------------
trainer=nn.StochasticGradient(net,criterion)
trainer.learningRate = 0.0005
trainer.maxIteration = 10
print('------------------------------------------------------------------------')
print('training epoch : ' .. trainer.maxIteration .. ', learning rate : ' .. trainer.learningRate .. ' , learning rate decay : ' .. trainer.learningRateDecay)
print('------------------------------------------------------------------------')
trainer:train(trainset)
print('Duree Training : ' .. os.time())
net=net:double()
net:clearState()
torch.save('TrainedNN/NN_Mpeg7_10Epoch.t7',net)
print('Duree sauvegarde : ' .. os.time())
如何表明我的 NN 的输入是张量?
输入数据(全部)是大小为:1400x1002x3 的张量包含我的形状:我正在处理的数据集为 mpeg7,其中包含 1400 个形状,对于我而言每个形状是一个 1002x3 的矩阵。 input.label 是一个大小为 1400 的张量,其中包含每个形状的相应标签。
我是使用 torch 和 lua 的新手…但是,像我上面的代码一样,在构建之后将数据导入并馈送到 NN 中。那么,在加载数据之前,我应该写什么作为 NN 的输入?如何让它“理解”我将要以这种形式提供数据:
trainset=torch.load('TrainSetTable.t7')
trainset.data=trainset.data:view(980,1,1002,3)
{One_train_contour = DoubleTensor - 1x1002x3 }
总共有
{
data(train_contours) : DoubleTensor - 980x1002x3
label : DoubleTensor - size: 1400
}
我有
{
data(test_contours) : DoubleTensor - 420x1002x3
label : DoubleTensor - size: 1400
}
在这一行中,我应该写什么?inputs= "?"
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

将下面翻译成中文并且保留原本的 markdown 格式
重要的是在您提供任何数据之前定义神经网络的输入层。请注意,NN的输入与样本数(在分类网络中)无关,而完全取决于数据每个样本的配置。
我不熟悉mpeg,但如果mpeg的每个样本都有32x32的维度,则您的输入应为1024(与MNIST数据集的情况相同)
来源:http://yann.lecun.com/exdb/mnist/