當前位置: 首頁>>代碼示例>>Python>>正文


Python numpy.convolve方法代碼示例

本文整理匯總了Python中numpy.convolve方法的典型用法代碼示例。如果您正苦於以下問題:Python numpy.convolve方法的具體用法?Python numpy.convolve怎麽用?Python numpy.convolve使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在numpy的用法示例。


在下文中一共展示了numpy.convolve方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: compute_fitness

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def compute_fitness(genome, net, episodes, min_reward, max_reward):
    m = int(round(np.log(0.01) / np.log(genome.discount)))
    discount_function = [genome.discount ** (m - i) for i in range(m + 1)]

    reward_error = []
    for score, data in episodes:
        # Compute normalized discounted reward.
        dr = np.convolve(data[:,-1], discount_function)[m:]
        dr = 2 * (dr - min_reward) / (max_reward - min_reward) - 1.0
        dr = np.clip(dr, -1.0, 1.0)

        for row, dr in zip(data, dr):
            observation = row[:8]
            action = int(row[8])
            output = net.activate(observation)
            reward_error.append(float((output[action] - dr) ** 2))

    return reward_error 
開發者ID:CodeReclaimers,項目名稱:neat-python,代碼行數:20,代碼來源:evolve.py

示例2: test_conv

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def test_conv(mode, method):
    reload(convolution)
    # time vector for stimulus (long)
    stim_dur = 0.5  # seconds
    tsample = 0.001 / 1000
    t = np.arange(0, stim_dur, tsample)

    # stimulus (10 Hz anondic and cathodic pulse train)
    stim = np.zeros_like(t)
    stim[::1000] = 1
    stim[100::1000] = -1

    # kernel
    _, gg = gamma(1, 0.005, tsample)

    # make sure conv returns the same result as np.convolve for all modes:
    npconv = np.convolve(stim, gg, mode=mode)
    conv = convolution.conv(stim, gg, mode=mode, method=method)
    npt.assert_equal(conv.shape, npconv.shape)
    npt.assert_almost_equal(conv, npconv)

    with pytest.raises(ValueError):
        convolution.conv(gg, stim, mode="invalid")
    with pytest.raises(ValueError):
        convolution.conv(gg, stim, method="invalid") 
開發者ID:pulse2percept,項目名稱:pulse2percept,代碼行數:27,代碼來源:test_convolution.py

示例3: testCausalConv

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def testCausalConv(self):
        """Tests that the op is equivalent to a numpy implementation."""
        x1 = np.arange(1, 21, dtype=np.float32)
        x = np.append(x1, x1)
        x = np.reshape(x, [2, 20, 1])
        f = np.reshape(np.array([1, 1], dtype=np.float32), [2, 1, 1])
        out = causal_conv(x, f, 4)

        with self.test_session() as sess:
            result = sess.run(out)

        # Causal convolution using numpy
        ref = np.convolve(x1, [1, 0, 0, 0, 1], mode='valid')
        ref = np.append(ref, ref)
        ref = np.reshape(ref, [2, 16, 1])

        self.assertAllEqual(result, ref) 
開發者ID:ibab,項目名稱:tensorflow-wavenet,代碼行數:19,代碼來源:test_causal_conv.py

示例4: __box_filter_convolve

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def __box_filter_convolve(self, path, window_size):
        """
        An internal method that applies *normalized linear box filter* to path w.r.t averaging window
        
        Parameters:
        
        * path (numpy.ndarray): a cumulative sum of transformations
        * window_size (int): averaging window size
        """
        # pad path to size of averaging window
        path_padded = np.pad(path, (window_size, window_size), "median")
        # apply linear box filter to path
        path_smoothed = np.convolve(path_padded, self.__box_filter, mode="same")
        # crop the smoothed path to original path
        path_smoothed = path_smoothed[window_size:-window_size]
        # assert if cropping is completed
        assert path.shape == path_smoothed.shape
        # return smoothed path
        return path_smoothed 
開發者ID:abhiTronix,項目名稱:vidgear,代碼行數:21,代碼來源:stabilizer.py

示例5: _zseries_mul

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def _zseries_mul(z1, z2):
    """Multiply two z-series.

    Multiply two z-series to produce a z-series.

    Parameters
    ----------
    z1, z2 : 1-D ndarray
        The arrays must be 1-D but this is not checked.

    Returns
    -------
    product : 1-D ndarray
        The product z-series.

    Notes
    -----
    This is simply convolution. If symmetric/anti-symmetric z-series are
    denoted by S/A then the following rules apply:

    S*S, A*A -> S
    S*A, A*S -> A

    """
    return np.convolve(z1, z2) 
