小编Aks*_*gal的帖子

基于具有一组迭代步骤的列表迭代列表

我想根据存储在另一个列表中的可变迭代次数和作为整数存储的恒定跳过次数来迭代给定列表。

假设我有 3 件事 -

  1. l - 我需要迭代(或过滤)的列表
  2. w - 一个列表,告诉我休息前要迭代多少项
  3. k - 一个整数,告诉我在每组迭代之间跳过多少个元素。

换个说法,w 告诉要进行多少次迭代,在每组迭代之后,k 告诉要跳过多少个元素。

所以,如果 w = [4,3,1] 并且 k = 2。然后在给定的列表(长度为 14)上,我想迭代前 4 个元素,然后跳过 2,然后是接下来的 3 个元素,然后跳过 2,然后下一个元素,然后跳过 2。

另一个例子,

#Lets say this is my original list

l = [6,2,2,5,2,5,1,7,9,4]
w = [2,2,1,1]
k = 1
Run Code Online (Sandbox Code Playgroud)

基于 w 和 k,我想迭代为 -

6 -> Keep # w says keep 2 elements 
2 -> Keep
2 -> Skip # k says skip 1
5 -> Keep # w …
Run Code Online (Sandbox Code Playgroud)

python

8
推荐指数
1
解决办法
227
查看次数

pruned(text): 预期参数#0(从零开始)是张量;得到清单(['烤蚂蚁是哥伦比亚的一种流行小吃'])

这是使用 EMLo 获取嵌入的代码。

import tensorflow_hub as hub

import tensorflow as tf

elmo = hub.Module("https://tfhub.dev/google/elmo/2")

x = ["Roasted ants are a popular snack in Columbia"]


embeddings = elmo(x, signature="default", as_dict=True)["elmo"] # To Extract ELMo features 

embeddings.shape
Run Code Online (Sandbox Code Playgroud)

我收到这种类型的错误,type error : pruned(text): expected argument #0(zero-based) to be a Tensor; got list (['Roasted ants are a popular snack in Columbia'])

python tensorflow

5
推荐指数
1
解决办法
578
查看次数

将 Markdown 格式的表格从 SO 复制到 pandas 剪贴板

pd.read_clipboard()当在 SO 上发布的数据在列之间有空格时,我很乐意使用( '\s\s+')

然而,如何将下表直接复制到 pandas 数据框呢?

记录ID 共享于
(UNIX 时间戳)
股份类型 分享给用户
1 1611872850 共享 用户A
2 1611872851 共享 用户B
3 1611872852 共享 用户B
1 1611872853 共享已删除 用户A

我尝试找到一些可以帮助我解决这个问题的东西,而我最接近复制此数据框的是使用以下内容,其中有很多不必要的列和不必要的空间,我稍后必须使用它们来df.col.str.strip()清理。

#Clicking edit on the question, and copying the underlying markdown
pd.read_clipboard('|')
Run Code Online (Sandbox Code Playgroud)
   Unnamed: 0   Record ID    Shared On<br/>(UNIX timestamp)    \
0         NaN  ------------                      ------------   
1         NaN   1                                 1611872850    
2         NaN   2                                 1611872851    
3         NaN   3                                 1611872852    
4         NaN   1                                 1611872853    

    Share type       Share To User   Unnamed: 5 …
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
1
解决办法
497
查看次数

如何使用 Keras 实现 CNN-LSTM

我正在尝试实现一个 CNN-LSTM,对代表帕金森病/健康控制者语音的梅尔谱图图像进行分类。我正在尝试使用 LSTM 模型实现一个预先存在的模型 (DenseNet-169),但是我遇到了以下错误:ValueError: Input 0 of layer zero_padding2d is incompatible with the layer: expected ndim=4, found ndim=3. Full shape received: [None, 216, 1].任何人都可以告诉我哪里出了问题吗?

import librosa
import os
import glob
import IPython.display as ipd
from pathlib import Path
import timeit
import time, sys

%matplotlib inline
import matplotlib.pyplot as plt
import librosa.display

import pandas as pd
from sklearn import datasets, linear_model
from sklearn.model_selection import train_test_split
from matplotlib import pyplot as plt
import numpy as np
import cv2
import …
Run Code Online (Sandbox Code Playgroud)

python conv-neural-network lstm keras tensorflow

5
推荐指数
1
解决办法
1万
查看次数

如何使用 tfa.layers.PoincareNormalize 实现庞加莱嵌入?

我正在尝试为我的分层数据实现 Poincar\xc3\xa9 嵌入,如 Facebook 的一篇论文(链接)中所讨论的。您可以在此处找到 Poincar\xc3\xa9 嵌入的更易于理解的解释。

