鱼C论坛

 找回密码
 立即注册
查看: 190|回复: 11

[已解决]Tensorflow编码问题

[复制链接]
发表于 2024-8-19 17:05:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
就是最近我在学coursera的deep Learning课程,这玩意要花钱的,一个月49美金吧,可以访问任何课程,完成所有课程和考试就能拿证书,一共五个证书五门课

我拿到第一个证书了,在学第二个
现在马上第二个也要拿到了,最后一个编程考试
众所周知,我没有任何权限修改,添加和删除任何一个函数或者参数,但是如图,这里显示有个叫"new_y_train"的玩意未被定义,这咋回事啊??
根据规定,我不能放我已经编写好的代码,所以我把我的代码删掉了(Anyway,这也不我编码不编码的事情,因为就算我啥都不写,运行以后,还是显示那个死玩意没被定义)

代码部分

代码部分

报错部分

报错部分


所以,求各位大佬帮我看看
最佳答案
2024-8-20 14:47:38
是不是前面有代码块没有运行导致的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-8-19 18:15:01 | 显示全部楼层
课程简介有吗,感觉蛮有意思的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-19 18:19:11 | 显示全部楼层
出现 NameError: name 'new_y_train' is not defined 这个错误通常表示在尝试调用 new_y_train 这个变量时,它还没有被定义或者在当前作用域内不可见。

看上去你已经意识到这个变量在执行 compute_total_loss_test 函数时应该已经定义好了,但从你提供的信息来看,这个变量确实没有在可见的代码范围内定义。

解决方案:
  • 检查变量定义的位置:确保 new_y_train 在调用它之前已经被正确定义,并且处在可以访问的作用域内。如果它是在某个函数或条件块内被定义的,那么它就不会在这些作用域之外可见。
  • 确保执行顺序正确:程序中变量定义和使用的顺序也非常重要。如果你在定义 new_y_train 之前就尝试调用了 compute_total_loss_test,那么会遇到这样的错误。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-19 18:46:59 | 显示全部楼层
哎呀,这种情况真是让人恼火!就像我在鱼缸里游来游去,却发现水管没通,愣是喝不到水。

首先,“new_y_train”没定义的问题,通常意味着你的代码中某个地方需要用到这个变量,但是它还没有被赋值。想象一下,你在厨房做饭,突然发现你要的调料没有准备好,结果做出来的菜味道变了……简直不可思议!

既然你提到不能修改、添加或删除函数和参数,那我们可以先检查一下几个可能的地方:

1. **检查指令**:有时候课程会给出初始化代码(比如一些数据预处理的步骤),确保你已经完整执行了所有的代码,特别是那些创建“new_y_train”的部分。

2. **重启环境**:有时运行环境可能会出现问题,就像你的一条鱼在水里打了个盹。尝试重启你的编程环境(比如 Jupyter Notebook 或者 Google Colab),再重新运行所有必要的代码段。

3. **查看文档和提示**:课程的说明文档、讨论区或者同学们的笔记,可能都会有关于“new_y_train”应该如何定义的信息。有时候,课程内容就像鱼食,大家都在捡,看看能不能找到些线索。

4. **对照示例**:如果你有课程资料中提供的示例代码,试着对照一下,看是否遗漏了某些步骤。

祝你顺利完成最后的编程考试,拿下第二个证书!加油!如果还有其他问题,随时问我,咱们一起闯过这关!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-20 08:57:40 | 显示全部楼层
不二如是 发表于 2024-8-19 18:15
课程简介有吗,感觉蛮有意思的

有哇,这里
21323.jpg
就是学完了能拿证书
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-20 08:59:30 | 显示全部楼层
不二如是 发表于 2024-8-19 18:19
出现 NameError: name 'new_y_train' is not defined 这个错误通常表示在尝试调用 new_y_train 这个变量时 ...

这就是我为啥觉得奇怪,因为jupyter notebook(是叫这个名字吗?)这个网页被他们改了一下,所以我没有权限编辑或者删除或者添加任何函数,甚至任何一行注释,所以我就不知道哪个new_y_train是咋没的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-20 09:01:54 | 显示全部楼层
FishC 发表于 2024-8-19 18:46
哎呀,这种情况真是让人恼火!就像我在鱼缸里游来游去,却发现水管没通,愣是喝不到水。

首先,“new_y_ ...

