读完这个主题后,我并不完全理解:神经网络中的“卷积”是否可以与简单的下采样或“锐化”功能相媲美?
你能把这个词分解成一个简单易懂的形象/类比吗?
编辑:在第一个答案之后改写:池化可以理解为权重矩阵的下采样吗?
machine-learning convolution neural-network deep-learning conv-neural-network
我想从 Tensorflow 对象检测 API 训练一个 ssd-inception-v2 模型。我想使用的训练数据集是一堆不同大小的裁剪图像,没有边界框,因为裁剪本身就是边界框。
我按照 create_pascal_tf_record.py 示例相应地替换了边界框和分类部分以生成 TFRecords,如下所示:
def dict_to_tf_example(imagepath, label):
image = Image.open(imagepath)
if image.format != 'JPEG':
print("Skipping file: " + imagepath)
return
img = np.array(image)
with tf.gfile.GFile(imagepath, 'rb') as fid:
encoded_jpg = fid.read()
# The reason to store image sizes was demonstrated
# in the previous example -- we have to know sizes
# of images to later read raw serialized string,
# convert to 1d array and convert to respective
# shape that image …Run Code Online (Sandbox Code Playgroud) image-processing computer-vision deep-learning conv-neural-network tensorflow
有时我对这两个术语感到困惑。所以,我要求澄清这一点。有人说“前馈网络”是典型的神经网络。如果那样的话,“前馈网络”意味着更大的范围,包括“全连接网络”?如果那样的话,RNN 或 CNN 是否也包含在“前馈网络”中?我猜不是..我希望有一个明确的描述。谢谢你。
我在 Python 中的 Keras 代码如下所示:
training_set = train_datagen.flow_from_directory('dataset/training_set',
target_size=(64, 64),
batch_size=32,
class_mode='binary')
Run Code Online (Sandbox Code Playgroud)
我不断收到此错误:
[WinError 3] 系统找不到指定的路径:'dataset/training_set'
我已经以各种方式确认这条路径是正确的,但它仍然会引发错误。请帮忙。
我在使用 Gensim 的 Doc2Vec 模型中的 most_similar 方法时遇到了麻烦。当我运行 most_similar 时,我只得到前 10 个标记文档的相似性(基于它们的标签——总是从 0-9)。对于此代码,我有 topn=5,但我使用了 topn=len(documents) 并且我仍然只获得前 10 个文档的相似度
标记文件:
tokenizer = RegexpTokenizer(r'\w+')
taggeddoc=[]
for index,wod in enumerate(model_data):
wordslist=[]
tagslist=[]
tokens = tokenizer.tokenize(wod)
td = TaggedDocument(gensim.utils.to_unicode(str.encode(' '.join(tokens))).split(), str(index))
taggeddoc.append(td)
documents=taggeddoc
Run Code Online (Sandbox Code Playgroud)
实例化模型:
model=gensim.models.Doc2Vec(documents, dm=0, dbow_words=1, iter=1, alpha=0.025, min_alpha=0.025, min_count=10)
Run Code Online (Sandbox Code Playgroud)
训练模型:
for epoch in range(100):
if epoch % 10 == 0:
print("Training epoch {}".format(epoch))
model.train(documents, total_examples=model.corpus_count, epochs=model.iter)
model.alpha -= 0.002
model.min_alpha = model.alpha
Run Code Online (Sandbox Code Playgroud)
问题在这里(我认为):
new = model_data[100].split()
new_vector = model.infer_vector(new)
sims = model.docvecs.most_similar([new_vector], topn=5) …Run Code Online (Sandbox Code Playgroud) 我正在尝试从以下Dense层获取权重:
x = Dense(1024)(Flatten()(previous_layer))
Run Code Online (Sandbox Code Playgroud)
如果我尝试执行以下操作:
x = Dense(1024)
weights = x.get_weights()
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我的理解是这些权重将是无用的,因为我们没有向该层提供任何输入。
但是,如果我尝试执行以下操作:
x = Dense(1024)(Flatten()(previous_layer))
weights = x.get_weights()
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为x现在是一个Tensor对象并且没有get_weights方法:
'Tensor' object has no attribute 'get_weights'
我究竟做错了什么?
machine-learning neural-network deep-learning keras tensorflow
我正在尝试使用估算器实现 DNN 分类器,如本教程所示: http //nbviewer.jupyter.org/gist/yufengg/7dd4170cc730ce418a1dcd141532ec6e
但是,每当我运行代码时,都会收到此冗长的错误消息:
回溯(最近一次通话):文件“/Users/vivekreddy/Desktop/NN/IRis Practice Estimators.py”,第 48 行,步数=1000)文件“/Library/Frameworks/Python.framework/Versions/2.7/lib /python2.7/site-packages/tensorflow/python/estimator/estimator.py", line 352, in train loss = self._train_model(input_fn, hooks, Saving_listeners) File "/Library/Frameworks/Python.framework/Versions/ 2.7/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py", line 888, in _train_model log_step_count_steps=self._config.log_step_count_steps) as mon_sess: File "/Library/Frameworks/Python.framework/ Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py", line 384, in MonitoredTrainingSession stop_grace_period_secs=stop_grace_period_secs) 文件"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 795 行,在init stop_grace_period_secs=stop_grace_period_secs) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 518 行,在init self._sess = _RecoverableSession(self._coordinated_creator) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 981 行,在init _WrappedSession 中。在里面(self, self._create_session()) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 986 行,在 _create_session 中返回 self._sess_creator.create_session() 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 675 行,在 create_session self .tf_sess = self._session_creator.create_session() 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 446 行,在create_session init_fn=self._scaffold.init_fn) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/session_manager.py”,第 275 …
我是 MXNet 的新手,我想知道是否有人知道如何微调 CNN 中的更多层,而不仅仅是 FC 层。我看到的所有示例都只在 FC 层上进行了微调。在 Keras 中,这可以轻松完成,并且可以微调除 FC 块以外的更多 ConvNet 块:https : //github.com/Hvass-Labs/TensorFlow-Tutorials/blob/master/10_Fine-Tuning.ipynb
如果我们只想微调 FC 块,我们将所有层的可训练性设置为 false: layer.trainable = False
如果我们想要微调除 FC 层以外的更多 ConnNet 块,我们将这些层的 layer.trainable=True 设置为: 在 Keras 中微调 ConvNet 块
我的问题是如何在 MXNet 中做类似的事情
我发现keras.backendor 中有很多相同的名称keras.layers,例如keras.backend.concatenate和keras.layers.Concatenate。我隐约知道一个是张量,另一个是层。但是,当代码太大时,那么多函数使我感到困惑,即张量或层。有人有解决这个问题的好主意吗?
我发现的一种方法是首先在一个函数中定义所有占位符,但是该函数将其视为变量可能会在最后返回层,而另一个函数将这一层视为变量可能会返回另一个变量。
我有一个大小为[100,70,42]的3D张量(批处理,seq_len,要素),我想通过使用基于线性变换的神经网络来获取大小为[100,1,1]的张量。在Pytorch中为线性)。
我已经实现了以下代码
class Network(nn.Module):
def __init__(self):
super(Network, self).__init__()
self.fc1 = nn.Linear(42, 120)
self.fc2 = nn.Linear(120,1)
def forward(self, input):
model = nn.Sequential(self.fc1,
nn.ReLU(),
self.fc2)
output = model(input)
return output
Run Code Online (Sandbox Code Playgroud)
但是,在训练后,这只会给我输出[100,70,1]的形状,这不是期望的形状。
谢谢!
neural-network dimensionality-reduction deep-learning pytorch tensor
deep-learning ×10
tensorflow ×5
python ×4
keras ×3
convolution ×1
doc2vec ×1
gensim ×1
keras-layer ×1
mxnet ×1
nlp ×1
python-2.7 ×1
pytorch ×1
spyder ×1
tensor ×1