我尝试了解LSTM以及如何使用Keras构建它们.我发现,主要有4种运行RNN的模式(图中右边4种)
图片来源:Andrej Karpathy
现在我想知道他们每个人的简约代码片段在Keras中会是什么样子.所以像
model = Sequential()
model.add(LSTM(128, input_shape=(timesteps, data_dim)))
model.add(Dense(1))
Run Code Online (Sandbox Code Playgroud)
对于4个任务中的每个任务,可能只需要一点点解释.
machine-learning neural-network deep-learning keras recurrent-neural-network
我已经在 pytorch 上安装了 cuda
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
Run Code Online (Sandbox Code Playgroud)
但是,似乎没有安装 nvcc。例如nvcc -V,如果我想使用,我会收到未找到 nvcc 的错误,我应该使用sudo apt install nvidia-cuda-toolkit.
Can I do this安装它(我不想只是尝试然后发现它不起作用/弄乱了整个cuda 设置)。这是错误还是预期行为?
我使用的是 Ubuntu 18.04 并且有 cuda 10.2
这可能看起来微不足道,但我真的找不到谷歌的任何东西,所以我在这里问:这里提到的"Android Studio终端窗格"是什么(在"将配置文件添加到项目中"), https://开发人员.google.com/cloud-messaging/android/client 我在哪里可以找到它?
我想在Google Developer Console中提交我的应用测试版,但它被拒绝了.Google发给我的邮件说,原因是Google Pay使用不当.问题是,我根本不在我的应用程序中使用Google Pay.此外,当我在清单上搜索该行时,Google表示我不应该在我的应用程序中删除不想使用Google Pay(
<meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true"/>
),我找不到任何东西.我也不想出售任何应用程序内购买并在开发控制台中这样说,该应用程序完全免费.
该模块的build.gradle是:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig {
applicationId 'com.myproject'
minSdkVersion 14
targetSdkVersion 22
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
}
}
dependencies {
compile project(':copyoflibrary')
compile project(':copyofHoloGraphLibrary')
compile project(':multiStateToggleButton')
compile 'com.android.support:support-v4:22.0.0'
compile 'com.google.code.gson:gson:2.3'
compile 'com.android.support:appcompat-v7:22.0.0'
compile "com.google.android.gms:play-services:7.5.+"
compile files('libs/commons-lang3-3.3.2.jar')
compile 'com.android.support:cardview-v7:22.0.+'
compile 'com.pkmmte.view:circularimageview:1.1'
}
Run Code Online (Sandbox Code Playgroud) 我尝试编写一个介绍,向用户展示他们可以长按不同的ListView条目。为了做到这一点,我将食指向上移动到这些条目之一,然后单击。动画结束后,我希望它再次处于初始位置,以便我可以重播动画。我getLocationInWindow在动画之前尝试过,然后setTop()在动画结束时尝试过,但它没有做任何事情。仅仅反转动画也不起作用,因为这只会导致无限循环onAnimationEnd调用。这是我没有尝试的代码:
//Animations
tapfFinger.animate().translationYBy(-StaticHelper.dpToPx(95)).setDuration(1500).setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
super.onAnimationStart(animation);
textViewLongClickDemo.setVisibility(View.VISIBLE);
textViewLongClickDemo.setAlpha(0);
textViewLongClickDemo.animate().setDuration(800).alpha(1);
}
@Override
public void onAnimationEnd(final Animator animation) {
super.onAnimationEnd(animation);
tapfFinger.setImageResource(R.drawable.ic_tap);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
imageViewLongClickDemoContextMenu.setVisibility(View.VISIBLE);
tapfFinger.setVisibility(View.GONE);
textViewLongClickDemo.setVisibility(View.INVISIBLE);
demoListEntry.setBackgroundColor(getResources().getColor(R.color.tranparent));
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
imageViewLongClickDemoContextMenu.setVisibility(View.INVISIBLE);
tapfFinger.setImageResource(R.drawable.ic_tap_before);
tapfFinger.setVisibility(View.VISIBLE);
playLongClickDemoAnimations();
}
}, 1200);
}
}, 1200);
}
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Keras生成带有LSTM RNN的学习时间序列,因此我想预测一个数据点,并将其作为输入反馈以预测下一个,依此类推,以便我可以实际生成时间序列(例如给出2000个数据点,预测下一个2000)我正在尝试这样,但测试得分RMSE是1.28,预测基本上是一条直线
# LSTM for international airline passengers problem with regression framing
import numpy
import matplotlib.pyplot as plt
from pandas import read_csv
import math
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error
# convert an array of values into a dataset matrix
def create_dataset(dataset, look_back=1):
dataX, dataY = [], []
for i in range(len(dataset)-look_back-1):
a = dataset[i:(i+look_back), 0]
dataX.append(a)
dataY.append(dataset[i + look_back, 0])
return numpy.array(dataX), numpy.array(dataY)
# fix …Run Code Online (Sandbox Code Playgroud) 我想分割一堆图像,因此必须训练一些分类器。为此,我必须为我的形象创造基本事实。到目前为止我是这样做的:
有没有更好/更直接的方法来做到这一点?(注意:我不想使用预分割的数据集,我想创建自己的数据集)
当我使用 Keras 运行此代码时:
networkDrive = Input(batch_shape=(1,length,1))
network = SimpleRNN(3, activation='tanh', stateful=False, return_sequences=True)(networkDrive)
generatorNetwork = Model(networkDrive, network)
predictions = generatorNetwork.predict(noInput, batch_size=length)
print(np.array(generatorNetwork.layers[1].get_weights()))
Run Code Online (Sandbox Code Playgroud)
我得到这个输出
[array([[ 0.91814435, 0.2490257 , 1.09242284]], dtype=float32)
array([[-0.42028981, 0.68996912, -0.58932084],
[-0.88647962, -0.17359462, 0.42897415],
[ 0.19367599, 0.70271438, 0.68460363]], dtype=float32)
array([ 0., 0., 0.], dtype=float32)]
Run Code Online (Sandbox Code Playgroud)
我想,(3,3) 矩阵是权重矩阵,将 RNN 单元相互连接起来,两个数组之一可能是偏差但第三个是什么?
我想使用keras + tensorboard.我的架构看起来像这样:
tbCallBack = TensorBoard(log_dir='./logs', histogram_freq=2, batch_size=32, write_graph=True, write_grads=True, write_images=True)
K.clear_session()
sess = tf.Session()
K.set_session(sess)
input_img = Input(shape=(augmented_train_data[0].shape[0], augmented_train_data[0].shape[1], 3))
x = Conv2D(8, (1, 1), padding='same', activation='relu', name="1x1_1")(input_img)
x = Conv2D(16, (3, 3), padding='same', activation='relu', name="3x3_1")(x)
x = Conv2D(32, (3, 3), padding='same', activation='relu', name="3x3_2")(x)
x = Conv2D(1, (1, 1), padding='same', activation='relu', name="1x1_2")(x)
x = Flatten()(x)
x = Dense(16, activation='relu')(x)
output = Dense(2)(x)
model = Model(inputs=input_img, outputs=output)
model.compile(optimizer='adam', loss='mean_squared_error')
#tbCallBack.set_model(model)
print(model.summary())
history = model.fit(augmented_train_data, augmented_train_label, validation_data=[augmented_validation_data, augmented_validation_label] ,epochs=20, batch_size=32, callbacks=[tbCallBack]) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 keras+tensorflow 实现高斯注意力,就像这里描述的那样:http ://akosiorek.github.io/ml/2017/10/14/visual-attention.html#mjx-eqn-att
为此,我编写了一个这样的自定义 Keras 层(与博客文章相比,我稍微调整了 gaussian_mask 方法):
def gaussian_mask(u, s, d, R, C, transpose=False):
"""
:param u: tf.Tensor, centre of the first Gaussian.
:param s: tf.Tensor, standard deviation of Gaussians.
:param d: tf.Tensor, shift between Gaussian centres.
:param R: int, number of rows in the mask, there is one Gaussian per row.
:param C: int, number of columns in the mask.
"""
# indices to create centres
R = tf.to_float(tf.reshape(tf.range(R), (R, 1, 1)))
C = tf.to_float(tf.reshape(tf.range(C), (1, …Run Code Online (Sandbox Code Playgroud) 我想使用FusedLocationProviderApi来获取最后的已知位置.我就像Google教程所说的那样,但似乎GoogleApiClient没有连接,至少它不会触发onConnected和onConnectionFailed方法.我希望你能提前帮助我.
import com.example.stoos.data.DataModelOrt;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks;
import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.InfoWindowAdapter;
import com.google.android.gms.maps.GoogleMap.OnInfoWindowClickListener;
import com.google.android.gms.maps.GoogleMap.OnMapLoadedCallback;
import com.google.android.gms.maps.GoogleMap.OnMarkerClickListener;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.MapsInitializer;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
.
.
.
public class OrtHinzufugen extends Activity implements
ConnectionCallbacks, OnConnectionFailedListener{
.
.
.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ort_auswahlen);
getActionBar().setDisplayHomeAsUpEnabled(true);
buildGoogleApiClient();
.
.
.
}
protected synchronized void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API) …Run Code Online (Sandbox Code Playgroud) 每当我启动一个试图访问键盘的 python 脚本时,例如,使用 OpenCV 的 waitKey() 方法,我都会收到以下错误:
Qt: Failed to create XKB context!
Use QT_XKB_CONFIG_ROOT environmental variable to provide an additional search path, add ':' as separator to provide several search paths and/or make sure that XKB configuration data directory contains recent enough contents, to update please see http://cgit.freedesktop.org/xkeyboard-config/ .
Run Code Online (Sandbox Code Playgroud)
当我安装键盘库(或 pynput,我不太确定)时,这个错误开始出现,并且在我卸载它们后仍然存在。我没有安装QT。此外,OpenCV 的 waitKey 和两个已安装的库都无法检测到任何关键事件(我怀疑这是连接的),但在我收到错误之前已经是这种情况。
我在 Ubuntu 18.04 上运行。
我该如何解决这个问题?
keras ×5
android ×4
python ×3
anaconda ×1
cuda ×1
google-pay ×1
google-play ×1
lstm ×1
numpy ×1
nvcc ×1
pytorch ×1
qt ×1
rnn ×1
tensorboard ×1
tensorflow ×1