目前我正在学习神经网络,我正在尝试创建一个可以训练识别手写字符的应用程序.对于这个问题,我使用前馈神经网络,当我训练它识别1,2或3个不同的字符时,它似乎有效.但是当我尝试使网络学习超过3个字符时,它将停留在40 - 60%左右的错误百分比.
我尝试了多层和更少/更多的神经元,但我似乎无法正确,现在我想知道前馈神经网络是否能够识别那么多信息.
一些统计:
网络类型:前馈神经网络
输入神经元: 100(10*10)网格用于绘制字符
输出神经元:重新定位的字符数量
有谁知道我的架构中可能存在的缺陷是什么?输入神经元太多了吗?前馈神经网络不具备角色定位能力吗?
ocr artificial-intelligence backpropagation neural-network feed-forward
我正在尝试创建案例类对象的RDD.例如.,
// sqlContext from the previous example is used in this example.
// createSchemaRDD is used to implicitly convert an RDD to a SchemaRDD.
import sqlContext.createSchemaRDD
val people: RDD[Person] = ... // An RDD of case class objects, from the previous example.
// The RDD is implicitly converted to a SchemaRDD by createSchemaRDD, allowing it to be stored using Parquet.
people.saveAsParquetFile("people.parquet")
Run Code Online (Sandbox Code Playgroud)
我试图通过给出来完成上一个例子中的部分
case class Person(name: String, age: Int)
// Create an RDD of Person objects and register it as a …Run Code Online (Sandbox Code Playgroud) 我有一个pandas数据框,如下所示:
X Y
71455 [334.0, 319.0, 298.0, 323.0]
71455 [3.0, 8.0, 13.0, 10.0]
57674 [54.0, 114.0, 124.0, 103.0]
Run Code Online (Sandbox Code Playgroud)
我想执行一个聚合groupby,以元素方式添加存储在Y列中的列表.代码我尝试过:
df.groupby('X').agg({'Y' : sum})
Run Code Online (Sandbox Code Playgroud)
结果如下:
Y
X
71455 [334.0, 319.0, 298.0, 323.0, 75.0, 55.0, ...
Run Code Online (Sandbox Code Playgroud)
所以它已经连接了列表而不是按元素加总.然而,预期的结果是:
X Y
71455 [337.0, 327.0, 311.0, 333.0]
57674 [54.0, 114.0, 124.0, 103.0]
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的方法,但无法按预期工作.
pyspark参考:spark.read.format("csv") 与 spark.read.csv 的性能差异
我以为我需要.options("inferSchema" , "true")并.option("header", "true")打印我的标题,但显然我仍然可以用标题打印我的 csv。
标头和架构有什么区别?我不太明白“inferSchema:自动推断列类型。它需要额外传递一次数据,默认情况下为 false”的含义。
在集合上滑动的方法返回给定大小的滑动窗口,其形式为X[Iterable[A]]X是集合的类型,A是元素类型.我经常需要两三个元素,我更喜欢将它们命名.一个丑陋的解决方法sliding(2)是:
points.sliding(2).foreach{ twoPoints =>
val (p1,p2) = (twoPoints.head,twoPoints.last)
//do something
}
Run Code Online (Sandbox Code Playgroud)
这很糟糕,只适用于两个元素.另请注意
(a,b) = (twoPoints(0),twoPoints(1))
Run Code Online (Sandbox Code Playgroud)
不起作用.
我在Apache Spark(使用pyspark)中训练了一个分类模型.我将模型存储在一个对象中LogisticRegressionModel.现在,我想对新数据做出预测.我想存储模型,并将其读回新程序以进行预测.知道如何存储模型吗?我想的可能是泡菜,但我是python和Spark的新手,所以我想听听社区的想法.
更新:我还需要一个决策树分类器.要阅读它,我需要导入DecisionTreeModelpyspark
我使用连接到集群,然后使用ssh将程序发送到集群
spark-submit --master yarn myProgram.py
Run Code Online (Sandbox Code Playgroud)
我想将结果保存在文本文件中,我尝试使用以下行:
counts.write.json("hdfs://home/myDir/text_file.txt")
counts.write.csv("hdfs://home/myDir/text_file.csv")
Run Code Online (Sandbox Code Playgroud)
但是,它们都不起作用.程序结束,我找不到文本文件myDir.你知道我怎么能这样做吗?
还有,有没有办法直接写到我的本地机器?
编辑:我发现该home目录不存在所以现在我将结果保存为:
counts.write.json("hdfs:///user/username/text_file.txt")
但是这会创建一个名为的目录text_file.txt,里面我有很多文件,里面有部分结果.但是我想要一个包含最终结果的文件.我有什么想法可以做到这一点?
来自 PyTorch文档:
b = torch.rand(10, requires_grad=True).cuda()
b.is_leaf
False
# b was created by the operation that cast a cpu Tensor into a cuda Tensor
e = torch.rand(10).cuda().requires_grad_()
e.is_leaf
True
# e requires gradients and has no operations creating it
f = torch.rand(10, requires_grad=True, device="cuda")
f.is_leaf
True
# f requires grad, has no operation creating it
Run Code Online (Sandbox Code Playgroud)
但是,当e和f叶张量也都是从 CPU 张量转换为 Cuda 张量(一种运算)时,为什么它们是 Cuda 张量?
是因为Tensor在就地操作之前e就被投进了Cuda吗?requires_grad_()
因为f是通过赋值device="cuda"而不是通过方法来转换的.cuda()?
我非常新的火花,并希望在数据帧的列执行操作,以替换所有,与列.
假设有一个数据帧x和列x4
x4
1,3435
1,6566
-0,34435
Run Code Online (Sandbox Code Playgroud)
我希望输出为
x4
1.3435
1.6566
-0.34435
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码是
import org.apache.spark.sql.Column
def replace = regexp_replace((x.x4,1,6566:String,1.6566:String)x.x4)
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误
import org.apache.spark.sql.Column
<console>:1: error: ')' expected but '.' found.
def replace = regexp_replace((train_df.x37,0,160430299:String,0.160430299:String)train_df.x37)
Run Code Online (Sandbox Code Playgroud)
任何有关语法,逻辑或任何其他合适方式的帮助都将非常感激
我知道Apache Spark是围绕弹性数据结构设计的,但是在运行的系统中是预期的故障还是这通常表明存在问题?
当我开始了扩展系统以不同的配置,我看到ExecutorLostFailure和No more replicas(见下文).系统恢复并且程序结束.
我是否应该关注这一点,我们通常可以采取哪些措施来避免这种情况; 或者这是因为遗嘱执行人数增加了吗?
18/05/18 23:59:00 WARN TaskSetManager: Lost task 87.0 in stage 4044.0 (TID 391338, ip-10-0-0-68.eu-west-1.compute.internal, executor 11): ExecutorLostFailure (executor 11 exited caused by one of the running tasks) Reason: Container marked as failed: container_1526667532988_0010_01_000012 on host: ip-10-0-0-68.eu-west-1.compute.internal. Exit status: -100. Diagnostics: Container released on a *lost* node
18/05/18 23:59:00 WARN BlockManagerMasterEndpoint: No more replicas available for rdd_193_7 !
18/05/18 23:59:00 WARN BlockManagerMasterEndpoint: No more replicas available for rdd_582_50 !
18/05/18 23:59:00 …Run Code Online (Sandbox Code Playgroud) apache-spark ×6
python ×4
scala ×3
pyspark ×2
aggregate ×1
collections ×1
csv ×1
feed-forward ×1
hdfs ×1
header ×1
list ×1
ocr ×1
pandas ×1
pytorch ×1
schema ×1
spark-submit ×1