\n

根据这篇论文,我在这里这里找到了 Tensorflow 的一些实现,以及Tensorflow Addons 中的tfa.layers.PoincareNormalize。后者甚至有上面提到的论文的链接,这让我相信这对我来说可能是一个很好的起点。然而,到目前为止,我没有成功实现 tfa.layers.PoincareNormalize,除了我链接的 API 页面上的一些通用信息之外,也找不到任何文档。

\n

有谁知道应该如何实现该层以提供论文中讨论的双曲空间中的嵌入?我的出发点是使用标准嵌入层的实现,如下所示(它实际上是分类变量的实体嵌入)?

\n
input = Input(shape=(1, ))\nmodel = Embedding(input_dim=my_input_dim, \n                    output_dim=embed_dim, name="my_feature")(input)\nmodel = Reshape(target_shape=(embed_dim, ))(model)\nmodel = Dense(1)(model)\nmodel = Activation(\'sigmoid\')(model)\n
Run Code Online (Sandbox Code Playgroud)\n

由于输入不同,仅用 tfa.layers.PoincareNormalize 替换 Embedding 层是行不通的。我假设它可以放置在嵌入层之后的某个位置,以便对于反向传播步骤,“值”在每次迭代时都投影到双曲空间中,但到目前为止也没有运气。

\n

python embedding hyperbolic-function tensorflow

4
推荐指数
1
解决办法
769
查看次数

Fancyimpute pip安装错误

我正在尝试在anaconda py3.6上安装Fancyimpute,赢得10,64位.得到以下错误.

Collecting fancyimpute
Requirement already satisfied: downhill in c:\anaconda3\lib\site-packages (from fancyimpute)
Requirement already satisfied: numpy>=1.10 in c:\anaconda3\lib\site-packages (from fancyimpute)
Requirement already satisfied: scikit-learn>=0.17.1 in c:\anaconda3\lib\site-packages (from fancyimpute)
Requirement already satisfied: theano in c:\anaconda3\lib\site-packages (from fancyimpute)
Requirement already satisfied: scipy in c:\anaconda3\lib\site-packages (from fancyimpute)
Requirement already satisfied: climate in c:\anaconda3\lib\site-packages (from fancyimpute)
Requirement already satisfied: knnimpute in c:\anaconda3\lib\site-packages (from fancyimpute)
Requirement already satisfied: six in c:\anaconda3\lib\site-packages (from fancyimpute)
Collecting cvxpy (from fancyimpute)
  Using cached cvxpy-0.4.10-py3-none-any.whl
Requirement already satisfied: click in …
Run Code Online (Sandbox Code Playgroud)

compiler-errors pip python-3.x anaconda fancyimpute

3
推荐指数
1
解决办法
4733
查看次数

python 中单词的动名词形式

我想获得字符串的动名词形式。我还没有找到调用库来获取动名词的直接方法。

我应用了以“ing”结尾的单词的规则,但是因为异常导致我收到了一些错误。然后,我检查 cmu 单词以确保生成的动名词单词正确。代码如下:

import cmudict
import re

ing= 'ing'
vowels = "aeiou"
consonants = "bcdfghjklmnpqrstvwxyz"
words=['lead','take','hit','begin','stop','refer','visit']
cmu_words= cmudict.words()
g_w = []

for word in words:
    if word[-1] == 'e':
        if word[:-1] + ing in cmu_words:
            g_w.append(word[:-1] + ing)             
    elif count_syllables(word) == 1 and word[-2] in vowels and word[-1] in consonants:
        if word.__len__()>2 and word[-3] in vowels:
            if word + ing in cmu_words:
                g_w.append(word + ing)                 
        else:
            if word + word[-1] + ing in cmu_words:
                g_w.append(word + word[-1] + ing) …
Run Code Online (Sandbox Code Playgroud)

python nlp porter-stemmer nltk

3
推荐指数
1
解决办法
1346
查看次数

1D CNN、2D CNN 和 3D CNN 输入形状之间的差异

我第一次构建用于图像分类的 CNN 模型,我对每种类型(1D CNN、2D CNN、3D CNN)的输入形状以及如何固定滤波器中的滤波器数量感到有点困惑。卷积层。我的数据是 100x100x30,其中 30 是特征。这是我使用函数式 API Keras 编写的 1D CNN 文章:

def create_CNN1D_model(pool_type='max',conv_activation='relu'):
    input_layer = (30,1)
    conv_layer1 = Conv1D(filters=16, kernel_size=3, activation=conv_activation)(input_layer)
    max_pooling_layer1 = MaxPooling1D(pool_size=2)(conv_layer1)

    conv_layer2 = Conv1D(filters=32, kernel_size=3, activation=conv_activation)(max_pooling_layer1)
    max_pooling_layer2 = MaxPooling1D(pool_size=2)(conv_layer2)

    flatten_layer = Flatten()(max_pooling_layer2)
    dense_layer = Dense(units=64, activation='relu')(flatten_layer)

    output_layer = Dense(units=10, activation='softmax')(dense_layer)
    CNN_model = Model(inputs=input_layer, outputs=output_layer)
    return CNN_model
CNN1D = create_CNN1D_model()
CNN1D.compile(loss = 'categorical_crossentropy', optimizer = "adam",metrics = ['accuracy'])
Trace = CNN1D.fit(X, y, epochs=50, batch_size=100)
Run Code Online (Sandbox Code Playgroud)

然而,在尝试通过将 Conv1D、Maxpooling1D 更改为 Conv2D 和 Maxpooling2D 来尝试 2D CNN 模型时,我收到以下错误: …

python conv-neural-network keras max-pooling functional-api

3
推荐指数
1
解决办法
6860
查看次数

Tensorflow softmax 不忽略掩蔽值

我正在恢复这个 github问题,因为我相信它是有效的并且需要解释。tf.keras 有一个掩码层,其文档如下:

对于输入张量中的每个时间步长(张量中的维度#1),如果该时间步长的输入张量中的所有值都等于 mask_value,则该时间步长将在所有下游层中被屏蔽(跳过)(只要它们支持掩蔽)。

如果任何下游层不支持掩码但收到这样的输入掩码,则会引发异常。


# create padded zeros and change two valid entries.
inputs = np.zeros([1,5])
inputs[0,1] = 0.5
inputs[0,2] = 0.1
inputs = tf.Variable(inputs)
masked_inputs = tf.keras.layers.Masking(mask_value=0.0)(inputs)
with_masking = tf.keras.layers.Softmax()(masked_inputs)
without_masking = tf.keras.layers.Softmax()(inputs)
Run Code Online (Sandbox Code Playgroud)

两个结果几乎相同

with_masking
<tf.Tensor: shape=(1, 5), dtype=float32, numpy=
array([[0.1737954 , 0.28654018, 0.19207363, 0.1737954 , 0.1737954 ]],
      dtype=float32)>
without_masking
<tf.Tensor: shape=(1, 5), dtype=float64, numpy=array([[0.1737954 , 0.28654017, 0.19207362, 0.1737954 , 0.1737954 ]])>
Run Code Online (Sandbox Code Playgroud)

预期行为

我希望只对有效条目进行 softmax 处理,类似于

#Assign one large value 
inputs = np.zeros([1,2])
inputs[0,0] = …
Run Code Online (Sandbox Code Playgroud)

python deep-learning keras tensorflow

1
推荐指数
1
解决办法
2050
查看次数

将列表列表转换为二维 numpy 数组

我有一个列表 X,其中包含列表列表的列表...例如

X = [ [[], [], [], []], [[], [] ,[], []] ]
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 将此列表(X)转换为 numpy 数组时 np.array(),我得到以下结果:

array([list([[],[],[],[]]),
list([list([[],[],[],[]]),....) 
Run Code Online (Sandbox Code Playgroud)

这个列表是双关语*。

我在这里做错了什么?我只需要它以正常的数组形式,这样我就可以以列表不允许的方式索引它(即array[:,1]

python numpy python-3.x

0
推荐指数
1
解决办法
1万
查看次数

torch.einsum 如何执行这个 4D 张量乘法?

我遇到了一个用于torch.einsum计算张量乘法的代码。我能够理解低阶张量的工作原理,但是不能理解 4D 张量的工作原理,如下所示:

import torch

a = torch.rand((3, 5, 2, 10))
b = torch.rand((3, 4, 2, 10))

c = torch.einsum('nxhd,nyhd->nhxy', [a,b])

print(c.size())

# output: torch.Size([3, 2, 5, 4])
Run Code Online (Sandbox Code Playgroud)

我需要以下方面的帮助:

  1. 这里执行的操作是什么(解释矩阵如何相乘/转置等)?
  2. torch.einsum在这种情况下实际上有好处吗?

python matrix-multiplication pytorch tensor

0
推荐指数
1
解决办法
2224
查看次数

为什么python中的多行需要print()?

multiline = "Life is too short\nYou need python."
 
multiline #1
#'Life is too short\nYou need python.'

print(multiline) #2
#Life is too short
#You need python.
Run Code Online (Sandbox Code Playgroud)

我不知道为什么#1 的结果不能显示#2 的相同结果。

python

-3
推荐指数
1
解决办法
48
查看次数