開發者ID:ryfeus,項目名稱:lambda-packs,代碼行數:27,代碼來源:chebyshev.py

示例6: convolve_beam

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def convolve_beam(self, current, wake):
        """
        convolve wake with beam current

        :param current: current[:, 0] - s in [m], current[:, 1] - current in [A]
        :param wake: wake function in form: wake(s, b, t, period)
        :return:
        """
        s_shift = current[0, 0]
        current[:, 0] -= s_shift
        s = current[:, 0]

        step = (s[-1] - s[0]) / (len(s) - 1)
        q = current[:, 1] / speed_of_light

        w = np.array(
            [wake(si, b=self.b, t=self.t, period=self.period) for si in s]) * 377 * speed_of_light / (
                    4 * np.pi)
        wake = np.convolve(q, w) * step
        s_new = np.cumsum(np.ones(len(wake))) * step
        wake_kick = np.vstack((s_new, wake))
        return wake_kick.T 
開發者ID:ocelot-collab,項目名稱:ocelot,代碼行數:24,代碼來源:physics_proc.py

示例7: forecast3

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def forecast3(self, step_ahead=1, start=None): #, end=None):
        '''another try for h-step ahead forecasting
        '''

        from .arima_process import arma2ma, ArmaProcess
        p,q = self.nar, self.nma
        k=0
        ar = self.params[k:k+p]
        ma = self.params[k+p:k+p+q]
        marep = arma2ma(ar,ma, start)[step_ahead+1:]  #truncated ma representation
        errors = self.error_estimate
        forecasts = np.convolve(errors, marep)
        return forecasts#[-(errors.shape[0] - start-5):] #get 5 overlapping for testing




    #copied from arima.ARIMA
    #TODO: is this needed as a method at all?
    #JP: not needed in this form, but can be replace with using the parameters 
開發者ID:birforce,項目名稱:vnpy_crypto,代碼行數:22,代碼來源:arma_mle.py

示例8: create_harmonic_mask

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def create_harmonic_mask(self, melody_signal):
        """
        Creates a harmonic mask from the melody signal. The mask is smoothed to reduce 
        the effects of discontinuities in the melody synthesizer.
        """
        stft = np.abs(melody_signal.stft())

        # Need to threshold the melody stft since the synthesized
        # F0 sequence overtones are at different weights.
        stft = stft ** self.compression
        stft /= np.maximum(np.max(stft, axis=1, keepdims=True), 1e-7)

        mask = np.empty(self.stft.shape)

        # Smoothing the mask row-wise using a low-pass filter to
        # get rid of discontuinities in the mask.
        kernel = np.full((1, self.smooth_length), 1 / self.smooth_length)
        for ch in range(self.audio_signal.num_channels):
            mask[..., ch] = convolve(stft[..., ch], kernel)
        return mask 
開發者ID:nussl,項目名稱:nussl,代碼行數:22,代碼來源:melodia.py

示例9: smooth_curve

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def smooth_curve(x):
    """用於使損失函數的圖形變圓滑
    參考:http://glowingpython.blogspot.jp/2012/02/convolution-with-numpy.html
    """
    window_len = 11
    s = np.r_[x[window_len-1:0:-1], x, x[-1:-window_len:-1]]
    w = np.kaiser(window_len, 2)
    y = np.convolve(w/w.sum(), s, mode='valid')
    return y[5:len(y)-5] 
開發者ID:wdxtub,項目名稱:deep-learning-note,代碼行數:11,代碼來源:util.py

示例10: preproc_file

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def preproc_file(deriv_dir, sub_metadata, deriv_bold_fname=deriv_bold_fname):
    deriv_bold = deriv_dir.ensure(deriv_bold_fname)
    with open(str(sub_metadata), 'r') as md:
        bold_metadata = json.load(md)
    tr = bold_metadata["RepetitionTime"]
    # time_points
    tp = 200
    ix = np.arange(tp)
    # create voxel timeseries
    task_onsets = np.zeros(tp)
    # add activations at every 40 time points
    # waffles
    task_onsets[0::40] = 1
    # fries
    task_onsets[3::40] = 1.5
    # milkshakes
    task_onsets[6::40] = 2
    signal = np.convolve(task_onsets, spm_hrf(tr))[0:len(task_onsets)]
    # csf
    csf = np.cos(2*np.pi*ix*(50/tp)) * 0.1
    # white matter
    wm = np.sin(2*np.pi*ix*(22/tp)) * 0.1
    # voxel time series (signal and noise)
    voxel_ts = signal + csf + wm
    # a 4d matrix with 2 identical timeseries
    img_data = np.array([[[voxel_ts, voxel_ts]]])
    # make a nifti image
    img = nib.Nifti1Image(img_data, np.eye(4))
    # save the nifti image
    img.to_filename(str(deriv_bold))

    return deriv_bold 
