假设* { margin: 0; padding: 0; box-sizing : border-box; }
body {
max-width: 400px;
margin: 0 auto;
font-family: 'Helvetica Neue', Helvetica, Tahoma, Arial, sans-serif;
}
.container {
padding: 50px;
background: rgb(121,68,160);
background: -moz-linear-gradient(left, rgba(121,68,160,1) 0%, rgba(86,93,181,1) 100%);
background: -webkit-linear-gradient(left, rgba(121,68,160,1) 0%,rgba(86,93,181,1) 100%);
background: linear-gradient(to right, rgba(121,68,160,1) 0%,rgba(86,93,181,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7944a0', endColorstr='#565db5',GradientType=1 );
}
h1 { margin-bottom: 15px; color: #EEE; }
.input { margin-bottom: 10px; }
.input:last-child { margin-bottom: 0; }
input, button {
font-size: 16px;
border: none;
width: 100%;
outline: 0;
font-family: 'Helvetica Neue', Helvetica, Tahoma, Arial, sans-serif;
padding: 10px 14px;
border-radius: 7px;
color: #FFF;
cursor: pointer;
}
input {
background: rgba(255,255,255,0.2);
}
button {
background: transparent;
border: 2px solid rgba(255,255,255,0.2);
color: rgba(255,255,255,0.45);
font-weight: bold;
}
::-webkit-input-placeholder {
color: #DDD;
}
::-moz-placeholder {
color: #DDD;
}
。
我创建了一个批处理:<div class="container">
<h1>User Login</h1>
<form action="#">
<div class="input">
<input type="text" placeholder="Username">
</div>
<div class="input">
<input type="password" placeholder="Password">
</div>
<div class="input" style="margin-top: 20px;">
<button>Login</button>
</div>
</form>
</div>
。假设我有一批字符,其中batch_size = 64
的大小为64,batch = np.zeros((self._batch_size,), dtype=np.int64)
将表示为batch = ['o', 'w', ....'s']
1-热矢量,大小为27。
那么,有没有什么方法可以使批处理仍然具有batch_size的形状而不是batch_size x vocabulary_size?
代码如下:
'o'
此返回批处理作为batch_size x vocabulary_size的维度。
[0,0, .... 0]
此代码返回太少指数的错误
有没有办法将数组大小指定为batch = np.zeros((self._batch_size,), dtype=np.int64)
temp1 = list()
for b in range(self._batch_size):
temp = np.zeros(shape=(vocabulary_size), dtype=np.int64)
temp[char2id(self._text[self._cursor[b]])] = 1.0
temp1.append(temp)
self._cursor[b] = (self._cursor[b] + 1) % self._text_size
batch = np.asarray(list)
return batch
?
答案 0 :(得分:1)
在第一个块中,batch
到zeros
的初始化对您没有任何作用,因为batch
稍后会替换为asarray(temp1)
。 (注意我的更正)。 temp1
是一个1d数组(temp
)的列表,并生成一个2d arrray。
如果从batch=np.zeros((batch_size, vocab_size))
开始,则在第二个中,您将避免索引编号错误。
您不能使用None
而不是实数。 None
在这里不像广播newaxis
那样有效。通过分配新的更大索引,数组不会增长。即使用于索引np.zeros((batchsize,))[:,None]
,结果也是2d,shape(batchsize,1)。
为什么要一个1d数组?可以构造一个包含数组(或任何其他对象)的dd对象的1d数组,但是出于许多目的,它只是一个美化的列表。