一一回复吧
第一条,这个我很确定,在运行这个以前(第六个框子)其他的测试都通过了,所以应该是没有问题的
第二条,这个也试过了,不只是试过,我还尝试过还原到几天前的版本,但是仍然无效
第三条,难过啊啊啊啊,我好像是第一个遇到这个情况的,已经去他们的论坛发帖子问了,但是还是没回复
第四条,没有示例代码,如果有,我不至于这么几天都没搞好了,所以很无奈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-20 09:03:11 | 显示全部楼层
小鸭不学习 发表于 2024-08-20 09:01
一一回复吧
第一条,这个我很确定,在运行这个以前( ...


哎呀,这下可真是让人抓狂,搞得我这才智过鱼的大脑袋瓜都开始冒泡了。不过,别急!咱们一步一步来梳理一下,说不定能发现问题的小马脚。

### 检查相关变量的作用域
既然前面的所有测试都通过了,那说明你的代码总体上是OK的。但是在最后一步才遇到“new_y_train未定义”的问题,这很可能是因为某些变量作用域的问题。例如:

- **局部变量 vs 全局变量**:确认“new_y_train”是否在函数内部或者条件语句内定义,从而导致在该作用域外不可见。
- **条件语句**:看看是否有某些条件语句(`if`、`else` 等)可能导致“new_y_train”在某些情况下没有被定义。

### 添加调试语句
如果不允许直接在代码中修改,那我们可以通过添加一些调试语句来检查变量的状态。例如使用 `print` 语句来确认“new_y_train”是否在合适的地方被创建。不过这也是需要在允许的情况下一点小操作。

### 用 try-except 捕捉异常
如果可以加入调试代码,可以尝试用`try-except`结构来捕捉异常并打印一些信息:
try:
    # 这里放你调用 new_y_train 的代码
    result = compute_total_loss_test(new_y_train)
except NameError as e:
    print(f"捕捉到 NameError: {e}")
    print("new_y_train 没有被定义,可能需要在其他地方检查它的定义情况。")

### 寻找数据预处理步骤
检查一下之前的代码,看看数据预处理部分是否有创建“new_y_train”的步骤,或者是否有某个函数应该返回该变量。例如,数据集分割、数据增强等部分是否漏写了某些步骤。

### 再次求助课程支持
既然论坛暂时还没有人回复,那你可以检查一下课程是否有其他的支持渠道(例如邮件、课程助手等)。有时候这些问题可能已经记录在案,只是需要更多的反馈渠道来获得帮助。

### 临时变量命名
有时候变量名可能有拼写错误或者其他原因导致未定义。检查一下代码中是否有相似命名的变量,例如“new_y_train”和“new_y_trian”(看起来相似但实际上不同的情况)。

希望这些方法能让你找出问题所在,别忘了,我们一起咬紧牙关,加油干,也许问题就能迎刃而解啦!继续努力,加油拿下第二个证书!如果有进一步的信息,可以随时告诉我,我们继续分析~

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-20 09:03:48 | 显示全部楼层
小鸭不学习 发表于 2024-08-20 08:57
有哇,这里

就是学完了能拿证书


明白了,咱们继续来看看这个问题。

首先,确保你已经完整执行了所有的代码段,特别是那些初始化和预处理数据的部分。通常,像“new_y_train”这样的变量应该在某个地方被定义和赋值。

如果你能提供更多的上下文,比如“new_y_train”应该在什么地方被使用,或者它可能从哪里来,这会更有帮助。不过,基于你的描述,我可以给出一些常见的检查点:

1. **数据预处理**:检查是否有一个代码段负责创建“new_y_train”。通常,这可能是从原始数据中提取或转换而来的。

2. **函数调用**:确保所有相关的函数都被正确调用,并且这些函数内部没有遗漏定义“new_y_train”的步骤。

3. **变量命名**:有时候,变量名可能会拼错或者大小写不一致,导致找不到定义。仔细检查一下所有相关代码段,确保变量名一致。

4. **代码顺序**:确保代码的执行顺序正确。有时候,变量的定义可能在后面,而你在前面就尝试使用它了。

如果你能提供更多的代码片段或者具体的错误信息,我可以更有针对性地帮你解决问题。祝你顺利完成课程,拿到证书!加油!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-20 14:47:38 | 显示全部楼层    本楼为最佳答案   
是不是前面有代码块没有运行导致的?

点评

或者你试试直接全部自动运行  发表于 2024-8-20 14:48
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-23 09:07:05 | 显示全部楼层
yinda_peng 发表于 2024-8-20 14:47
是不是前面有代码块没有运行导致的?

这个有用了!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 19:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表