開發者ID:HBClab,項目名稱:NiBetaSeries,代碼行數:34,代碼來源:conftest.py

示例11: smooth

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def smooth(data, winLen=11, window='hanning', check=False):
    """
    Smooth 1D data using window function and length.

    :Parameters:
        #. data (numpy.ndarray): the 1D numpy data.
        #. winLen (integer): the smoothing window length.
        #. window (str): The smoothing window type. Can be anything among
           'flat', 'hanning', 'hamming', 'bartlett' and 'blackman'.
        #. check (boolean): whether to check arguments before smoothing data.

    :Returns:
        #. smoothed (numpy.ndarray): the smoothed 1D data array.
    """
    if check:
        assert isinstance(data, np.ndarray), Logger.error("data must be numpy.ndarray instance")
        assert len(data.shape)==1, Logger.error("data must be of 1 dimensions")
        assert is_integer(winLen), LOGGER.error("winLen must be an integer")
        winLen = int(bin)
        assert winLen>=3, LOGGER.error("winLen must be bigger than 3")
        assert data.size < winLen, LOGGER.error("data needs to be bigger than window size.")
        assert window in ['flat', 'hanning', 'hamming', 'bartlett', 'blackman'], LOGGER.error("window must be any of ('flat', 'hanning', 'hamming', 'bartlett', 'blackman')")
    # compute smoothed data
    s=np.r_[data[winLen-1:0:-1],data,data[-1:-winLen:-1]]
    if window == 'flat': #moving average
        w=np.ones(winLen,'d')
    else:
        w=eval('np.'+window+'(winLen)')
    S=np.convolve(w/w.sum(),s, mode='valid')
    # get data and return
    f = winLen/2
    t = f-winLen+1
    return S[f:t] 
開發者ID:bachiraoun,項目名稱:fullrmc,代碼行數:35,代碼來源:Collection.py

示例12: smooth_reward_curve

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def smooth_reward_curve(x, y):
    halfwidth = int(np.ceil(len(x) / 60))  # Halfwidth of our smoothing convolution
    k = halfwidth
    xsmoo = x
    ysmoo = np.convolve(y, np.ones(2 * k + 1), mode='same') / np.convolve(np.ones_like(y), np.ones(2 * k + 1),
        mode='same')
    return xsmoo, ysmoo 
開發者ID:Hwhitetooth,項目名稱:lirpg,代碼行數:9,代碼來源:plot.py

示例13: nSMA

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def nSMA(values, window):
    weigths = np.repeat(1.0, window)/window
    smas = np.convolve(values, weigths, 'valid')
    return smas # as a numpy array

########EMA CALC ADDED############ 
開發者ID:OpenTrading,項目名稱:OpenTrader,代碼行數:8,代碼來源:OTPpnAmgc.py

示例14: ExpMovingAverage

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def ExpMovingAverage(values, window):
    weights = np.exp(np.linspace(-1., 0., window))
    weights /= weights.sum()
    a =  np.convolve(values, weights, mode='full')[:len(values)]
    a[:window] = a[window]
    return a 
開發者ID:OpenTrading,項目名稱:OpenTrader,代碼行數:8,代碼來源:OTPpnAmgc.py

示例15: _ecg_findpeaks_promac_convolve

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import convolve [as 別名]
def _ecg_findpeaks_promac_convolve(signal, peaks, sampling_rate=1000):
    x = np.zeros(len(signal))
    x[peaks] = 1

    # Because a typical QRS is roughly defined within about 100ms
    sd = sampling_rate / 10
    shape = scipy.stats.norm.pdf(np.linspace(-sd * 4, sd * 4, num=int(sd * 8)), loc=0, scale=sd)

    return np.convolve(x, shape, "same")  # Return convolved


# =============================================================================
# NeuroKit
# ============================================================================= 
開發者ID:neuropsychology,項目名稱:NeuroKit,代碼行數:16,代碼來源:ecg_findpeaks.py


注:本文中的numpy.convolve方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。