上一个问题的延续:Tensorflow - TypeError: 'int' object is not iterable
我的训练数据是一个列表列表,每个列表包含 1000 个浮点数。例如,x_train[0] =
[0.0, 0.0, 0.1, 0.25, 0.5, ...]
Run Code Online (Sandbox Code Playgroud)
这是我的模型:
model = Sequential()
model.add(LSTM(128, activation='relu',
input_shape=(1000, 1), return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(128, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(1, activation='sigmoid'))
opt = tf.keras.optimizers.Adam(lr=1e-3, decay=1e-5)
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=3, validation_data=(x_test, y_test))
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Traceback (most recent call last):
File "C:\Users\bencu\Desktop\ProjectFiles\Code\Program.py", line 88, in FitModel
model.fit(x_train, y_train, epochs=3, validation_data=(x_test, y_test))
File "C:\Users\bencu\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 728, in fit
use_multiprocessing=use_multiprocessing)
File "C:\Users\bencu\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 224, in fit …Run Code Online (Sandbox Code Playgroud) 我有一个屏幕组件,它有一个getPosition()按时间间隔每秒调用一次的函数。
如果stopRace()调用该函数或者用户按下物理/图形后退按钮,我想清除此间隔,以便它不会继续在后台运行。
为此,我尝试将间隔 ID 存储在raceUpdateInterval状态变量中。
然后我clearInterval(raceUpdateInterval)在stopRace()函数和cleanup()函数中使用清除这个间隔。
当我调用该stopRace()函数,然后按返回时,间隔被清除。我知道这一点是因为我的控制台记录:
Still Running
Still Running
Still Running
Reached cleanup function
Run Code Online (Sandbox Code Playgroud)
但是,如果我按后退按钮,间隔不会清除。相反,我的控制台记录:
Still Running
Still Running
Still Running
Reached cleanup function
Still Running
Run Code Online (Sandbox Code Playgroud)
随后是包含以下建议的内存泄漏警告:
To fix, cancel all subscriptions and asynchronous tasks in %s.%s, a useEffect cleanup function
Run Code Online (Sandbox Code Playgroud)
这正是我想要做的,但由于某种超出我理解的原因而不起作用。
这是该组件的相关代码:
const RaceScreen = ({route, navigation}) => {
const [raceUpdateInterval, setRaceUpdateInterval] = useState(0);
useEffect(function() {
return function cleanup() {
console.log('Reached cleanup function') …Run Code Online (Sandbox Code Playgroud) 我知道我可以导入包并访问许多已经编码的类,我可以使用它来制作我的程序.但是,如果它们允许您访问许多不同的功能,为什么不直接导入它们呢?我知道有成千上万的进口产品,我知道这样做是不常见的(我不知道有谁这样做,但也许我错了)但是为什么人们不只是将它们全部导入?它会让程序太慢吗?或者效率低下?我只是好奇.谢谢.
我有一段代码,有时运行良好,有时运行不佳。我实际上没有更改任何内容,但有时文本字段会出现,有时不会出现。代码怎么可能每次运行都不同?对我来说完全是无稽之谈。我对java相当陌生,但我当然认为这是不可能的......
如果有人可以帮助我,您能否提供修复程序,以及为什么会发生这种情况?因为我想完全理解这个问题。
这是我的代码:
import javax.swing.*;
public class Window {
JFrame frame;
JPanel panel;
public Window(int x, int y, String t, boolean isHomePage){
int xSize = x;
int ySize = y;
String title = t;
frame = new JFrame();
frame.setSize(xSize, ySize);
frame.setLocationRelativeTo(null);
frame.setTitle(title);
frame.setVisible(true);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
frame.add(panel);
panel.setLayout(null);
panel.setVisible(true);
if (isHomePage){
homePage();
}
}
public void homePage(){
JLabel usernameLabel = new JLabel();
usernameLabel.setText("Please enter your username:");
usernameLabel.setBounds(0,100,300,20);
panel.add(usernameLabel);
usernameLabel.setVisible(true);
JTextField textbox = new JTextField();
textbox.setVisible(true);
textbox.setBounds(280,100,400,20);
panel.add(textbox); …Run Code Online (Sandbox Code Playgroud) (预警 - 我知道有类似的问题,但我相信我的问题不同,因为我希望将花色和排名存储在不同的数组中。如果社区有不同的看法,那么我会很乐意删除该问题。)
我正在尝试随机生成一副牌(也称为洗牌)。在函数generateCard中,我生成一个等级和一个花色。所以它本质上生成一张单卡。我还没有包含任何返回,因为我不知道如何返回两个不同的值,特别是因为它们具有不同的数据类型。我真的很想这样做,所以如果答案可以抵制建议更有效或标准的方法的冲动,我将不胜感激。我是一个初学者,了解如何让不起作用的东西发挥作用,这对我很有帮助。
综上所述。我的问题是,如何首先返回两个不同数据类型的项目?其次,分别收集返回并将它们存储在两个不同的数组中(deckSuitArray 和 DeckRankArray)?
这是我的代码:
package texasHoldem;
import java.util.Random;
public class SingleRound{
public static void main(String[] args) {
char[] deckSuitArray = new char[51];
int[] deckRankArray = new int[51];
for(int i = 0; i < 53; i++){
generateCard();
//wish to cycle though arrays storing random cards at different positions
}
}
public static void generateCard(){ //will remove void
Random ran = new Random();
char suit = '0';
int randomRank = ran.nextInt(13)+1;
System.out.println(randomRank);
int randomSuit = ran.nextInt(4)+1;
switch (randomSuit){ …Run Code Online (Sandbox Code Playgroud) 例如。假设我有一个名为的函数recursionFunction。在此函数中,我设置了一个变量,该变量userInput等于用户输入的值,然后调用函数本身。递归中输入的用户输入是否会更改原始变量?
我的查询来自对范围和地址的了解。如果函数不同,则不应将变量识别为同一变量。但这是“相同的功能”,不是吗?它在RAM中应该具有相同的地址,因此将被覆盖吗?或尽管具有相同的变量名称,但在相同的函数中,它是否将没有相同的地址?
忽略这样的函数将导致无限循环的事实。让我们假装我有一种停止程序的方法。这不是一个意见问题,很明显只会像我描述的那样发生。先感谢您。
我主要使用Java工作,并且尝试学习C ++,这就是为什么包含这些标记的原因。
编辑:模拟代码(再次,我知道会发生无限循环,让我们假装它不会)递归是否会更改原始调用中的userInput变量?
int recursionFunction()
{
int userInput;
std::cin >> userInput;
recursionFunction();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Haskell编写程序,该程序需要简单的保存和加载功能。当我调用保存功能时,我需要将一个字符串放入文本文件中。调用load时,需要将字符串从文本文件中拉出。
我知道Haskell中围绕IO的复杂性。从网上的一些阅读中,我发现可以通过“主要”功能来实现。但是,我似乎只能实现保存或加载……不能同时实现。
例如,我目前具有以下功能,用于从文件读取。
main = do
contents <- readFile "Test.txt"
putStrLn contents
Run Code Online (Sandbox Code Playgroud)
我还如何实现写功能?是否必须在同一功能内?还是可以分开?另外,有没有办法让我命名函数load / save?当我实际上想调用“加载”或“保存”时必须调用“ main”是很烦的。
我在网上找不到有人同时实现这两个功能的任何示例,而我发现的任何一个实现都总是通过主要功能执行。
任何建议将不胜感激。
java ×4
arrays ×1
c++ ×1
class ×1
do-notation ×1
function ×1
haskell ×1
io ×1
io-monad ×1
javascript ×1
jframe ×1
jlabel ×1
jtextfield ×1
keras ×1
lstm ×1
methods ×1
package ×1
python ×1
random ×1
react-hooks ×1
react-native ×1
recursion ×1
return ×1
swing ×1
tensorflow ×1