As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm looking for an diagram tool for producing diagrams from text. I only really need sequence and state type diagrams for now, but I'm curious as to what people would recommend? I need something which is standalone, not a web based tool that works on Linux, OSX and Windows.
I'm not positive what you mean by "producing diagrams from text", but if you mean a tool where diagrams are specified by a text file, Graphviz is good. If you mean something that literally converts ascii art like
+--------+ +-------+ +-------+
| | --+ ditaa +--> | |
| Text | +-------+ |diagram|
|Document| |!magic!| | |
| {d}| | | | |
+---+----+ +-------+ +-------+
: ^
| Lots of work |
+-------------------------+
to a graphic:
You can try ditaa (that ascii art is from their website, so it's a good example of the input format it expects)
Look at PlantUML, LaTeX+MetaUML, sdedit, TextUML, yUML, ...
There is a plenty of quite good tools.
I recommend TextDiagram http://weidagang.github.com/text-diagram/. It creates UML sequence diagram from pure text.
Example input
object April Todd Monad
note left of April: Lunch is ready
April->Todd: Todd, what are you doing?
note right of Todd: Programming #_#
Todd->April: Well, I'm programming.
April->Monad: And you?
Monad->April: I'm reading book.
April->Monad: Good boy!
note right of Monad: Smile ^_^
produces:
+-------+ +-------+ +-------+
| April | | Todd | | Monad |
+-------+ +-------+ +-------+
-----------------\ | | |
| Lunch is ready |-| | |
------------------ | | |
| | |
| Todd, what are you doing? | |
|------------------------------>| |
| | ------------------\ |
| |-| Programming #_# | |
| | ------------------- |
| | |
| Well, I'm programming. | |
|<------------------------------| |
| | |
| And you? | |
|------------------------------------------------------>|
| | |
| | I'm reading book. |
|<------------------------------------------------------|
| | |
| Good boy! | |
|------------------------------------------------------>|
| | | ------------\
| | |-| Smile ^_^ |
| | | -------------
| | |
I'd recomment PlantUML. It is an excellent tools that lets you draw all kinds of UML diagrams from simple textual specification.
EventStudio supports generation of sequence diagrams and collaboration diagrams from text input.
Related
I've a neural network that looks something like this.
input_layer_1 input_layer_2
| |
| |
some_stuff some_other_stuff
| /|
| _________________/ |
| / |
multiply |
| |
| |
output_1 output_2
Is there any possibility to cut the connection between some_other_stuff and multiplyduring back-propagation? I was thinking of dropout but this also applied during forward-propagation
So during back-propagation it should be like two networks:
input_layer_1 input_layer_2
| |
| |
some_stuff some_other_stuff
| |
| |
| |
multiply |
| |
| |
output_1 output_2
Output_1 errors only influence weight adjustment in the left part of the network and Output_2 errors only on the right part.
I'm using keras with tensorflow so maybe there are some functions/Layers that achieve this.
Thanks.
If anyone wonders, you could use K.gradient_stop() inside a Lambda-Layer
Using Link Grammar I can have the syntaxic parse of sentences something like the following:
+-------------------Xp------------------+
+------->WV------->+------Ost------+ |
+-----Wd----+ | +----Ds**x---+ |
| +Ds**c+--Ss--+ +-PHc+---A---+ |
| | | | | | | |
LEFT-WALL a koala.n is.v a cute.a animal.n .
+---------------------Xp--------------------+
+------->WV------>+---------Osm--------+ |
+-----Wd----+ | +------Ds**x------+ |
| +Ds**c+--Ss-+ +--PHc-+-----A----+ |
| | | | | | | |
LEFT-WALL a wolf.n is.v a dangerous.a animal.n .
+--------------------Xp--------------------+
+------->WV------>+--------Ost--------+ |
+-----Wd----+ | +------Ds**x-----+ |
| +Ds**c+--Ss-+ +--PHc-+----A----+ |
| | | | | | | |
LEFT-WALL a dog.n is.v a faithful.a animal.n .
+-----------------------Xp----------------------+
+------->WV------->+----------Osm----------+ |
+-----Wd----+ | +-------Ds**x-------+ |
| +Ds**c+--Ss--+ +--PHv--+-----A-----+ |
| | | | | | | |
LEFT-WALL a monkey.n is.v an independant.a animal.n .
The problem with this that it's not possible AFAIK to make sens
of that output programmatically; It seems like the way to go
is to convert that syntaxic output to a dependency parse tree
how can I achieve that?
You may want to look at RelEx (at GitHub).
From link-grammar at Wikipedia (emphasis mine):
The semantic relationship extractor RelEx, layered on top of the
Link Grammar library, generates a dependency grammar output by
making explicit the semantic relationships between words in a
sentence. Its output can be classified as being at a level between
that of SSyntR and DSyntR of Meaning-Text Theory. It also provides
framing/grounding, anaphora resolution, head-word identification,
lexical chunking, part-of-speech identification, and tagging,
including entity, date, money, gender, etc. tagging. It includes a
compatibility mode to generate dependency output compatible with
the Stanford parser, and Penn Treebank-compatible POS tagging.
I am trying to create a excel file from Matlab with data for multiple cases. The excel file should look something like this:
Case #|____________________________Line 1_____________________________________________|_______ Line 2 _____________ ...
|______Node 1______|______Node 2______|______Node 3______|...|______OverAll_____|
| Min|Max|Mean|Std | Min|Max|Mean|Std | Min|Max|Mean|Std |...| Min|Max|Mean|Std |
|_______________________________________________________________________________|
1| | | | | | | | | | | | | | | | |
2| | | | | | | | | | | | | | | | |
I have the data for each Line>Node in a structured format which I can read through a for loop for a given case. How can I write the values in an excel file? I don't know how to get the next available cell range where I need to place the value. Also, how can I generate such header text dynamically. The number of Nodes and properties (Min/Max/Mean/Std) might change in future.
Thank you for your help. Any suitable tutorial which teaches little advanced xlswrite commands will also help.
Use Activexserver to import whole Excel Functionality in MATLAB using
hApp = actxserver('Excel.Application')
Rest you can use all methods available to Excel Application in MATLAB
I usually have my Vim screen split into two vertical windows, each of which may be further horizontally split. Sometimes, I want to add or delete a vertical window. Is there a way to detect how many top-level vertical splits there are and add or remove vsplits as necessary?
For example, suppose my screen looks like this:
+--------+--------+
| | |
| | |
+--------+ |
| | |
| | |
| +--------+
| | |
+--------+--------+
I want :Columns 1 to give me
+--------+
| |
| |
+--------+
| |
| |
| |
| |
+--------+
by closing the two right-most windows.
I want :Columns 2 to do nothing, detecting that two columns are already open.
And I want :Columns 3 to give me
+--------+--------+--------+
| | | |
| | | |
+--------+ | |
| | | |
| | | |
| +--------+ |
| | | |
+--------+--------+--------+
I am fine if the function ignores vertical splits within horizontal splits. For example, if I had
+--------+
| |
| |
+---+----+
| | |
| | |
| | |
| | |
+---+----+
and I ran :Columns 2, I would get
+--------+--------+
| | |
| | |
+---+----+ |
| | | |
| | | |
| | | |
| | | |
+---+----+--------+
There is indeed a way, but it is involved; the first step is to count the currently-open vertical windows, and I don’t know of any built-in function that facilitates this. The working approach I found to it is basically to start at the first window (the top of the first — if not the entirety of the first — vertical split), and to then, using wincmd l, move to the next window to the right for as long as wincmd l moves to a new window, adding each to a count of open vertical windows including the first one. (I think this is what Gary Fixler referred to in the comments on the question.)
I started trying to write the code for posting here, and it grew to become larger than any function I would want to put in my ~/.vimrc, so I ended up turning it into a plugin which takes the above approach and provides the :Columns command; see Columcille (on vim.org at http://www.vim.org/scripts/script.php?script_id=4742.) The plugin also provides a command for similarly managing horizontal split windows: :Rows divides the current column (or the main window, if there are no open vertical splits) into the specified number of “rows.”
Consider you want to insert Errors and Warnings into the same database entity. How would you call the table?
Example:
+----+-------+---------+
| ID | TYPE | MESSAGE |
+----+-------+---------+
| 1 | ERROR | FOO |
| 2 | WARNG | BAR |
| 3 | ERROR | TXT |
+----+-------+---------+
Message would be my best personal guess, but English is not my mother tounge.
I would use Anomaly. It is also a nice Matrix reference, so some users may chuckle. :)
A collegue thinks Signal would be the generic term from a process point of view.